:root{--ink:#172033;--muted:#687386;--line:#e4e8ef;--surface:#fff;--canvas:#f4f6f9;--nav:#14213a;--nav-soft:#1d2d4d;--primary:#4355d9;--primary-dark:#3344c3;--teal:#10a39a;--green:#18865c;--amber:#d98b19;--red:#c44343;--shadow:0 12px 35px rgba(30,42,66,.07);--radius:18px}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Vazirmatn,IRANSansX,Tahoma,Arial,sans-serif;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 0 0 auto;width:260px;background:var(--nav);color:#dce5f6;padding:28px 20px;display:flex;flex-direction:column;box-shadow:-10px 0 35px rgba(10,21,42,.14)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(140deg,#5c70f4,#19afa2);color:#fff;font-weight:900;letter-spacing:-1px;box-shadow:0 8px 24px rgba(69,87,218,.3)}.brand strong,.brand small{display:block}.brand strong{font-size:1.15rem;color:#fff}.brand small{color:#a9b6cc;font-size:.72rem}.brand.compact .brand-mark{width:43px;height:43px;border-radius:13px}.nav{display:grid;gap:7px;margin-top:46px}.nav a{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:11px;color:#abb7cc;font-weight:600;transition:.2s}.nav a span{font-size:1.25rem;width:22px;text-align:center}.nav a:hover,.nav a.active{background:var(--nav-soft);color:#fff}.nav a.active{box-shadow:inset -3px 0 #57d4c8}.sidebar-footer{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.09)}.user-chip{display:flex;align-items:center;gap:10px;margin-bottom:10px}.avatar{width:38px;height:38px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#e5e9ff;color:var(--primary);font-weight:800}.sidebar .avatar{background:rgba(91,113,244,.25);color:#c7d0ff}.link-button{border:0;background:none;padding:3px;color:var(--primary);font-size:.84rem}.sidebar .link-button{color:#93a1ba}.link-button.danger{color:var(--red)}.main{margin-right:260px;padding:28px 34px 60px;max-width:1700px}.topbar{display:flex;align-items:center;min-height:66px;margin-bottom:24px}.topbar h1{font-size:1.45rem;margin:0}.topbar p{margin:1px 0 0;color:var(--muted);font-size:.82rem}.menu-button{display:none;border:0;background:var(--surface);border-radius:10px;width:42px;height:42px;margin-left:12px}.panel{background:var(--surface);border:1px solid rgba(226,231,239,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-head h2{font-size:1.05rem;margin:0}.panel-head p{color:var(--muted);font-size:.8rem;margin:2px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{display:flex;align-items:center;gap:15px;background:var(--surface);padding:20px;border:1px solid rgba(226,231,239,.9);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card small,.stat-card strong{display:block}.stat-card small{font-size:.76rem;color:var(--muted)}.stat-card strong{font-size:1.85rem;line-height:1.2;margin-top:4px}.stat-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;font-size:1.35rem}.stat-icon.indigo{background:#e9ebff;color:#485bd7}.stat-icon.teal{background:#dcf7f4;color:#0b8c84}.stat-icon.amber{background:#fff1d8;color:#c77c11}.stat-icon.green{background:#dff5e9;color:#18865c}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:9px 15px;font-weight:700;font-size:.85rem;transition:.18s;white-space:nowrap}.button.primary{background:var(--primary);color:#fff;box-shadow:0 7px 18px rgba(67,85,217,.2)}.button.primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button.secondary:hover{border-color:#bdc5d2;background:#fafbfc}.button.wide{width:100%;padding:12px}.alert{padding:12px 16px;border-radius:11px;margin:0 0 18px;font-size:.88rem;border:1px solid}.alert.success{background:#e7f8ef;color:#126d4a;border-color:#b8ead0}.alert.error{background:#fff0f0;color:#9f3030;border-color:#f3c4c4}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}th{text-align:right;color:#768194;font-size:.72rem;font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 12px;border-bottom:1px solid #edf0f4;font-size:.85rem;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfc}.cell-note{display:block;color:var(--muted);font-size:.71rem;margin-top:2px}.badge{display:inline-flex;padding:3px 9px;border-radius:99px;font-size:.72rem;font-weight:700;white-space:nowrap}.badge.active,.badge.completed{background:#def5e9;color:#167551}.badge.draft,.badge.pending{background:#fff0d7;color:#a8670a}.badge.closed{background:#eceff4;color:#667085}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem}.progress{height:6px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-top:6px}.progress i,.mini-progress i,.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#6f80ef);border-radius:inherit}.text-link{color:var(--primary);font-weight:700;font-size:.8rem}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.empty>span{width:64px;height:64px;display:grid;place-items:center;margin:0 auto;background:#eef0ff;color:var(--primary);border-radius:20px;font-size:1.6rem}.empty h3{color:var(--ink);margin:13px 0 2px}.empty p{font-size:.85rem;margin:0 0 18px}.empty.compact{padding:25px}.empty.compact p{margin:0}.split-layout{display:flex;gap:20px;align-items:flex-start}.form-panel{width:330px;flex:0 0 auto}.grow{flex:1;min-width:0}.stack-form{display:grid;gap:14px}.stack-form label,.campaign-form>label,.form-grid label,.weight-grid label,.comment-box label{display:grid;gap:5px;color:#3d4656;font-size:.78rem;font-weight:700}.stack-form label>span,.form-grid label>span{color:var(--red)}input,select,textarea{width:100%;border:1px solid #d9dee7;background:#fff;color:var(--ink);border-radius:9px;padding:9px 11px;outline:none;transition:.18s}input:focus,select:focus,textarea:focus{border-color:#7585ea;box-shadow:0 0 0 3px rgba(67,85,217,.1)}textarea{resize:vertical}input[type=date],input[type=number],input[type=tel]{direction:ltr;text-align:left}.person{display:flex;align-items:center;gap:9px}.muted-row{opacity:.55}.dual-forms{display:grid;grid-template-columns:1fr 1.45fr;gap:16px}.inline-card{background:#f8f9fc;border:1px solid var(--line);border-radius:14px;padding:17px}.inline-card h3{margin:0;font-size:.9rem}.competency-block{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:12px}.competency-title{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;background:#f8f9fc}.competency-title h3{font-size:.9rem;margin:0}.competency-title p{font-size:.72rem;color:var(--muted);margin:1px 0 0}.competency-title>span{font-size:.72rem;color:var(--muted);white-space:nowrap}.question-list{list-style:none;margin:0;padding:0}.question-list li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 16px;border-top:1px solid #edf0f4;font-size:.83rem}.question-list li>div{display:flex;align-items:center;gap:10px;white-space:nowrap}.question-list small{color:var(--muted)}.question-list .disabled{text-decoration:line-through;opacity:.5}.create-disclosure summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.create-disclosure summary::-webkit-details-marker{display:none}.create-disclosure summary strong,.create-disclosure summary small{display:block}.create-disclosure summary small{font-size:.78rem;color:var(--muted);font-weight:400}.create-disclosure[open] summary{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}.campaign-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:13px}fieldset{border:1px solid var(--line);border-radius:13px;padding:15px}legend{font-weight:800;font-size:.82rem;padding:0 7px}.checkbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.check-card{display:flex;align-items:center;gap:9px;background:#fafbfc;border:1px solid var(--line);border-radius:10px;padding:9px;cursor:pointer}.check-card input{width:auto;accent-color:var(--primary)}.check-card strong,.check-card small{display:block}.check-card strong{font-size:.78rem}.check-card small{font-size:.67rem;color:var(--muted)}.weight-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.hint{font-size:.7rem;color:var(--muted);margin:8px 0 0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.campaign-card{padding:17px;border:1px solid var(--line);border-radius:14px;transition:.18s}.campaign-card:hover{transform:translateY(-2px);border-color:#bec6ef;box-shadow:0 10px 24px rgba(30,42,66,.08)}.campaign-card-top{display:flex;justify-content:space-between}.campaign-card h3{font-size:.94rem;margin:14px 0 2px}.campaign-card p,.campaign-card small{font-size:.72rem;color:var(--muted);margin:0}.campaign-card>.progress{margin:13px 0 5px}.campaign-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.campaign-hero h2{margin:8px 0 0;font-size:1.25rem}.campaign-hero p{color:var(--muted);font-size:.82rem;margin:3px 0}.eyebrow{font-size:.72rem;color:var(--primary);font-weight:800}.campaign-hero .eyebrow{display:flex;align-items:center;gap:10px;color:var(--muted)}.status-form{display:flex;gap:7px}.campaign-columns .form-panel{width:365px}.subject-list{display:grid}.subject-list a{display:flex;align-items:center;gap:11px;padding:12px 4px;border-bottom:1px solid var(--line)}.subject-list a:last-child{border-bottom:0}.subject-list a>span:nth-child(2){flex:1}.subject-list strong,.subject-list small{display:block}.subject-list strong{font-size:.83rem}.subject-list small{font-size:.7rem;color:var(--muted)}.subject-list b{font-size:.75rem;color:var(--primary)}.copy-button{border:1px solid #cdd3df;background:#fff;color:var(--primary);border-radius:8px;padding:5px 9px;font-size:.74rem;font-weight:700}.copy-button:hover{background:#f3f5ff}.copy-button.sms{color:#0a827b;border-color:#a8ded9}.action-row{display:flex;align-items:center;gap:5px}.muted{color:var(--muted);font-size:.72rem}.report-header{display:flex;justify-content:space-between;align-items:center}.report-header h2{font-size:1.45rem;margin:2px 0}.report-header p{color:var(--muted);margin:0;font-size:.82rem}.report-score-grid{display:grid;grid-template-columns:270px 1fr;gap:16px}.overall-score{position:relative;overflow:hidden;min-height:225px;display:flex;flex-direction:column;justify-content:center;align-items:center}.overall-score>span,.overall-score>small{color:var(--muted);font-size:.78rem}.overall-score>strong{font-size:3.2rem;line-height:1.2}.score-ring{position:absolute;width:185px;height:185px;border:13px solid #edf0f8;border-radius:50%;opacity:.6}.role-score-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.role-score{margin:0;min-height:104px;position:relative}.role-score>div:first-child{display:flex;justify-content:space-between;gap:10px}.role-score span{font-size:.82rem;font-weight:700}.role-score small{font-size:.68rem;color:var(--muted)}.role-score>strong{font-size:1.6rem;display:block;margin-top:4px}.role-score .locked{font-size:.9rem;color:var(--muted)}.role-score p{font-size:.68rem;color:var(--muted);margin:0}.mini-progress{height:4px;background:#edf0f5;border-radius:99px;overflow:hidden}.competency-scores{display:grid;gap:14px}.competency-scores>div{display:grid;grid-template-columns:190px 1fr 50px;align-items:center;gap:12px;font-size:.8rem}.competency-scores .bar{height:9px;background:#edf0f5;border-radius:99px;overflow:hidden}.competency-scores strong{text-align:left}.comments-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.comments-grid blockquote{margin:0;padding:15px;border:1px solid var(--line);background:#fafbfc;border-radius:12px}.comments-grid p{font-size:.8rem;margin:0}.comments-grid footer{font-size:.69rem;color:var(--muted);margin-top:8px}.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#e8ebff,transparent 33%),#f4f6f9;padding:25px}.auth-card{width:min(900px,100%);min-height:560px;display:grid;grid-template-columns:1.05fr 1fr;background:#fff;border-radius:26px;box-shadow:0 30px 80px rgba(20,33,58,.16);overflow:hidden}.auth-visual{background:linear-gradient(150deg,#16233f,#253863);color:#fff;padding:55px;display:flex;flex-direction:column;justify-content:center}.auth-visual h1{font-size:2rem;margin:30px 0 5px}.auth-visual p{color:#bac6db;font-size:.9rem;margin:0}.orbit{width:190px;height:190px;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:grid;place-items:center;position:relative;margin:0 auto}.orbit:before,.orbit:after{content:"";position:absolute;border:1px dashed rgba(86,214,201,.35);border-radius:50%}.orbit:before{inset:18px}.orbit:after{inset:-30px}.orbit span{width:95px;height:95px;border-radius:30px;background:linear-gradient(140deg,#566be9,#16b2a5);display:grid;place-items:center;font-size:2rem;font-weight:900;box-shadow:0 20px 40px rgba(0,0,0,.24)}.auth-form{padding:58px 52px;display:flex;flex-direction:column;justify-content:center}.auth-form .brand{margin-bottom:36px}.auth-form .brand strong{color:var(--ink)}.auth-form h2{font-size:1.6rem;margin:0}.muted{color:var(--muted)}.auth-form>.muted{font-size:.8rem;margin:2px 0 22px}.survey-page{background:#f5f7fa;min-height:100vh}.survey-header{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 920px)/2))}.survey-header .brand strong{color:var(--ink)}.security-note{font-size:.72rem;color:var(--green)}.survey-container{width:min(920px,calc(100% - 30px));margin:36px auto 90px}.survey-intro{background:linear-gradient(145deg,#192743,#273d68);color:#fff;border-radius:22px;padding:30px;margin-bottom:18px}.survey-intro .eyebrow{color:#69dcd2}.survey-intro h1{font-size:1.55rem;margin:7px 0 3px}.survey-intro p{color:#c9d3e5;font-size:.85rem;margin:0;max-width:730px}.scale-guide{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:22px}.scale-guide span{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px;text-align:center;font-size:.66rem}.survey-form{display:grid;gap:18px}.survey-group{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0;box-shadow:var(--shadow);overflow:hidden}.survey-group legend{float:right;width:100%;display:flex;justify-content:space-between;background:#f8f9fc;border-bottom:1px solid var(--line);padding:14px 20px}.survey-group legend span{font-size:.92rem}.survey-group legend small{color:var(--muted);font-weight:400}.survey-question{clear:both;display:grid;grid-template-columns:1fr 250px;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid #edf0f4}.survey-question:last-child{border-bottom:0}.survey-question p{margin:0;font-size:.84rem;display:flex;gap:10px;align-items:flex-start}.survey-question p b{width:25px;height:25px;display:grid;place-items:center;background:#eef0ff;color:var(--primary);border-radius:8px;flex:0 0 auto}.rating{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;direction:ltr}.rating input{position:absolute;opacity:0;pointer-events:none}.rating span{height:40px;display:grid;place-items:center;border:1px solid #d7dce6;border-radius:9px;color:#657083;font-weight:800;transition:.16s}.rating label:hover span{border-color:#7182e8;color:var(--primary)}.rating input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(67,85,217,.25)}.comment-box{padding:20px}.comment-box label{font-size:.85rem}.comment-box label small{color:var(--muted);font-weight:400}.survey-submit{position:sticky;bottom:15px;z-index:10;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 15px 45px rgba(20,33,58,.18);border:1px solid var(--line);border-radius:15px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center}.survey-submit p{margin:0}.survey-submit strong,.survey-submit span{display:block}.survey-submit strong{font-size:.8rem}.survey-submit span{font-size:.68rem;color:var(--muted)}.done-page{display:grid;place-items:center;padding:25px}.done-card{width:min(520px,100%);background:#fff;border-radius:22px;padding:50px;text-align:center;box-shadow:var(--shadow)}.success-check{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#def5e9;color:var(--green);font-size:2rem}.done-card h1{font-size:1.45rem;margin:0}.done-card p{color:var(--muted);font-size:.85rem}.done-card small{color:#8d97a8}.error-card>strong{font-size:3rem;color:#c7cdd7}.error-card .button{margin-top:15px}
.site-credit{text-align:center;color:#8a93a3;font-size:.7rem;padding:22px 10px 4px}.site-credit a{color:var(--primary);font-weight:700;direction:ltr;display:inline-block}.site-credit a:hover{text-decoration:underline}.site-credit.standalone{position:relative;width:100%;padding:24px 10px}.done-page>.site-credit{position:fixed;bottom:12px;left:0;right:0}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.weight-grid{grid-template-columns:repeat(3,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.checkbox-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.sidebar{transform:translateX(105%);transition:.25s}.sidebar.open{transform:none}.main{margin-right:0;padding:20px}.menu-button{display:block}.split-layout{display:grid}.form-panel,.campaign-columns .form-panel{width:auto}.dual-forms{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.form-grid label:first-child{grid-column:1/-1}.report-score-grid{grid-template-columns:1fr}.overall-score{min-height:210px}.auth-card{grid-template-columns:1fr}.auth-visual{display:none}.auth-form{padding:45px 30px}.survey-question{grid-template-columns:1fr}.scale-guide{display:none}.survey-header{padding:0 20px}}
@media(max-width:560px){.main{padding:15px}.stats-grid,.card-grid,.role-score-grid,.comments-grid{grid-template-columns:1fr}.stat-card{padding:15px}.panel{padding:16px;border-radius:14px}.panel-head{align-items:flex-start}.panel-head .button{padding:7px 10px}.weight-grid,.checkbox-grid,.form-grid{grid-template-columns:1fr}.form-grid label:first-child{grid-column:auto}.campaign-hero,.report-header{align-items:flex-start;display:grid}.status-form{width:100%}.status-form select{flex:1}.competency-scores>div{grid-template-columns:120px 1fr 38px}.survey-container{width:min(100% - 20px,920px);margin-top:18px}.survey-intro{padding:22px}.survey-question{padding:16px 14px}.survey-submit{display:grid;gap:10px}.survey-submit .button{width:100%}.done-card{padding:35px 22px}.question-list li{align-items:flex-start;display:grid}.auth-form{padding:36px 22px}}
@media print{body{background:#fff}.sidebar,.topbar,.no-print{display:none!important}.main{margin:0;padding:0}.panel{box-shadow:none;break-inside:avoid}.report-score-grid{grid-template-columns:230px 1fr}}
.current-org{font-size:.7rem;color:#69dcd2;margin-bottom:9px}.org-switcher{display:grid;grid-template-columns:1fr auto;align-items:end;gap:5px;margin-bottom:11px}.org-switcher label{font-size:.66rem;color:#a9b6cc}.org-switcher select{margin-top:3px;padding:5px 7px;background:var(--nav-soft);border-color:rgba(255,255,255,.12);color:#fff;font-size:.7rem}.org-switcher button{border:0;border-radius:7px;padding:6px;background:#2e4167;color:#fff;font-size:.67rem}.account-link{display:block;color:#9eabc0;font-size:.7rem;margin:5px 0 8px}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ltr-cell{direction:ltr;text-align:right}.profile-list{display:grid;grid-template-columns:100px 1fr;gap:8px;margin:0}.profile-list dt{color:var(--muted);font-size:.75rem}.profile-list dd{margin:0;font-size:.82rem;font-weight:700}.password-form{max-width:520px}
@media(max-width:560px){.name-grid{grid-template-columns:1fr}}
.organization-context{margin:4px 0 14px;padding:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:12px}.organization-context>small{display:block;color:#93a3bd;font-size:.62rem;line-height:1.7;margin-top:5px}.organization-context>span{display:block;color:#93a3bd;font-size:.65rem}.organization-context>strong{display:block;color:#69dcd2;margin-top:3px;font-size:.78rem}.organization-context .org-switcher{margin:0}.organization-context .org-switcher label{line-height:1.5}.context-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;padding:14px 18px;border:1px solid #bfe8e4;background:#edfbf9;border-radius:14px}.context-banner span,.context-banner small{display:block;color:var(--muted);font-size:.72rem}.context-banner strong{display:block;color:#087b72;font-size:1rem;margin:2px 0}.inline-badge{display:inline-flex;margin-right:7px}.editable-card{cursor:default}.inline-editor{position:relative}.inline-editor>summary{cursor:pointer;list-style:none;color:var(--primary);font-size:.72rem;font-weight:800;padding:5px 0}.inline-editor>summary::-webkit-details-marker{display:none}.editor-form{display:grid;gap:9px;min-width:280px;max-width:min(620px,78vw);margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(25,37,60,.1);text-align:right}.editor-form label{display:grid;gap:4px;color:var(--muted);font-size:.7rem}.editor-form input,.editor-form select,.editor-form textarea{width:100%}.editor-form.two-column{grid-template-columns:1fr 1fr;min-width:min(600px,75vw)}.editor-form .full-field,.editor-form fieldset.full-field,.editor-form p.full-field{grid-column:1/-1}.wide-editor .editor-form{min-width:min(560px,72vw)}.campaign-editor .editor-form{min-width:min(720px,75vw)}.compact-checks{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:6px}.compact-checks label{display:flex;align-items:center;gap:5px;padding:6px;background:#f6f8fb;border-radius:8px;color:var(--text)}.compact-checks input{width:auto}.metric-pill{display:inline-flex;min-width:32px;justify-content:center;padding:4px 9px;border-radius:999px;background:#edf1f7;font-weight:900}.metric-pill.success{background:#e4f8f0;color:#17815b}.metric-pill.pending{background:#fff2dd;color:#9b6715}.status-subject-list small b{color:var(--text)}
@media(max-width:820px){.context-banner{align-items:flex-start}.editor-form.two-column{grid-template-columns:1fr}.editor-form .full-field,.editor-form fieldset.full-field,.editor-form p.full-field{grid-column:auto}.compact-checks{grid-template-columns:1fr}.wide-editor .editor-form,.campaign-editor .editor-form,.editor-form.two-column{min-width:min(360px,72vw)}}
.auth-divider{display:flex;align-items:center;gap:10px;margin:20px 0 14px;color:var(--muted);font-size:.7rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-back-link{display:block;text-align:center}.access-code-input{direction:ltr;text-align:center!important;letter-spacing:.45em;font-size:1.2rem;font-weight:900}

/* ── نوار ورود به حساب دیگران ─────────────────────────────────────────── */
.impersonation-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:11px 16px;border:1px solid #f0c987;background:#fff8e8;border-radius:12px;font-size:.82rem;color:#8a5a08}
.impersonation-bar strong{color:#6b4405}

/* ── نوار مراحل دوره ──────────────────────────────────────────────────── */
.stepper-panel{padding:18px 22px}
.stepper{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:0;padding:0}
.step{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.step-mark{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#e9ecf3;color:#6c7688;font-weight:800;font-size:.78rem}
.step-body{display:grid;gap:2px;min-width:0}
.step-body strong{font-size:.79rem}
.step-body small{font-size:.67rem;color:var(--muted);line-height:1.5}
.step.done{border-color:#bfe6d3;background:#f2fbf6}
.step.done .step-mark{background:var(--green);color:#fff}
.step.current{border-color:#b9c2f0;background:#f4f6ff;box-shadow:0 0 0 3px rgba(67,85,217,.07)}
.step.current .step-mark{background:var(--primary);color:#fff}
.step-chip{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:7px;border-radius:8px;background:#eef0ff;color:var(--primary);font-size:.75rem;font-weight:900;vertical-align:middle}

/* ── قواعد گروهی ──────────────────────────────────────────────────────── */
.rule-list{display:grid;gap:8px;margin-bottom:16px}
.rule-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.rule-chip{display:inline-flex;padding:5px 12px;border-radius:9px;font-size:.79rem;font-weight:700}
.rule-chip.subject{background:#eef0ff;color:#3f4fc4}
.rule-chip.evaluator{background:#dcf7f4;color:#0a8079}
.rule-arrow{font-size:.72rem;color:var(--muted)}
.rule-row .badge.role-badge{background:#f2f4f8;color:#5b6577}
.rule-row form{margin-right:auto}
.rule-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:11px;padding:15px;border:1px dashed #ccd3e2;border-radius:13px;background:#fafbfe}
.rule-form label{display:grid;gap:5px;color:#3d4656;font-size:.76rem;font-weight:700}

/* ── معیارهای عددی ────────────────────────────────────────────────────── */
.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.metric-box{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;text-align:center}
.metric-box small{display:block;font-size:.7rem;color:var(--muted)}
.metric-box strong{display:block;font-size:1.6rem;margin-top:3px}
.metric-box.highlight{border-color:#b9c2f0;background:#f4f6ff}
.metric-box.highlight strong{color:var(--primary)}

/* ── تراشه‌ها ─────────────────────────────────────────────────────────── */
.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.75rem}
.chip small{color:var(--muted);font-size:.66rem}
.chip.small{padding:4px 9px;font-size:.71rem}
.chip-check{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.74rem;cursor:pointer}
.chip-check input{width:auto;accent-color:var(--primary)}
.chip-check:has(input:checked){border-color:var(--primary);background:#eef0ff;color:var(--primary);font-weight:700}
.team-select-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.team-group{margin-bottom:14px}
.team-group h4{margin:0 0 7px;font-size:.78rem;color:var(--muted)}

/* ── پیش‌نمایش ────────────────────────────────────────────────────────── */
.preview-block{padding:13px 0;border-bottom:1px solid #edf0f4}
.preview-block:last-child{border-bottom:0}
.preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.load-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:420px;overflow:auto}
.load-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:8px;background:#f8f9fc;font-size:.78rem}
.load-list b{color:var(--primary)}

/* ── کارهای داشبورد ───────────────────────────────────────────────────── */
.task-list{display:grid;gap:8px}
.task-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;transition:.18s}
.task-row:hover{border-color:#bec6ef;background:#fafbff}
.task-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--muted)}
.task-row.warn .task-dot{background:var(--amber)}
.task-row.danger .task-dot{background:var(--red)}
.task-row.ok .task-dot{background:var(--green)}
.task-row.info .task-dot{background:var(--primary)}
.task-body{flex:1;display:grid;gap:2px;min-width:0}
.task-body strong{font-size:.85rem}
.task-body small{font-size:.72rem;color:var(--muted)}
.task-action{font-size:.76rem;font-weight:800;color:var(--primary);white-space:nowrap}

/* ── پرتال ارزیاب ─────────────────────────────────────────────────────── */
.portal-progress{margin-top:18px}
.portal-progress .progress{background:rgba(255,255,255,.15)}
.portal-progress small{display:block;margin-top:6px;font-size:.7rem;color:#c9d3e5}
.portal-heading{font-size:.86rem;color:var(--muted);margin:22px 0 10px;font-weight:700}
.form-card-list{display:grid;gap:10px}
.form-card{display:flex;align-items:center;gap:13px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);transition:.18s}
.form-card:hover{transform:translateY(-1px);border-color:#bec6ef}
.form-card.done{opacity:.7;box-shadow:none}
.form-card-body{flex:1;display:grid;gap:3px;min-width:0}
.form-card-body strong{font-size:.92rem}
.form-card-body small{font-size:.72rem;color:var(--muted)}
.portal-done{margin:0;box-shadow:var(--shadow)}
.survey-header .link-button{font-size:.78rem;font-weight:700}

/* ── اطلاع‌رسانی ──────────────────────────────────────────────────────── */
.notify-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 16px;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.notify-summary strong{display:block;font-size:1.05rem}
.notify-summary small{font-size:.72rem;color:var(--muted)}
.notify-summary .hint{margin:0}

/* ── نمایش رمز ────────────────────────────────────────────────────────── */
.reveal-panel{border-color:#f0c987;background:#fffdf7}
.reveal-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;border:1px dashed #e0b96a;border-radius:12px;background:#fff}
.reveal-value{flex:1;min-width:180px;font-family:Consolas,Menlo,monospace;font-size:1.3rem;font-weight:800;letter-spacing:.06em;direction:ltr;text-align:left;color:#8a5a08;word-break:break-all}

/* ── نوار فیلتر ───────────────────────────────────────────────────────── */
.filter-bar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.filter-bar input[type=search]{flex:1;min-width:190px}
.filter-bar select{width:auto;min-width:150px}

/* ── ورودی تاریخ شمسی ─────────────────────────────────────────────────── */
.jalali-field input{direction:ltr;text-align:left}
.jalali-field small{display:block;font-size:.66rem;color:var(--muted);min-height:1em}
.jalali-field small.invalid{color:var(--red)}

/* ── متفرقه ───────────────────────────────────────────────────────────── */
.action-row.wrap{flex-wrap:wrap}
.editor-form.three-column{grid-template-columns:repeat(3,1fr);min-width:min(680px,76vw)}
.editor-form button.full-field{justify-self:start}
.compact-checks label small{display:block;font-size:.62rem;color:var(--muted)}
.manual-assign{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.import-block{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.usage-note{display:block;margin-top:7px;font-size:.68rem;color:var(--amber)}
.alert.info{background:#eef2ff;color:#3a48ab;border-color:#c5cdf5}
.score-value{font-size:1.05rem;color:var(--primary)}
.subject-list .hint{padding:14px 4px}

@media(max-width:1100px){
  .stepper{grid-template-columns:repeat(3,1fr)}
  .metric-row{grid-template-columns:repeat(2,1fr)}
  .rule-form{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .stepper{grid-template-columns:repeat(2,1fr)}
  .rule-form{grid-template-columns:1fr}
  .editor-form.three-column{grid-template-columns:1fr;min-width:min(360px,72vw)}
  .impersonation-bar{flex-direction:column;align-items:stretch}

  /* جدول‌ها روی موبایل به کارت تبدیل می‌شوند تا اسکرول افقی لازم نباشد */
  .responsive-table{min-width:0}
  .responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .responsive-table tr{display:block;margin-bottom:11px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .responsive-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border:0;text-align:left}
  .responsive-table td:before{content:attr(data-label);font-size:.7rem;color:var(--muted);font-weight:700;text-align:right;flex:0 0 auto}
  .responsive-table td:empty{display:none}
  .responsive-table tbody tr:hover{background:#fff}
}
@media(max-width:560px){
  .stepper{grid-template-columns:1fr}
  .metric-row{grid-template-columns:1fr 1fr}
  .filter-bar{flex-direction:column;align-items:stretch}
  .filter-bar select{width:100%}
}

/* دسترسی با صفحه‌کلید */
.rating input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* ── نوار بازبینی فرم از دید ارزیاب ───────────────────────────────────── */
.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:11px max(20px,calc((100vw - 920px)/2));background:#2c1e00;color:#ffdf9e;font-size:.79rem;line-height:1.7}
.preview-bar strong{color:#fff}
.preview-bar .button.secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff;padding:6px 12px;font-size:.75rem}
.preview-bar .button.secondary:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4)}
@media(max-width:820px){.preview-bar{padding:11px 18px;flex-direction:column;align-items:stretch;text-align:center}}

/* ── کادر شش‌خانه‌ای رمز ورود ──────────────────────────────────────────── */
.otp-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;direction:ltr;margin-top:6px}
.otp-box{width:100%;height:56px;padding:0;text-align:center;font-size:1.5rem;font-weight:800;font-family:Consolas,Menlo,monospace;color:var(--ink);border:1.5px solid #d3d9e4;border-radius:11px;background:#fbfcfe;transition:.15s}
.otp-box:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(67,85,217,.13);outline:none}
.otp-box:not(:placeholder-shown),.otp-box[value]:not([value=""]){background:#fff}
.otp-boxes.filled .otp-box{border-color:#9fb0f0;background:#fff}
.otp-boxes.invalid .otp-box{border-color:var(--red);animation:otp-shake .35s}
@keyframes otp-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.otp-label{display:grid;gap:5px;color:#3d4656;font-size:.78rem;font-weight:700}
.otp-hint{margin-top:12px;line-height:1.9}
@media(max-width:400px){.otp-boxes{gap:5px}.otp-box{height:48px;font-size:1.25rem}}

/* ── پیشرفت فرم ارزیابی ───────────────────────────────────────────────── */
.survey-submit .submit-status{flex:1;min-width:0;display:grid;gap:5px}
.submit-progress-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.submit-progress-line strong{font-size:.82rem}
.progress-percent{font-size:.95rem;font-weight:900;color:var(--primary)}
.survey-submit .progress{height:7px;margin:0}
.survey-submit .submit-status>span{font-size:.68rem;color:var(--muted)}
.draft-ok{color:var(--green)}
.draft-warn{color:var(--amber)}
.resume-note{margin-bottom:16px}

/* ── پیشرفت هر فرم در پرتال ارزیاب ────────────────────────────────────── */
.form-card.started{border-color:#b9c2f0;background:#fbfcff}
.form-card-progress{display:grid;gap:4px;margin-top:7px}
.form-card-progress .progress{height:5px;margin:0}
.form-card-progress small{font-size:.67rem;color:var(--primary);font-weight:700}
