:root{--navy:#0b2a5b;--blue:#0b5fc4;--blue2:#1e7be0;--sky:#e8f3ff;--sky2:#cfe6ff;--line:#dbe6f3;--bg:#f3f8fe;--text:#12263f;--muted:#5f7088;--ok:#12a150;--ok-bg:#e3f7ec;--warn:#d98200;--warn-bg:#fff2dc;--bad:#d6293e;--bad-bg:#fde8eb;--info:#1e7be0;--info-bg:#e5f0ff;--r:16px;--sh:0 6px 24px rgba(11,42,91,.08);--sh2:0 2px 8px rgba(11,42,91,.06);--font:'Segoe UI',Tahoma,'Noto Naskh Arabic','Noto Sans Arabic',system-ui,-apple-system,Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;font-size:15px}
a{color:var(--blue);text-decoration:none}h1,h2,h3,h4{margin:0 0 .4em;color:var(--navy);line-height:1.35}
.ic{width:20px;height:20px;flex:none;vertical-align:middle}.muted{color:var(--muted)}.sm{font-size:.88em}.ltr{direction:ltr;unicode-bidi:plaintext;text-align:right}.nowrap{white-space:nowrap}
.spacer{flex:1}[hidden]{display:none!important}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;cursor:pointer;font:inherit;font-weight:600;padding:.62rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 4px 12px rgba(11,95,196,.25);transition:.15s;min-height:42px;text-align:center}
.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn:active{transform:none}.btn.sm{padding:.35rem .8rem;min-height:34px;font-size:.88rem}
.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}.btn.ghost:hover{background:var(--sky)}
.btn.danger{background:linear-gradient(135deg,#d6293e,#e44a5d);box-shadow:0 4px 12px rgba(214,41,62,.25)}.btn.success{background:linear-gradient(135deg,#0f9447,#1fb862)}
.btn.block{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;padding:0}
.icon-btn:hover{background:var(--sky)}.icon-btn.danger{color:var(--bad);border-color:#f3c4cb}.icon-btn.danger:hover{background:var(--bad-bg)}
.actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
/* forms */
label.lbl{display:block;font-weight:600;margin:0 0 .3rem;font-size:.92rem;color:var(--navy)}
input[type=text],input[type=email],input[type=number],input[type=search],input[type=password],select,textarea{width:100%;font:inherit;color:var(--text);background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:.62rem .8rem;min-height:44px;outline:0;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 4px rgba(30,123,224,.14)}
textarea{min-height:90px;resize:vertical}.field{margin-bottom:1rem}.row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.check{display:flex;align-items:center;gap:.55rem;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--blue)}
.seg{display:flex;gap:.6rem}.seg label{flex:1;border:1.5px solid var(--line);border-radius:12px;padding:.6rem;text-align:center;cursor:pointer;font-weight:600;background:#fff}
.seg input{display:none}.seg input:checked+span{color:var(--blue)}.seg label:has(input:checked){border-color:var(--blue2);background:var(--sky);color:var(--blue)}
.hint{font-size:.82rem;color:var(--muted);margin-top:.25rem}
/* cards */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh2);padding:1.1rem 1.2rem;margin-bottom:1rem}
.card-h{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;flex-wrap:wrap}.card-h h2,.card-h h3{margin:0;font-size:1.05rem}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.kpi{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem;box-shadow:var(--sh2)}
.kpi .ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--sky);color:var(--blue)}.kpi .ico .ic{width:24px;height:24px}
.kpi b{display:block;font-size:1.65rem;color:var(--navy);line-height:1.1}.kpi span{color:var(--muted);font-size:.88rem}
.kpi.ok .ico{background:var(--ok-bg);color:var(--ok)}.kpi.bad .ico{background:var(--bad-bg);color:var(--bad)}.kpi.warn .ico{background:var(--warn-bg);color:var(--warn)}
/* badges, progress */
.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.14rem .65rem;border-radius:99px;font-size:.8rem;font-weight:700;background:#eef2f7;color:#445}
.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.navy{background:var(--navy);color:#fff}
.progress{height:9px;border-radius:99px;background:#e6eef8;overflow:hidden;min-width:70px}.progress i{display:block;height:100%;border-radius:99px;background:var(--blue2)}
.progress i.ok{background:linear-gradient(90deg,#1fb862,#12a150)}.progress i.warn{background:linear-gradient(90deg,#f0a53a,#d98200)}.progress i.bad{background:linear-gradient(90deg,#ef6a7a,#d6293e)}
.pctcell{display:flex;align-items:center;gap:.5rem;min-width:130px}.pctcell b{font-size:.85rem;min-width:38px}
/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
table.tbl{width:100%;border-collapse:collapse;min-width:640px}
.tbl th{background:linear-gradient(180deg,#f0f6fd,#e8f1fb);color:var(--navy);font-size:.86rem;text-align:right;padding:.7rem .8rem;white-space:nowrap;border-bottom:1px solid var(--line)}
.tbl td{padding:.65rem .8rem;border-bottom:1px solid #edf2f9;vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover{background:#f7fbff}
.tbl td.num,.tbl th.num{text-align:center}
.empty{text-align:center;padding:2.4rem 1rem;color:var(--muted)}.empty .ic{width:46px;height:46px;color:#a9bdd6;margin-bottom:.5rem}
.pager{display:flex;gap:.35rem;justify-content:center;margin:1rem 0;flex-wrap:wrap}.pager a{padding:.4rem .8rem;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--navy)}.pager a.cur{background:var(--blue);color:#fff;border-color:var(--blue)}
.filters{display:grid;gap:.6rem;grid-template-columns:2fr repeat(4,1fr) auto;margin-bottom:1rem;align-items:end}
.filters .field{margin:0}
.pagehead{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem}.pagehead h2{margin:0}
/* app layout */
.app{display:grid;grid-template-columns:268px 1fr;min-height:100vh}
.side{background:linear-gradient(180deg,#0b2a5b,#0a3a7e);color:#fff;padding:1rem .8rem;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem}
.side-head{display:flex;align-items:center;gap:.7rem;padding:.4rem .5rem 1rem;border-bottom:1px solid rgba(255,255,255,.14)}.side-head img{width:44px;height:44px}.side-head b{display:block}.side-head small{opacity:.75}
.side-user{display:flex;gap:.7rem;align-items:center;background:rgba(255,255,255,.09);padding:.6rem;border-radius:14px}.side-user small{display:block;opacity:.75}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#6fb7ff,#1e7be0);display:grid;place-items:center;font-weight:700;color:#fff;flex:none}
.nav{display:flex;flex-direction:column;gap:.2rem;flex:1;margin-top:.4rem}
.nav-link{display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem;border-radius:12px;color:#d6e6fb;background:none;border:0;font:inherit;cursor:pointer;width:100%;text-align:right}
.nav-link:hover{background:rgba(255,255,255,.1);color:#fff}.nav-link.active{background:#fff;color:var(--navy);font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.logout-form{margin:0}.main{min-width:0}
.topbar{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.4rem;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar h1{margin:0;font-size:1.25rem}.menu-btn{display:none}.chip-user{background:var(--sky);padding:.3rem .8rem;border-radius:99px;font-size:.88rem;color:var(--navy)}
.content{padding:1.4rem;max-width:1400px}.scrim{display:none}
/* user mode */
.utop{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:linear-gradient(135deg,#0b2a5b,#0b5fc4);color:#fff;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:700}.brand img{width:38px;height:38px}.utop-r{display:flex;align-items:center;gap:.6rem}.uname{font-size:.9rem;opacity:.95}
.utop .btn.ghost{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.3)}
.ucontent{max-width:880px;margin:0 auto;padding:1rem 1rem 6rem}
.bnav{display:none}
.hero{background:linear-gradient(135deg,#0b2a5b,#0b5fc4 70%,#2a8cf0);color:#fff;border-radius:22px;padding:1.2rem;display:flex;gap:1rem;align-items:center;box-shadow:var(--sh);margin-bottom:1rem;flex-wrap:wrap}
.hero h2{color:#fff;margin:0 0 .15rem}.hero .meta{opacity:.9;font-size:.92rem}.hero .avatar{width:58px;height:58px;font-size:1.2rem;background:rgba(255,255,255,.2)}
.ring{--p:0;width:92px;height:92px;border-radius:50%;background:conic-gradient(#5ee59b calc(var(--p)*1%),rgba(255,255,255,.22) 0);display:grid;place-items:center;margin-inline-start:auto}
.ring span{width:72px;height:72px;border-radius:50%;background:#0b3a80;display:grid;place-items:center;font-weight:800;font-size:1.15rem}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1rem}
.tile{background:#fff;border-radius:16px;text-align:center;padding:.8rem .4rem;border:1px solid var(--line);box-shadow:var(--sh2)}.tile b{display:block;font-size:1.8rem;line-height:1.1}.tile span{font-size:.85rem;color:var(--muted)}
.tile.ok b{color:var(--ok)}.tile.bad b{color:var(--bad)}.tile.blue b{color:var(--blue)}
.doc-row{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:.6rem;box-shadow:var(--sh2)}
.doc-row .di{width:44px;height:44px;border-radius:12px;background:var(--sky);color:var(--blue);display:grid;place-items:center;flex:none}
.doc-row .dt{flex:1;min-width:0}.doc-row .dt b{display:block}.doc-row .dt small{color:var(--muted)}
/* modal */
.modal{position:fixed;inset:0;background:rgba(8,24,52,.55);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}
.modal-box{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:92vh;overflow:auto;padding:1.3rem;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:pop .18s ease}
.modal-box.sm{max-width:400px;text-align:center}.modal-box.lg{max-width:900px}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}
.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.modal-head h3{margin:0}
.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.1rem;flex-wrap:wrap}.modal-box.sm .modal-actions{justify-content:center}
.modal-ic{width:56px;height:56px;border-radius:50%;margin:0 auto .6rem;display:grid;place-items:center}.modal-ic.warn{background:var(--warn-bg);color:var(--warn)}.modal-ic .ic{width:28px;height:28px}
.pv-body{display:grid;place-items:center;min-height:300px;background:#f1f6fc;border-radius:14px;padding:.6rem;overflow:auto}.pv-body img{max-width:100%;max-height:70vh;border-radius:8px}.pv-body iframe{width:100%;height:70vh;border:0;border-radius:8px;background:#fff}
.pv-other{text-align:center;color:var(--muted)}.pv-other .ic{width:60px;height:60px}
/* toasts */
.toasts{position:fixed;top:14px;inset-inline:14px;z-index:200;display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none}
.toast{pointer-events:auto;min-width:240px;max-width:520px;padding:.8rem 1.1rem;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18);border-inline-start:5px solid var(--blue);display:flex;gap:.6rem;align-items:center;animation:pop .2s}
.toast.success{border-color:var(--ok)}.toast.error{border-color:var(--bad)}.toast.warn{border-color:var(--warn)}
/* auth */
.auth-body{background:radial-gradient(1200px 500px at 80% -10%,#cfe6ff,transparent),linear-gradient(180deg,#eaf4ff,#f7fbff);min-height:100vh;display:grid;place-items:center;padding:1rem}
.auth-card{width:100%;max-width:430px;background:#fff;border-radius:24px;box-shadow:var(--sh);padding:1.8rem 1.5rem;border:1px solid var(--line);text-align:center}
.auth-card .logo{width:84px;height:84px;margin-bottom:.4rem}.auth-card h2{margin-bottom:.1rem}.auth-card form{text-align:right;margin-top:1.2rem}
.otp-boxes{display:flex;gap:.5rem;justify-content:center;direction:ltr;margin:1rem 0}
.otp-boxes input{width:48px;height:58px;text-align:center;font-size:1.6rem;font-weight:700;border-radius:14px;padding:0;color:var(--navy)}
.countdown{font-weight:700;color:var(--blue);direction:ltr;display:inline-block}
.steps{display:flex;gap:.4rem;justify-content:center;margin-bottom:.8rem}.steps i{width:30px;height:5px;border-radius:9px;background:var(--sky2)}.steps i.on{background:var(--blue)}
/* upload slots */
.slots{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.slot{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:var(--sh2)}.slot h4{display:flex;gap:.5rem;align-items:center}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;border:2px dashed #9fc4ee;background:#f5faff;border-radius:16px;padding:1.4rem .8rem;text-align:center;cursor:pointer;color:var(--blue);transition:.15s;min-height:160px}
.drop:hover,.drop.over{background:var(--sky);border-color:var(--blue2)}.drop small{color:var(--muted)}.drop .ic{width:34px;height:34px}
.slot-actions{display:flex;gap:.5rem;margin-top:.7rem;flex-wrap:wrap}.slot-actions>*{flex:1}
.thumb{width:100%;aspect-ratio:1.58/1;object-fit:contain;background:#f1f6fc;border-radius:14px;border:1px solid var(--line);display:block;cursor:pointer}.thumb.a4{aspect-ratio:.72/1}
.thumb-ph{display:grid;place-items:center;color:var(--muted);background:#f1f6fc;border-radius:14px;border:1px solid var(--line);min-height:150px;text-align:center;padding:1rem}
.upbar{height:8px;background:#e6eef8;border-radius:9px;overflow:hidden;margin-top:.6rem}.upbar i{display:block;height:100%;width:0;background:var(--blue2);transition:width .1s}
.fmeta{font-size:.82rem;color:var(--muted);margin:.4rem 0}
.success-box{text-align:center;padding:1rem}.success-box .okc{width:64px;height:64px;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin:0 auto .5rem}.success-box .okc .ic{width:34px;height:34px}
/* tabs */
.tabs{display:flex;gap:.3rem;border-bottom:2px solid var(--line);margin-bottom:1rem;overflow-x:auto}.tab{padding:.6rem 1.1rem;cursor:pointer;border:0;background:none;font:inherit;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}.tab.on{color:var(--blue);border-color:var(--blue)}
.tabpane[hidden]{display:none}
/* dashboard widgets */
.donut{--a:0;--b:0;width:170px;height:170px;border-radius:50%;margin:auto;background:conic-gradient(#12a150 calc(var(--a)*1%),#f0a53a 0 calc((var(--a) + var(--b))*1%),#e3ebf5 0);display:grid;place-items:center}
.donut div{width:116px;height:116px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;font-weight:800;font-size:1.5rem;color:var(--navy);line-height:1.1}.donut small{display:block;font-size:.72rem;color:var(--muted);font-weight:500}
.legend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:.8rem;font-size:.85rem}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-inline-end:.3rem}
.barrow{display:grid;grid-template-columns:130px 1fr 44px;gap:.6rem;align-items:center;margin-bottom:.55rem;font-size:.9rem}.barrow .progress{height:14px}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}.chipc{padding:.3rem .8rem;border-radius:99px;font-weight:700;font-size:.85rem;background:#eef2f7}.chipc.ok{background:var(--ok-bg);color:var(--ok)}.chipc.bad{background:var(--bad-bg);color:var(--bad)}.chipc.warn{background:var(--warn-bg);color:var(--warn)}.chipc.info{background:var(--info-bg);color:var(--info)}
.sortlist{list-style:none;margin:0;padding:0}.sortlist li{display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;margin-bottom:.45rem;background:#fff}
.sortlist li.dragging{opacity:.5;background:var(--sky)}.sortlist .grip{cursor:grab;color:#8aa0bb;touch-action:none}.sortlist li.off{opacity:.5}
.tabs-link{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.tabs-link a{padding:.5rem 1rem;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:600}.tabs-link a.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.kv{display:grid;grid-template-columns:140px 1fr;gap:.5rem 1rem}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}
.chip-file{display:inline-flex;align-items:center;gap:.3rem;background:var(--sky);color:var(--navy);border:0;border-radius:99px;padding:.2rem .7rem;font:inherit;font-size:.82rem;cursor:pointer;font-weight:600}
.alert{padding:.8rem 1rem;border-radius:12px;background:var(--warn-bg);color:#7a4a00;margin-bottom:1rem}.alert.err{background:var(--bad-bg);color:#8a1626}.alert.ok{background:var(--ok-bg);color:#0b6a35}.alert.info{background:var(--info-bg);color:#0b4c9c}
/* responsive */
@media (max-width:980px){
 .app{grid-template-columns:1fr}.side{position:fixed;inset-block:0;inset-inline-start:0;width:280px;z-index:60;transform:translateX(100%);transition:.22s;height:100%}
 body.side-open .side{transform:none}body.side-open .scrim{display:block;position:fixed;inset:0;background:rgba(8,24,52,.5);z-index:50}
 .menu-btn{display:inline-flex}.content{padding:1rem}.g4{grid-template-columns:1fr 1fr}.g3,.g2{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters .field:first-child{grid-column:1/-1}.chip-user{display:none}
}
@media (max-width:720px){
 body{font-size:15.5px}.topbar{padding:.6rem .8rem}.topbar h1{font-size:1.05rem}
 .g4{grid-template-columns:1fr 1fr}.kpi{padding:.75rem}.kpi b{font-size:1.35rem}.kpi .ico{width:38px;height:38px}
 table.tbl{min-width:0}.tbl thead{display:none}.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
 .tbl tr{border:1px solid var(--line);border-radius:14px;margin:.6rem;padding:.4rem .2rem;width:auto;background:#fff}.tbl td{border:0;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.4rem .8rem;text-align:left}
 .tbl td::before{content:attr(data-label);color:var(--muted);font-size:.82rem;font-weight:600;flex:none;text-align:right}.tbl td.nolabel::before{display:none}
 .tbl-wrap{border:0;background:none}.tbl td.num{text-align:left}
 .filters{grid-template-columns:1fr}.barrow{grid-template-columns:90px 1fr 40px}.kv{grid-template-columns:100px 1fr}
 .modal{align-items:flex-end;padding:0}.modal-box{border-radius:22px 22px 0 0;max-height:94vh}.modal-box.sm{border-radius:22px 22px 0 0}
 .bnav{display:flex;position:fixed;bottom:0;inset-inline:0;background:#fff;border-top:1px solid var(--line);z-index:30;padding:.3rem .2rem calc(.3rem + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(11,42,91,.08)}
 .bnav a,.bnav .bn-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.72rem;color:var(--muted);background:none;border:0;font-family:inherit;padding:.3rem;cursor:pointer}.bnav .logout-form{flex:1;display:flex}.bnav .bn-btn{width:100%}
 .bnav .bn-btn span,.bnav a span{font-size:.72rem}.bnav a:active,.bnav .bn-btn:active{color:var(--blue)}.uname{display:none}.hero .ring{margin:0 auto}.otp-boxes input{width:42px;height:54px}
 .doc-row{padding:.75rem}.btn{min-height:46px}
}

/* ===== v2.1: واجهة المستخدم (تنقل ظاهر دائمًا) + مكتبة وثائقي + منشئ PDF ===== */
.ucontent{max-width:1100px}
.utop{gap:1rem;flex-wrap:wrap}
.unav{display:flex;gap:.25rem;flex:1;flex-wrap:wrap}
.unav a{color:#dbe9ff;padding:.45rem .95rem;border-radius:10px;font-weight:600}
.unav a:hover,.unav a.active{background:rgba(255,255,255,.18);color:#fff}
.utop-r{margin-inline-start:auto}
.utop .logout-form{display:block;margin:0}
.utop .utlogout{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35);min-height:38px}
.utop .utlogout:hover{background:#d6293e;border-color:#d6293e}
.bnav{display:none}
.bnav a.on,.bnav .bn-btn.on{color:var(--blue);font-weight:700}
.acct-links{display:grid;gap:.6rem;margin-top:1rem}.acct-links .logout-form .btn{width:100%}
.crumbs{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:0 0 .9rem;font-size:.92rem}
.crumbs i{font-style:normal;color:#8aa0bb}.crumbs a{color:var(--blue)}.crumbs b{color:var(--navy)}
.lib-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.8rem}.lib-head h2{margin:0;flex:1;min-width:160px}
.lib-tools{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
.searchbox{display:flex;gap:.4rem;flex:1;min-width:240px}.searchbox input{flex:1}
.vtoggle{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.vtoggle a{padding:.5rem 1rem;color:var(--navy);font-weight:600}.vtoggle a.on{background:var(--blue);color:#fff}
.sec{margin:1.2rem 0 .6rem;font-size:1rem}
.lib-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.lib-grid.docs{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.fcard{display:flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:.7rem;box-shadow:var(--sh2)}
.fmain{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0;color:var(--text)}.fico{width:46px;height:46px;border-radius:14px;background:var(--sky);color:var(--blue);display:grid;place-items:center;flex:none}
.ftxt{min-width:0}.ftxt b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftxt small{color:var(--muted)}
.factions{display:flex;gap:.25rem}.factions .icon-btn{width:34px;height:34px}
.dcard{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh2);overflow:hidden;display:flex;flex-direction:column}
.dthumb{aspect-ratio:1.5/1;background:#f1f6fc;display:grid;place-items:center;overflow:hidden}.dthumb img{width:100%;height:100%;object-fit:contain;cursor:pointer}
.dthumb .tph{display:grid;place-items:center;gap:.2rem;color:var(--blue);text-align:center}.dthumb .tph.muted{color:var(--muted)}.dthumb .tph .ic{width:38px;height:38px}
.dbody{padding:.8rem .9rem;display:flex;flex-direction:column;gap:.35rem;flex:1}.dbody h4{margin:0;font-size:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dmeta{display:flex;gap:.3rem;flex-wrap:wrap}.chipsrow{display:flex;gap:.3rem;flex-wrap:wrap}
.dactions{display:flex;gap:.3rem;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:.4rem}.dactions .btn{flex:1}.dactions .icon-btn{width:36px;height:36px}
.shortcuts{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.scard{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:var(--sh2);color:var(--text)}.scard:hover{background:var(--sky)}
.scard .di{width:46px;height:46px;border-radius:14px;background:var(--sky);color:var(--blue);display:grid;place-items:center}.scard small{display:block;color:var(--muted)}
.pdfgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;align-items:start}
.fgroup{border-inline-start:3px solid var(--sky2);padding-inline-start:.7rem;margin:.4rem 0}.fgroup.root{border:0;padding:0}
.fhead{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.3rem 0;color:var(--navy)}.fhead .check{margin-inline-start:auto;font-weight:500}
.chkrow{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border-radius:10px;cursor:pointer}.chkrow:hover{background:#f3f8ff}.chkrow.off{opacity:.5;cursor:not-allowed}
.chkrow input{width:20px;height:20px;accent-color:var(--blue);flex:none}.chkrow .ct{flex:1;min-width:0}
#order-list li .n{width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:.8rem;flex:none}
#order-list li .t{flex:1;min-width:0}
@media (max-width:980px){.pdfgrid{grid-template-columns:1fr}}
@media (min-width:721px){.bnav{display:none!important}}
@media (max-width:720px){
 .unav{display:none}.utop{padding:.55rem .8rem;flex-wrap:nowrap}.utop-r{margin-inline-start:auto}
 .utop .utlogout span{display:none}.utop .utlogout{padding:.4rem .6rem;min-width:40px}
 .bnav{display:flex}.ucontent{padding-bottom:6rem}
 .lib-grid,.lib-grid.docs{grid-template-columns:1fr}.crumbs{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:.3rem}
 .lib-head .actions .btn{flex:1}.fhead .check{margin-inline-start:0;flex-basis:100%}
}
