:root{--navy: #04255a;--navy-700: #0b3372;--navy-50: #eef2f9;--green: #017251;--green-600: #0a8560;--green-50: #e8f4ef;--bg: #f5f6f8;--surface: #ffffff;--border: #e3e6ec;--text: #1b2433;--muted: #667085;--danger: #b42318;--danger-50: #fdecea;--warning: #9a6700;--warning-50: #fff6e0;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);font-family:IBM Plex Sans Arabic,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-size:15px;line-height:1.6}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;color:var(--navy);line-height:1.35}h1{font-size:22px;font-weight:700}h2{font-size:18px;font-weight:600}label{display:block;font-weight:500;font-size:14px;margin-bottom:6px}input,select,textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--green-50);border-color:var(--green)}input[dir=ltr]{text-align:left}.field{margin-bottom:16px}.hint{color:var(--muted);font-size:13px;margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;padding:10px 18px;border-radius:8px;border:1px solid transparent;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--green-600)}.btn-secondary{background:#fff;color:var(--navy);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--navy-50)}.btn-danger{background:#fff;color:var(--danger);border-color:#f3c4bf}.btn-block{width:100%}.btn-sm{padding:6px 12px;font-size:13px}.alert{padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:16px}.alert-error{background:var(--danger-50);color:var(--danger)}.alert-success{background:var(--green-50);color:var(--green)}.alert-warning{background:var(--warning-50);color:var(--warning)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.auth-page{min-height:100%;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at 85% 10%,var(--green-50),transparent 45%),radial-gradient(circle at 10% 95%,var(--navy-50),transparent 45%),var(--bg)}.auth-card{width:100%;max-width:420px;padding:32px 28px}.auth-logo{display:block;width:190px;margin:0 auto 24px}.auth-title{text-align:center;margin-bottom:4px}.auth-sub{text-align:center;color:var(--muted);margin:0 0 24px;font-size:14px}.auth-footer{text-align:center;margin-top:16px;font-size:14px}.link-btn{background:none;border:none;padding:0;font:inherit;color:var(--green);cursor:pointer}.link-btn:hover{text-decoration:underline}.shell{display:flex;min-height:100%}.sidebar{width:250px;flex-shrink:0;background:var(--surface);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{padding:20px 20px 12px;border-bottom:1px solid var(--border)}.sidebar-brand img{width:140px;display:block}.nav{padding:12px 10px;flex:1;overflow-y:auto}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;margin-bottom:2px;border-radius:8px;color:var(--text);font-weight:500}.nav-item:hover{background:var(--navy-50);text-decoration:none}.nav-item.active{background:var(--green-50);color:var(--green);font-weight:600}.nav-item.disabled{color:#a0a7b4;pointer-events:none}.soon{font-size:11px;background:#f0f1f4;color:var(--muted);padding:1px 8px;border-radius:99px}.sidebar-user{padding:14px 16px;border-top:1px solid var(--border);font-size:13px}.sidebar-user strong{display:block;color:var(--navy);font-size:14px}.sidebar-user .role{color:var(--muted)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:none;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar img{height:34px}.content{padding:28px 32px;max-width:1200px;width:100%}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head p{margin:4px 0 0;color:var(--muted);font-size:14px}.backdrop{display:none}@media(max-width:860px){.topbar{display:flex}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:40;transform:translate(100%);transition:transform .2s ease}.sidebar.open{transform:translate(0);box-shadow:-8px 0 24px #1018281f}.backdrop.open{display:block;position:fixed;inset:0;background:#10182859;z-index:30}.content{padding:20px 16px}}:root{--moe: #0b6e4f;--moe-dk: #064a35;--gold: #b8923a;--pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96' fill='none' stroke='%230B6E4F' stroke-opacity='.075' stroke-width='1'%3E%3Cpath d='M31 31h34v34H31zM48 24l24 24-24 24-24-24zM-17 -17h34v34h-34zM0 -24l24 24-24 24-24-24zM79 -17h34v34H79zM96 -24l24 24-24 24-24-24zM-17 79h34v34h-34zM0 72l24 24-24 24-24-24zM79 79h34v34H79zM96 72l24 24-24 24-24-24zM48 0v24M48 72v24M0 48h24M72 48h24'/%3E%3C/svg%3E");--pattern-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96' fill='none' stroke='%23E9CF8B' stroke-opacity='.2' stroke-width='1'%3E%3Cpath d='M31 31h34v34H31zM48 24l24 24-24 24-24-24zM-17 -17h34v34h-34zM0 -24l24 24-24 24-24-24zM79 -17h34v34H79zM96 -24l24 24-24 24-24-24zM-17 79h34v34h-34zM0 72l24 24-24 24-24-24zM79 79h34v34H79zM96 72l24 24-24 24-24-24zM48 0v24M48 72v24M0 48h24M72 48h24'/%3E%3C/svg%3E")}body{background:#f1f5f2 var(--pattern);background-attachment:fixed}.card,.modal,.tool-card,.svc-card,.sidebar,.home-hero{--surface: #0a5a41;--text: #f4f8f6;--muted: #bcd5ca;--border: rgba(255, 255, 255, .17);--navy: #ffffff;--navy-700: #ffffff;--green: #f0d898;--green-600: #f6e4b2;--navy-50: rgba(255, 255, 255, .08);--green-50: rgba(240, 216, 152, .15);--warning: #f5cf6b;--danger: #ffb9ae;color:var(--text);background:linear-gradient(155deg,#0d7352,#0a6046 55%,#07503a);border-color:#e9cf8b52}.card input,.card select,.card textarea,.card .btn-secondary,.card .btn-danger,.card .program,.card .ed-row,.card .chip,.card .cover-opt,.card .theme-toggle,.card .theme-panel,.card .theme-name,.card .ready-files,.card .apply-theme,.card .swot-s,.card .swot-w,.card .swot-o,.card .swot-t,.card .ext,.card .badge-off,.card .soon,.card .alert-warning,.card .alert-error,.card .segmented button.on,.card .back-btn,.modal input,.modal select,.modal textarea,.modal .btn-secondary,.modal .btn-danger,.modal .program,.modal .ed-row,.modal .chip,.modal .cover-opt,.modal .theme-toggle,.modal .theme-panel,.modal .theme-name,.modal .ready-files,.modal .apply-theme,.modal .swot-s,.modal .swot-w,.modal .swot-o,.modal .swot-t,.modal .ext,.modal .badge-off,.modal .soon,.modal .alert-warning,.modal .alert-error,.modal .segmented button.on,.modal .back-btn,.tool-card input,.tool-card select,.tool-card textarea,.tool-card .btn-secondary,.tool-card .btn-danger,.tool-card .program,.tool-card .ed-row,.tool-card .chip,.tool-card .cover-opt,.tool-card .theme-toggle,.tool-card .theme-panel,.tool-card .theme-name,.tool-card .ready-files,.tool-card .apply-theme,.tool-card .swot-s,.tool-card .swot-w,.tool-card .swot-o,.tool-card .swot-t,.tool-card .ext,.tool-card .badge-off,.tool-card .soon,.tool-card .alert-warning,.tool-card .alert-error,.tool-card .segmented button.on,.tool-card .back-btn,.svc-card input,.svc-card select,.svc-card textarea,.svc-card .btn-secondary,.svc-card .btn-danger,.svc-card .program,.svc-card .ed-row,.svc-card .chip,.svc-card .cover-opt,.svc-card .theme-toggle,.svc-card .theme-panel,.svc-card .theme-name,.svc-card .ready-files,.svc-card .apply-theme,.svc-card .swot-s,.svc-card .swot-w,.svc-card .swot-o,.svc-card .swot-t,.svc-card .ext,.svc-card .badge-off,.svc-card .soon,.svc-card .alert-warning,.svc-card .alert-error,.svc-card .segmented button.on,.svc-card .back-btn,.sidebar input,.sidebar select,.sidebar textarea,.sidebar .btn-secondary,.sidebar .btn-danger,.sidebar .program,.sidebar .ed-row,.sidebar .chip,.sidebar .cover-opt,.sidebar .theme-toggle,.sidebar .theme-panel,.sidebar .theme-name,.sidebar .ready-files,.sidebar .apply-theme,.sidebar .swot-s,.sidebar .swot-w,.sidebar .swot-o,.sidebar .swot-t,.sidebar .ext,.sidebar .badge-off,.sidebar .soon,.sidebar .alert-warning,.sidebar .alert-error,.sidebar .segmented button.on,.sidebar .back-btn,.home-hero input,.home-hero select,.home-hero textarea,.home-hero .btn-secondary,.home-hero .btn-danger,.home-hero .program,.home-hero .ed-row,.home-hero .chip,.home-hero .cover-opt,.home-hero .theme-toggle,.home-hero .theme-panel,.home-hero .theme-name,.home-hero .ready-files,.home-hero .apply-theme,.home-hero .swot-s,.home-hero .swot-w,.home-hero .swot-o,.home-hero .swot-t,.home-hero .ext,.home-hero .badge-off,.home-hero .soon,.home-hero .alert-warning,.home-hero .alert-error,.home-hero .segmented button.on,.home-hero .back-btn,.card .badge-pending,.card .tab-count,.card .vcheck-icon,.modal .badge-pending,.modal .tab-count,.modal .vcheck-icon,.tool-card .badge-pending,.tool-card .tab-count,.tool-card .vcheck-icon,.svc-card .badge-pending,.svc-card .tab-count,.svc-card .vcheck-icon,.sidebar .badge-pending,.sidebar .tab-count,.sidebar .vcheck-icon,.home-hero .badge-pending,.home-hero .tab-count,.home-hero .vcheck-icon{--text: #1b2433;--muted: #667085;--border: #e3e6ec;--navy: #04255a;--navy-700: #0b3372;--green: #017251;--green-600: #0a8560;--navy-50: #eef2f9;--green-50: #e8f4ef;--warning: #9a6700;--danger: #b42318;color:var(--text)}.card .btn-secondary,.modal .btn-secondary,.tool-card .btn-secondary,.svc-card .btn-secondary,.sidebar .btn-secondary,.home-hero .btn-secondary{color:#04255a}.card .btn-danger,.modal .btn-danger,.tool-card .btn-danger,.svc-card .btn-danger,.sidebar .btn-danger,.home-hero .btn-danger{color:var(--danger)}.card input,.card select,.card textarea,.modal input,.modal select,.modal textarea,.tool-card input,.tool-card select,.tool-card textarea,.svc-card input,.svc-card select,.svc-card textarea,.sidebar input,.sidebar select,.sidebar textarea,.home-hero input,.home-hero select,.home-hero textarea{border-color:transparent}.card .btn-primary,.card .prog-n,.card .stage-done .stage-dot,.card .stage-active .stage-dot,.card .doc-table th,.card .tool-go,.modal .btn-primary,.modal .prog-n,.modal .stage-done .stage-dot,.modal .stage-active .stage-dot,.modal .doc-table th,.modal .tool-go,.tool-card .btn-primary,.tool-card .prog-n,.tool-card .stage-done .stage-dot,.tool-card .stage-active .stage-dot,.tool-card .doc-table th,.tool-card .tool-go,.svc-card .btn-primary,.svc-card .prog-n,.svc-card .stage-done .stage-dot,.svc-card .stage-active .stage-dot,.svc-card .doc-table th,.svc-card .tool-go,.sidebar .btn-primary,.sidebar .prog-n,.sidebar .stage-done .stage-dot,.sidebar .stage-active .stage-dot,.sidebar .doc-table th,.sidebar .tool-go,.home-hero .btn-primary,.home-hero .prog-n,.home-hero .stage-done .stage-dot,.home-hero .stage-active .stage-dot,.home-hero .doc-table th,.home-hero .tool-go{color:#06402e}.card th,.card .edit-table th,.card .edit-table .total-row td,.card .progress-box,.card .downloads,.card .ed-object,.card .up-uploading,.card .segmented,.modal th,.modal .edit-table th,.modal .edit-table .total-row td,.modal .progress-box,.modal .downloads,.modal .ed-object,.modal .up-uploading,.modal .segmented,.tool-card th,.tool-card .edit-table th,.tool-card .edit-table .total-row td,.tool-card .progress-box,.tool-card .downloads,.tool-card .ed-object,.tool-card .up-uploading,.tool-card .segmented,.svc-card th,.svc-card .edit-table th,.svc-card .edit-table .total-row td,.svc-card .progress-box,.svc-card .downloads,.svc-card .ed-object,.svc-card .up-uploading,.svc-card .segmented,.sidebar th,.sidebar .edit-table th,.sidebar .edit-table .total-row td,.sidebar .progress-box,.sidebar .downloads,.sidebar .ed-object,.sidebar .up-uploading,.sidebar .segmented,.home-hero th,.home-hero .edit-table th,.home-hero .edit-table .total-row td,.home-hero .progress-box,.home-hero .downloads,.home-hero .ed-object,.home-hero .up-uploading,.home-hero .segmented{background:#ffffff14}.card .doc-table tr:nth-child(2n) td,.modal .doc-table tr:nth-child(2n) td,.tool-card .doc-table tr:nth-child(2n) td,.svc-card .doc-table tr:nth-child(2n) td,.sidebar .doc-table tr:nth-child(2n) td,.home-hero .doc-table tr:nth-child(2n) td{background:#ffffff0d}.card .progress,.modal .progress,.tool-card .progress,.svc-card .progress,.sidebar .progress,.home-hero .progress{background:#fff3}.card .downloads,.modal .downloads,.tool-card .downloads,.svc-card .downloads,.sidebar .downloads,.home-hero .downloads{border-color:#e9cf8b4d}.sidebar-brand img{width:150px}.sidebar .nav-item.disabled{color:#ffffff73}.back-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;font-size:14px;padding:7px 14px 7px 12px;margin-bottom:16px;color:var(--moe);background:#fff;border:1px solid var(--border);border-radius:99px;box-shadow:var(--shadow);cursor:pointer}.back-btn:hover{background:var(--green-50);border-color:var(--moe);text-decoration:none}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px 32px;margin-bottom:28px;border-radius:18px;background:var(--pattern-gold),linear-gradient(135deg,#0d7352 0%,var(--moe-dk) 100%);border-bottom:4px solid var(--gold);box-shadow:0 10px 28px #064a3533}.home-hero h1{color:#fff;font-size:26px}.home-hero p{margin:8px 0 0;color:#dcefe7;font-size:15px;max-width:520px}.home-stats{display:flex;gap:12px}.home-stats>div{min-width:118px;padding:12px 16px;text-align:center;background:#ffffff1a;border:1px solid rgba(233,207,139,.45);border-radius:12px}.home-stats strong{display:block;font-size:26px;line-height:1.2;color:#f3dfa6}.home-stats span{font-size:13px;color:#dcefe7}.home-title{font-size:17px;margin:0 0 14px;display:flex;align-items:center;gap:10px}.home-title:before{content:"";width:5px;height:20px;border-radius:3px;background:var(--gold)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-bottom:30px}.tool-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-width:1px;border-style:solid;border-radius:16px;box-shadow:0 6px 18px #064a3529;transition:transform .15s ease,box-shadow .15s ease}a.tool-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 14px 30px #064a3547}.tool-top{display:flex;align-items:center;justify-content:space-between}.tool-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;color:var(--green);background:var(--green-50)}.tool-scope{font-size:12px;font-weight:600;color:var(--green);border:1px solid rgba(240,216,152,.5);padding:2px 12px;border-radius:99px}.tool-card h3{font-size:18px;margin-top:6px;color:#fff}.tool-card p{margin:0;flex:1;color:var(--muted);font-size:14px;line-height:1.85}.tool-go{align-self:flex-start;margin-top:8px;padding:8px 20px;font-weight:600;font-size:14px;background:var(--green);border-radius:8px}a.tool-card:hover .tool-go{background:var(--green-600)}.tool-card.is-soon{opacity:.7;box-shadow:none}.tool-card.is-soon h3{font-size:16px}@media(max-width:860px){.home-hero{padding:22px 18px}.home-stats{width:100%}.home-stats>div{flex:1}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.stat{padding:18px 20px}.stat .label{color:var(--muted);font-size:14px}.stat .value{font-size:28px;font-weight:700;color:var(--navy);margin-top:4px}.panel{padding:20px 22px}.panel h2{margin-bottom:10px}.panel ol{margin:0;padding-inline-start:20px}.panel li{margin-bottom:6px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 14px;text-align:start;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--muted);font-weight:600;background:#fafbfc;white-space:nowrap}tr:last-child td{border-bottom:none}td select{width:auto;min-width:130px;padding:6px 10px}.cell-email{direction:ltr;text-align:end;color:var(--muted)}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-block;font-size:12px;padding:2px 10px;border-radius:99px;font-weight:500}.badge-on{background:var(--green-50);color:var(--green)}.badge-off{background:#f0f1f4;color:var(--muted)}.badge-pending{background:var(--warning-50);color:var(--warning)}.you{font-size:12px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#10182873;display:grid;place-items:center;padding:16px;z-index:50}.modal{width:100%;max-width:460px;padding:24px;max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.input-row{display:flex;gap:8px}.input-row input{flex:1}.secret{direction:ltr;font-family:ui-monospace,monospace;font-size:16px;background:var(--navy-50);padding:10px 14px;border-radius:8px;text-align:center;-webkit-user-select:all;user-select:all;margin:8px 0 16px}.center-screen{min-height:100%;display:grid;place-items:center;color:var(--muted);padding:24px}@media(max-width:640px){.stack-mobile thead{display:none}.stack-mobile tr{display:block;padding:12px 14px;border-bottom:1px solid var(--border)}.stack-mobile tr:last-child{border-bottom:none}.stack-mobile td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border:none}.stack-mobile td:before{content:attr(data-label);color:var(--muted);font-size:13px;flex-shrink:0}.stack-mobile td.cell-email{direction:rtl}}.muted{color:var(--muted)}.sub{color:var(--muted);font-size:13px;margin-top:2px}.warn{color:var(--warning)}.link-btn.small{font-size:13px;font-weight:400;margin-inline-start:6px}.badge-info{background:var(--navy-50);color:var(--navy-700)}.check{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}.check input{width:auto;margin:0}.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:8px}.school-link{font-weight:600;color:var(--navy)}.empty{padding:40px 24px;text-align:center}.empty p{color:var(--muted)}.grid-2{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px;align-items:start}.stack{display:flex;flex-direction:column;gap:20px}.panel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.panel-head h2{margin:0}@media(max-width:960px){.grid-2{grid-template-columns:1fr}}.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:500}.rename .input-row input{font-size:18px}.dropzone{border:2px dashed #c7ccd6;border-radius:var(--radius);padding:28px 16px;text-align:center;cursor:pointer;display:flex;flex-direction:column;gap:4px;margin-bottom:16px;background:#fafbfc;transition:background .15s,border-color .15s}.dropzone strong{color:var(--navy)}.dropzone span{color:var(--muted);font-size:13px}.dropzone:hover,.dropzone.over{border-color:var(--green);background:var(--green-50)}.upload-list,.file-list,.plain-list,.ref-list,.versions{list-style:none;margin:0;padding:0}.upload-list{margin-bottom:16px;font-size:14px}.upload-list li{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;border-radius:6px}.upload-list .fname,.file-list .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.up-done{color:var(--green);background:var(--green-50);margin-bottom:4px}.up-error{color:var(--danger);background:var(--danger-50);margin-bottom:4px}.up-skipped{color:var(--warning);background:var(--warning-50);margin-bottom:4px}.up-uploading{color:var(--muted);background:#f5f6f8;margin-bottom:4px}.file-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.file-main{min-width:0;flex:1}.file-main .fname{display:block;max-width:100%;text-align:start;font-weight:500;color:var(--navy)}.plain-list li{padding:4px 0}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto}.tab{padding:10px 16px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:600}.tab.disabled{color:#a0a7b4}.ref-list>li{border-bottom:1px solid var(--border);padding:14px 20px}.ref-list>li:last-child{border-bottom:none}.ref-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ref-main{min-width:0}.ref-main strong{color:var(--navy)}.versions{margin-top:12px;padding-inline-start:12px;border-inline-start:2px solid var(--border)}.versions li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:14px}textarea{resize:vertical}.ext{display:inline-block;direction:ltr;font-size:11px;font-weight:600;color:var(--muted);background:#f0f1f4;border-radius:4px;padding:0 6px;margin-inline-start:8px;vertical-align:middle}.segmented{display:flex;background:#f0f1f4;border-radius:8px;padding:3px;margin-bottom:16px}.segmented button{flex:1;font:inherit;font-weight:500;border:none;background:none;padding:8px;border-radius:6px;cursor:pointer;color:var(--muted)}.segmented button.on{background:#fff;color:var(--navy);font-weight:600;box-shadow:var(--shadow)}.stack-sm{display:flex;flex-direction:column;gap:8px;align-items:stretch}.stack-sm .link-btn{align-self:center}.progress-box{background:#f5f7fa;border-radius:10px;padding:14px;margin-bottom:12px}.progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress{height:8px;background:#e3e7ee;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .4s ease}.facts-summary{margin-bottom:12px}.tab-count{display:inline-block;min-width:20px;margin-inline-start:6px;padding:0 6px;border-radius:99px;background:var(--warning-50);color:var(--warning);font-size:12px;font-weight:600}.issue-list{margin:0;padding-inline-start:18px}.issue-list li{margin:2px 0}.notes-box summary{cursor:pointer;font-weight:600;color:var(--navy)}.notes-box ul{margin:10px 0 0;padding-inline-start:18px;font-size:14px;color:var(--muted)}.sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;font-size:14px}.chip{font:inherit;font-size:13px;border:1px solid var(--border);background:#fff;border-radius:99px;padding:3px 12px;cursor:pointer;color:var(--navy)}.chip:hover{border-color:var(--green);color:var(--green)}fieldset.plain{border:none;margin:0;padding:0;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;margin-bottom:16px}.form-stack{display:flex;flex-direction:column;gap:12px}.edit-table{font-size:13px}.edit-table th{white-space:nowrap;background:#f5f7fa}.edit-table td{padding:4px;vertical-align:middle}.edit-table input,.edit-table select{width:100%;min-width:64px;padding:6px 8px;font-size:13px}.edit-table input.num{min-width:64px;max-width:96px;text-align:center;direction:ltr}.edit-table select.invalid{border-color:var(--warning);background:var(--warning-50)}.edit-table .warn-row td{background:var(--warning-50)}.edit-table .total-row td{font-weight:700;background:#f5f7fa;text-align:center}.edit-table .total-row td:first-child{text-align:start}.cell-text{display:block;font-size:12.5px;line-height:1.6}.link-btn.danger{color:var(--danger);font-size:18px;line-height:1}.test-card{border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:16px}.test-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.test-head h3{margin:0 0 12px}.panel h3{font-size:16px;color:var(--navy);margin:20px 0 8px}.panel h4{font-size:14px;color:var(--navy);margin:16px 0 6px}.facts-actions{margin-top:20px;justify-content:flex-start;flex-wrap:wrap}.approve-box{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px}@media(max-width:640px){.approve-box{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}}.form-grid .field,.form-stack .field{margin-bottom:0}label.field>span{display:block;margin-bottom:6px}.edit-table label{margin:0}button.tab{background:none;border:none;border-bottom:2px solid transparent;font:inherit;cursor:pointer;border-radius:0}button.tab.active{border-bottom-color:var(--green)}.tech-detail{margin-top:8px;font-size:12px}.tech-detail summary{cursor:pointer}.tech-detail code{display:block;direction:ltr;text-align:left;white-space:pre-wrap;word-break:break-all;margin-top:6px;color:#5b1a14}.alert-info{background:var(--navy-50);color:var(--navy-700)}.badge-fail{background:var(--danger-50);color:var(--danger)}.small{font-size:13px}.stack>.card{margin:0}.doc-section h2{color:var(--green);font-size:18px}.doc-section h3{font-size:15px;color:var(--navy);margin:14px 0 4px}.doc-section p{margin:0 0 10px}.doc-list{margin:4px 0 8px;padding-inline-start:22px}.doc-list li{margin:3px 0}.doc-table{font-size:14px}.doc-table th{background:var(--green);color:#fff;white-space:normal}.doc-table td{vertical-align:top;padding:10px 12px}.doc-table tr:nth-child(2n) td{background:#f7fbf9}.sub-block{border-inline-start:3px solid var(--green-50);padding-inline-start:12px;margin-top:12px}.code{direction:ltr;unicode-bidi:isolate;display:inline-block;font-size:13px;font-weight:600;color:var(--green);background:var(--green-50);border-radius:6px;padding:0 6px}.swot{display:grid;grid-template-columns:1fr 1fr;gap:12px}.swot>div{border-radius:10px;padding:12px 14px}.swot h3{margin-top:0}.swot-s{background:#e8f4ef}.swot-w{background:#fdf1ee}.swot-o{background:#eef2f9}.swot-t{background:#fff6e0}@media(max-width:640px){.swot{grid-template-columns:1fr}}.program-list{display:flex;flex-direction:column;gap:8px}.program{border:1px solid var(--border);border-radius:10px;background:#fff}.program[open]{border-color:var(--green)}.program summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}.program summary::-webkit-details-marker{display:none}.prog-n{flex:0 0 auto;min-width:30px;height:30px;border-radius:8px;background:var(--green);color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.prog-main{flex:1;min-width:0}.prog-body{padding:0 14px 12px;border-top:1px solid var(--border)}.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;margin:12px 0 0;font-size:14px}.kv dt{color:var(--muted);font-weight:600}.kv dd,.kv .doc-list{margin:0}@media(max-width:640px){.kv{grid-template-columns:1fr}.kv dt{margin-top:6px}}.action{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:12px}.action-head{display:flex;gap:10px;align-items:flex-start}.vcheck{padding:14px 18px;border-inline-start:4px solid var(--border)}.vcheck-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vcheck-icon{width:24px;height:24px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff}.vcheck-ok{border-inline-start-color:var(--green)}.vcheck-ok .vcheck-icon{background:var(--green)}.vcheck-warn{border-inline-start-color:#d9a400}.vcheck-warn .vcheck-icon{background:#d9a400}.vcheck-fail{border-inline-start-color:var(--danger)}.vcheck-fail .vcheck-icon{background:var(--danger)}.vcheck .doc-list{font-size:14px;color:var(--text);margin-top:8px}.edit-bar{display:flex;justify-content:flex-start;margin-bottom:14px}.editor{padding-bottom:0}.ed-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}.ed-field{margin:0;min-width:0}.ed-field.wide{grid-column:1 / -1}.ed-label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:4px}.ed-field textarea{width:100%;resize:vertical;line-height:1.7}.ed-field input.num{max-width:120px;direction:ltr;text-align:center}.ed-object{border:1px dashed var(--border);border-radius:10px;padding:12px;background:#fafcfb}.ed-rows{display:flex;flex-direction:column;gap:8px;align-items:stretch}.ed-rows>.btn{align-self:flex-start}.ed-row{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff}.ed-row.open{border-color:var(--green)}.ed-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.ed-row:not(.open) .ed-row-head{margin-bottom:0}.ed-row-title{flex:1;min-width:0;text-align:start;font:inherit;font-weight:600;color:var(--navy);background:none;border:0;padding:2px 0;cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ed-caret{color:var(--green);width:12px}.ed-row-tools{display:flex;gap:2px;flex:0 0 auto}.ed-row-tools .link-btn:disabled{opacity:.3;cursor:default}.danger-text{color:var(--danger)!important}.ed-multi{display:flex;flex-wrap:wrap;gap:6px 16px}.editor-actions{position:sticky;bottom:0;display:flex;gap:8px;padding:12px 0 16px;margin-top:16px;background:linear-gradient(to top,#fff 80%,#fff0);border-top:1px solid var(--border)}@media(max-width:640px){.ed-row-head{flex-wrap:wrap}.ed-row-title{flex-basis:100%}.ed-row-tools{margin-inline-start:auto}.ed-fields{grid-template-columns:1fr}}.stages{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:0}.stage{display:flex;gap:12px;position:relative;padding-bottom:14px}.stage:not(:last-child):after{content:"";position:absolute;top:30px;bottom:2px;inset-inline-start:13px;width:2px;background:var(--border)}.stage-dot{flex:0 0 28px;height:28px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:#eef0f4;color:var(--muted);z-index:1}.stage-done .stage-dot{background:var(--green);color:#fff}.stage-active .stage-dot{background:var(--navy);color:#fff}.stage-failed .stage-dot{background:var(--danger);color:#fff}.stage-body{flex:1;min-width:0;padding-top:3px}.stage-label{font-weight:600;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stage-todo .stage-label,.stage-soon .stage-label{color:var(--muted);font-weight:500}.stage-progress{margin-top:8px}.review-links{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:12px;font-size:14px}.review-links .link-btn.small{margin:0}.downloads{border:1px solid var(--green-50);background:#f7fbf9;border-radius:10px;padding:12px 14px;margin-bottom:12px}.downloads-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}.file-dl{list-style:none;margin:0 0 6px;padding:0}.file-dl li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px dashed var(--border);font-size:14px}.file-dl li:last-child{border-bottom:0}.free-page{max-width:980px;margin:0 auto;padding:28px 16px 48px}.free-head{margin-bottom:20px}.free-head h1{margin:0 0 6px;color:var(--moe-dk)}.free-head p{margin:0 0 14px;color:var(--muted)}.free-page .card{margin-bottom:16px;padding:20px 22px}.free-page .card h2{margin:0 0 14px;font-size:18px}.free-page .card h3{margin:18px 0 10px;font-size:15px;color:var(--muted)}.free-page .req{color:var(--danger)}.free-skills{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.free-skill{display:grid;grid-template-columns:minmax(160px,2fr) repeat(3,minmax(80px,1fr)) auto;gap:8px;width:100%}.free-foot{margin-top:24px;color:var(--muted);font-size:13px;text-align:center}.free-foot p{margin:4px 0}@media(max-width:640px){.free-skill{grid-template-columns:1fr 1fr}.free-skill .wide{grid-column:1 / -1}}.free-upload{display:inline-block;cursor:pointer;margin:10px 0}.free-read{margin-top:10px}.free-read ul{margin:6px 0 0;padding-inline-start:20px}.free-review{margin-bottom:16px}.free-review>summary{cursor:pointer;font-weight:600;padding:12px 4px}.free-alt{text-align:center;margin-top:10px}.svc-head{text-align:center;margin-bottom:26px}.svc-head img{height:64px;margin-bottom:10px}.svc-head h1{margin:0 0 8px;color:var(--moe-dk);font-size:24px}.svc-head p{margin:0;color:var(--muted)}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.svc-card{border-width:1px;border-style:solid;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:8px}.svc-card.soon{opacity:.72}.svc-icon{width:54px;height:54px;border-radius:14px;background:var(--green-50);color:var(--green);display:grid;place-items:center}.svc-card h2{margin:6px 0 0;font-size:17px}.svc-price{color:var(--green);font-weight:700}.svc-card p{margin:0 0 8px;color:var(--muted);font-size:14px;flex:1}.svc-actions{display:flex;flex-direction:column;gap:8px}.svc-card .btn[aria-disabled=true]{cursor:default;opacity:.7;text-align:center}.theme-pick{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 4px}.theme-pick label{display:flex;flex-direction:column;gap:4px;font-size:13px;flex:1 1 140px}.theme-pick select{width:100%;padding:6px 10px}.theme-box{margin:8px 0 10px}.theme-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.theme-label{font-size:13px;font-weight:600}.swatches{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 220px}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c9d3ce;cursor:pointer;padding:0}.swatch.on{box-shadow:0 0 0 3px #1f2a24}.theme-frame{display:flex;align-items:center;gap:8px}.theme-frame select{width:auto;padding:6px 10px}.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin:6px 0 8px}.cover-opt{display:flex;flex-direction:column;gap:4px;align-items:center;background:#fff;border:2px solid #dfe6e2;border-radius:8px;padding:5px;cursor:pointer;font:inherit;font-size:11.5px;line-height:1.4;color:inherit}.cover-opt img{width:100%;display:block;border-radius:4px}.cover-opt.on{border-color:#1f2a24;box-shadow:0 0 0 2px #1f2a2433}.theme-toggle{background:#fff;border:1px solid #c9d3ce;border-radius:8px;padding:7px 12px;cursor:pointer;font:inherit;font-size:13px;color:inherit}.theme-toggle.on{border-color:#1f2a24}.theme-panel{display:flex;gap:14px;align-items:flex-start;border:1px solid #dfe6e2;background:#fff;border-radius:10px;padding:10px;margin-bottom:8px}.theme-names{flex:1 1 0;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.theme-name{background:#f4f7f5;border:1px solid #dfe6e2;border-radius:16px;padding:5px 12px;cursor:pointer;font:inherit;font-size:12.5px;color:inherit}.theme-name.on{background:#1f2a24;border-color:#1f2a24;color:#fff}.theme-preview{flex:0 0 190px;text-align:center}.theme-preview img{width:100%;display:block;border:1px solid #dfe6e2;border-radius:6px}@media(max-width:560px){.theme-panel{flex-direction:column-reverse}.theme-preview{flex-basis:auto;width:60%;margin:0 auto}}.theme-preview img.loading{opacity:.35;transition:opacity .15s}.ready-files{display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:1px solid #b7d7c8;background:#fff;border-radius:8px;padding:8px 10px;margin:6px 0}.ready-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}.dl-actions{display:inline-flex;gap:12px;align-items:center}.link-btn.muted{opacity:.65}.apply-theme{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid #e3c98a;background:#fffaf0;border-radius:8px;padding:8px 10px;margin:6px 0}.approve-box{margin-top:8px;display:flex;flex-direction:column;gap:8px}.approve-box .alert{margin:0}.modal.modal-wide{max-width:920px}.spend-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.modal .stats .stat{background:#ffffff14;border-radius:12px;padding:14px}.spend-table td,.spend-table th{white-space:nowrap}.spend-table td:first-child{white-space:normal;min-width:180px}.table-scroll{overflow-x:auto}.billing-email{display:block;margin-top:8px}.guidance-note{color:var(--green)}.svc-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px}.svc-thumb{display:flex;flex-direction:column;align-items:center;gap:4px}.svc-thumb img{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid rgba(0,0,0,.12)}.cert-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.cert-thumb{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:10px;border:2px solid transparent;background:#ffffff0f;color:inherit;cursor:pointer;font:inherit}.cert-thumb canvas{width:100%;height:auto;border-radius:6px;background:#fff}.cert-thumb.on{border-color:#e9cf86}.cert-colors{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.cert-color{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.6);cursor:pointer}.cert-color.on{outline:3px solid #e9cf86;outline-offset:2px}.cert-preview{width:100%;height:auto;border-radius:8px;background:#fff}.edit-table tr.on td{background:#e9cf8626}.sheet-import{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:0 0 12px}.sheet-import .field{flex:1 1 260px;margin:0}.sheet-import .hint{flex-basis:100%}.plan-list li{padding:8px 0}.plan-list .check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.plan-list .check input{margin-top:4px;flex:none}.plan-list .sub{display:block;font-size:.85em;color:var(--muted, #667);margin-top:2px}.sheet-import .sheet-choose{flex-basis:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.vcheck-fix{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}
