:root{--ink:#153146;--muted:#6d8291;--line:#dce6ea;--canvas:#f3f7f9;--surface:#fff;--nav:#0d2d42;--teal:#09aaa5;--teal2:#087e81;--mint:#e2f6f3;--red:#bd4a51;--amber:#aa7008;--shadow:0 12px 36px rgba(15,45,63,.12)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}.shell{min-height:100vh}.shell>aside{position:fixed;inset:0 auto 0 0;width:255px;background:linear-gradient(180deg,var(--nav),#081f30);color:#fff;padding:18px 14px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:3px 8px 22px}.brand>div:last-child,.account>div:nth-child(2){display:flex;flex-direction:column;gap:2px}.brand strong{font-size:13px}.brand small,.account small{font-size:9px;color:#91afbf}.logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#11c4b9,#2b8ec3);color:#fff;font-weight:800}.shell nav{flex:1;overflow:auto}.nav-label{font-size:9px;letter-spacing:1.3px;color:#6f96aa;padding:20px 11px 7px}.nav-button{border:0;width:100%;color:#abc4d2;background:transparent;border-radius:10px;padding:10px 11px;display:flex;align-items:center;gap:11px;text-align:left;margin:2px 0;cursor:pointer}.nav-button span:last-child{font-size:12px}.nav-button:hover,.nav-button.active{color:#fff;background:rgba(17,194,185,.14)}.nav-button.active{box-shadow:inset 3px 0 #18c0b6}.account{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:9px}.account>div:nth-child(2){min-width:0;flex:1}.account strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:34px;height:34px;border-radius:10px;background:#176c80;display:grid;place-items:center;font-size:11px;font-weight:700}.account button,.icon{border:0;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer}.shell>main{margin-left:255px}.shell main>header{height:76px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 28px;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.shell main>header>div{flex:1}.shell main>header small{font-size:9px;color:var(--teal2);font-weight:700;letter-spacing:1px}.shell main>header h1{font-size:20px;margin:2px 0}.shell main>header .icon{color:var(--muted);width:38px;height:38px;border:1px solid var(--line);border-radius:10px}#menu{display:none}#content{padding:24px 28px 50px;max-width:1500px;margin:auto}.hero{background:linear-gradient(120deg,#123b57,#16727b);padding:24px 26px;color:#fff;border-radius:18px;margin-bottom:18px}.hero small{color:#78ded5;font-weight:700;letter-spacing:1px}.hero h2{margin:7px 0 4px;font-size:22px}.hero p{margin:0;color:#bdd7df;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:0 2px 8px rgba(20,52,70,.03)}.metric{padding:16px;display:flex;align-items:center;gap:11px}.metric>.material-symbols-rounded{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--mint);color:var(--teal2)}.metric div{display:flex;flex-direction:column}.metric strong{font-size:21px}.metric small{color:var(--muted);font-size:9px}.panel{overflow:hidden;margin-bottom:16px}.panel-head,.toolbar{min-height:56px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.panel-head h3{font-size:13px;margin:0}.panel-head small{color:var(--muted);font-size:9px}.toolbar{border:0;background:transparent;padding:0;margin-bottom:12px;min-height:0}.toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:8px 12px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.button.primary{background:var(--teal);border-color:var(--teal);color:#fff}.button.danger{color:var(--red);border-color:#efc2c5}.button.subtle{background:var(--canvas)}.button:disabled{opacity:.45;cursor:not-allowed}.input,.select,.textarea{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;color:var(--ink);font-size:11px;outline:0;min-width:150px}.textarea{min-height:90px;resize:vertical}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{background:#f7fafb;color:#5b7282;font-size:9px;text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:11px 12px;white-space:nowrap}td{padding:11px 12px;border-top:1px solid #edf2f4;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.status{display:inline-flex;padding:4px 8px;border-radius:12px;font-size:9px;font-weight:700}.status-active,.status-approved,.status-ready{background:#ddf4e8;color:#18744e}.status-inactive,.status-rejected,.status-blocked{background:#fde7e8;color:#af4349}.status-pending{background:#fff0d2;color:#95640a}.status-draft{background:#e7eff3;color:#526c7c}.pager{padding:12px 15px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.pager>div{display:flex;gap:5px}.empty{padding:45px 20px;text-align:center;color:var(--muted);font-size:11px}.login-summary{padding:11px 15px;background:#f0faf6;display:flex;gap:18px;align-items:center;font-size:10px;border-bottom:1px solid var(--line)}.login-summary.blocked{background:#fff7e6;color:var(--amber)}.login-summary strong:first-child{margin-right:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;padding:16px}.module-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.module-card strong,.module-card small{display:block}.module-card small{color:var(--muted);margin-top:4px}.working{position:fixed;right:18px;top:18px;z-index:100;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:11px 15px;display:flex;align-items:center;gap:9px;font-size:11px}.working i{width:18px;height:18px;border:2px solid #bce6e2;border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}.toast{position:fixed;right:20px;bottom:20px;z-index:110;background:#15374b;color:#fff;border-radius:10px;padding:11px 14px;box-shadow:var(--shadow);font-size:11px}.toast.error{background:#a93f47}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;text-align:center;box-shadow:var(--shadow)}.login-card .logo{margin:auto}.login-card h1{font-size:21px}.login-card p{color:var(--muted);font-size:11px;line-height:1.6}.login-card .button{display:flex;margin:10px 0}.login-card small{display:block;color:var(--muted);margin-top:15px;font-size:9px}dialog{width:min(720px,calc(100% - 24px));border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(4,21,32,.62)}dialog form>header,dialog footer{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}dialog h2{font-size:14px;margin:0}dialog footer{justify-content:flex-end;border:0;border-top:1px solid var(--line)}.modal-body{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:700}.field>*{width:100%}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.metrics,.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell>aside{transform:translateX(-100%);transition:.2s}.shell>aside.open{transform:none}.shell>main{margin:0}#menu{display:grid}#content{padding:17px 12px 40px}.shell main>header{padding:0 13px}.metrics,.cards{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.pager{align-items:flex-start;flex-direction:column;gap:8px}.modal-body{grid-template-columns:1fr}.field.full{grid-column:auto}}@media(max-width:430px){.metrics,.cards{grid-template-columns:1fr}}
