:root{--navy:#142c4e;--blue:#2563eb;--bg:#f5f7fb;--surface:#fff;--txt:#142132;--muted:#69778a;--border:#dfe5ed;--ok:#0b8063;--bad:#b43e44;--soft:#edf3ff;--warn:#ab6503}*{box-sizing:border-box}html,body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--txt);background:var(--bg)}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--blue)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #93bbff;outline-offset:2px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#eff5ff,#f9fafc)}.auth-card{background:#fff;box-shadow:0 18px 60px #12294418;padding:32px;border-radius:22px;width:min(100%,470px)}.auth-card h1{font-size:25px;margin:12px 0}.auth-card p{color:var(--muted);line-height:1.6}.logo{display:flex;gap:12px;align-items:center;font-weight:800;color:var(--navy)}.logo-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:var(--navy);color:white;font-size:22px}.layout{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:var(--navy);padding:22px 14px;color:white;position:sticky;top:0;align-self:start;min-height:100vh}.sidebar .logo{color:white;padding:6px 11px 20px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{background:transparent;color:#d9e6f7;border:0;text-align:left;padding:12px 13px;border-radius:10px;width:100%}.sidebar nav button:hover,.sidebar nav button.active{background:#2d4971;color:#fff}.sidebar .foot{font-size:12px;opacity:.8;line-height:1.5;margin:32px 12px}.content{min-width:0}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:17px 30px;display:flex;justify-content:space-between;align-items:center;gap:12px}.topbar h2{margin:0;font-size:20px}.userbox{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.page{padding:26px 30px;max-width:1400px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.page-heading h3{margin:0;font-size:22px}.hint,.muted{color:var(--muted)}.hint{font-size:13px;line-height:1.55}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 2px 9px #182d4806}.card h4{font-size:16px;margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{background:var(--surface);padding:21px;border-radius:14px;border:1px solid var(--border)}.stat strong{font-size:31px;display:block;margin:7px 0}.stat span{color:var(--muted);font-size:13px}.field{display:grid;gap:7px;min-width:0}.field label{font-size:13px;font-weight:650}.field input,.field select,.field textarea,input,textarea,select{border:1px solid #ced7e3;border-radius:9px;padding:11px 12px;background:white;color:var(--txt);width:100%;min-width:0}.field textarea{min-height:70px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid .wide{grid-column:span 3}.form-grid .half{grid-column:span 2}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;background:var(--blue);border:1px solid var(--blue);border-radius:9px;padding:10px 15px;color:white;font-weight:650;line-height:1.2}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:#fff;color:var(--navy);border-color:#cad5e1}.btn.danger{background:#fff;color:var(--bad);border-color:#f2b4b5}.btn.small{padding:7px 9px;font-weight:600;font-size:12px}.btn.ghost{background:transparent;color:var(--blue);border-color:transparent}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:15px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 11px;border-bottom:1px solid #e8edf2;text-align:left;vertical-align:top}th{background:#f1f5fa;color:#35465d;font-weight:750;white-space:nowrap}tr:last-child td{border-bottom:none}.nowrap{white-space:nowrap}.pill{display:inline-block;font-size:12px;padding:4px 8px;border-radius:999px;background:#e9eef4;color:#4e5967;font-weight:650}.pill.pending{background:#fff1d7;color:#855500}.pill.approved,.pill.ready{background:#e7f0ff;color:#215cb8}.pill.borrowed{background:#e2f7ef;color:#087858}.pill.returned{background:#e4f5f0;color:#087858}.pill.rejected,.pill.cancelled{background:#f8e8e9;color:#9a3b40}.badge{background:#e93549;color:white;padding:2px 6px;border-radius:999px;font-size:11px}.inline-check{display:flex;align-items:center;gap:8px;font-size:13px}.inline-check input{width:18px;height:18px}.equipment-select{display:grid;grid-template-columns:1fr 92px;gap:12px;align-items:center;border-bottom:1px solid var(--border);padding:10px 4px}.equipment-select:last-child{border:0}.equipment-select b{font-size:13px}.equipment-select small{display:block;color:var(--muted);margin-top:2px}.equipment-select input{padding:9px}.note{border-radius:10px;background:#f0f6ff;padding:13px 15px;font-size:13px;color:#344b6b;line-height:1.6}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.toolbar input,.toolbar select{width:auto;max-width:210px}.table-actions{display:flex;gap:4px;flex-wrap:wrap}.empty{padding:35px;color:var(--muted);text-align:center}.statusline{font-size:12px;color:var(--muted)}#toast{position:fixed;bottom:18px;right:18px;max-width:430px;z-index:9999;background:#15314f;color:white;border-radius:12px;padding:13px 18px;box-shadow:0 8px 30px #18365340;display:none}#toast.show{display:block}#toast.error{background:#a02d3c}.list{display:grid;gap:9px}.notif{padding:13px;border:1px solid var(--border);border-radius:10px;background:white}.notif.unread{border-left:4px solid var(--blue);background:#f7faff}.notif .meta{color:var(--muted);font-size:12px}.loading{display:grid;place-items:center;min-height:70vh;color:var(--muted)}.title-row{display:flex;align-items:center;gap:10px}.spacer{flex:1}.divider{height:1px;background:var(--border);margin:15px 0}.hide{display:none!important}.skip{position:absolute;top:-60px}.skip:focus{top:4px}.tiny{font-size:12px;color:var(--muted)}@media(max-width:980px){.layout{grid-template-columns:1fr}.sidebar{min-height:auto;position:static;padding:12px}.sidebar .logo{padding:5px 10px}.sidebar nav{display:flex;overflow-x:auto;padding:3px;gap:5px}.sidebar nav button{white-space:nowrap;width:auto;padding:10px}.sidebar .foot{display:none}.topbar{padding:16px}.page{padding:16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .wide{grid-column:span 2}.form-grid .half{grid-column:span 2}}@media(max-width:580px){.grid,.grid.two,.form-grid{grid-template-columns:1fr}.form-grid .wide,.form-grid .half{grid-column:span 1}.auth-card{padding:23px}.topbar h2{font-size:16px}.userbox{font-size:11px}.page-heading h3{font-size:19px}.equipment-select{grid-template-columns:1fr 76px}.card{padding:15px}.toolbar input,.toolbar select{max-width:100%;width:100%}}

/* V1.1 – form đăng ký theo PĐK */
.stacked-options{display:flex;gap:12px;flex-wrap:wrap}.stacked-options label{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:12px;background:#f8faff;padding:12px;font-size:13px;cursor:pointer}.stacked-options input{width:18px;height:18px;margin:0}.inline-check{cursor:pointer}.field input[type=checkbox]{width:auto}.page-heading .hint{margin:6px 0 0}
@media(max-width:580px){.stacked-options{flex-direction:column}.stacked-options label{width:100%}}
