:root{--navy:#0f172a;--blue:#3b82f6;--blue-strong:#2563eb;--cyan:#60a5fa;--ink:#0f172a;--muted:#64748b;--line:#dce4ef;--canvas:#f4f7fb;--white:#fff;--green:#16845b;--amber:#dc8b16;--red:#c94444;--radius:18px;--shadow:0 12px 32px rgba(15,23,42,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas);font-size:16px}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.13em;margin:0 0 .65rem}.blue{color:var(--blue)}.muted{color:var(--muted)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#eef4fb}.login-brand{background:radial-gradient(circle at 78% 18%,rgba(59,130,246,.22),transparent 34%),linear-gradient(145deg,#0f172a,#111c35);color:#fff;padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-260px;top:-90px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018)}.login-full-logo{width:min(360px,72%);height:auto;margin:0 0 2.5rem;position:relative;z-index:1}.login-brand h1{font-size:clamp(2.6rem,5vw,5.2rem);max-width:800px;line-height:.98;letter-spacing:-.05em;margin:.8rem 0 1.5rem}.login-brand>p:not(.eyebrow){max-width:600px;font-size:1.18rem;line-height:1.7;color:#cbd5e1}.brand-ribbon{display:flex;gap:9px;margin-top:2rem}.brand-ribbon span{width:52px;height:5px;border-radius:5px;background:var(--blue)}.brand-ribbon span:nth-child(2){opacity:.82}.brand-ribbon span:nth-child(3){opacity:.64}.brand-ribbon span:nth-child(4){opacity:.46}.login-card{width:min(440px,calc(100% - 3rem));margin:auto;background:#fff;padding:clamp(2rem,5vw,3.5rem);border-radius:24px;box-shadow:var(--shadow)}.login-card h2{font-size:2rem;margin:.1rem 0 .5rem}.login-card label,.form-grid label{display:grid;gap:.5rem;font-weight:700;margin-top:1.2rem}.login-card input,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cbd8e6;border-radius:11px;padding:.85rem 1rem;background:#fbfdff;color:var(--ink);outline:none}.login-card input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.14)}.primary,.secondary{border:0;border-radius:11px;padding:.8rem 1.1rem;font-weight:800;cursor:pointer}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue-strong)}.secondary{background:#e8eff7;color:var(--navy)}.wide{width:100%;margin-top:1.25rem}.login-card small{display:block;text-align:center;color:var(--muted);margin-top:1.25rem}.form-error{min-height:1.2rem;color:var(--red);font-size:.9rem}
.workspace{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:1.35rem 1rem;display:flex;flex-direction:column}.logo-row{display:block;padding:.2rem .55rem 1.8rem}.logo-row img{display:block;width:170px;max-width:100%;height:auto}.logo-row span{display:block;color:#94a3b8;font-size:.78rem;margin-top:.8rem;letter-spacing:.04em}.sidebar nav{display:grid;gap:.35rem}.nav-item{border:0;color:#cbd5e1;background:transparent;text-align:left;padding:.85rem 1rem;border-radius:11px;font-weight:650;cursor:pointer;display:flex;align-items:center;gap:.75rem}.nav-item span{font-size:1.15rem;width:20px;text-align:center}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(59,130,246,.18)}.nav-item.active{box-shadow:inset 3px 0 var(--blue)}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:1.2rem .55rem .3rem;display:flex;gap:.7rem;align-items:center}.sidebar-foot>span{width:10px;height:10px;border-radius:50%;background:#39d98a;box-shadow:0 0 0 5px rgba(57,217,138,.12)}.sidebar-foot b,.sidebar-foot small{display:block}.sidebar-foot small{color:#94a3b8;margin-top:.15rem}
main{min-width:0}.topbar{height:92px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 clamp(1.2rem,3vw,2.5rem);gap:1rem;position:sticky;top:0;z-index:10}.topbar h1{font-size:1.5rem;margin:0;letter-spacing:-.025em}.topbar .eyebrow{margin-bottom:.25rem}.user-menu{margin-left:auto;display:flex;align-items:center;gap:.7rem}.user-menu b,.user-menu span{display:block}.user-menu span{font-size:.82rem;color:var(--muted);margin-top:.15rem}.avatar{width:42px;height:42px;border-radius:13px;background:#e2efff;color:var(--blue);display:grid;place-items:center;font-weight:900}.text-button,.icon-button{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer}.icon-button{font-size:1.4rem}.topbar #menu{display:none}.content{padding:clamp(1.2rem,3vw,2.5rem);max-width:1600px;margin:0 auto}.page-lead{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.page-lead h2{margin:0 0 .35rem;font-size:1.35rem}.page-lead p{margin:0;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:0 5px 18px rgba(15,45,82,.04)}.kpi-top{display:flex;justify-content:space-between;color:var(--muted);font-size:.88rem;font-weight:700}.kpi-icon{width:36px;height:36px;border-radius:11px;background:#e8f2ff;color:var(--blue);display:grid;place-items:center}.kpi strong{font-size:2rem;display:block;margin:.55rem 0 .2rem;letter-spacing:-.04em}.kpi small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:1rem;margin-top:1rem}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;box-shadow:0 5px 18px rgba(15,45,82,.04)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.panel h3{margin:0;font-size:1.05rem}.area-row{display:grid;grid-template-columns:minmax(160px,1fr) 2.2fr auto;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid #edf2f7}.area-row:last-child{border-bottom:0}.area-row b{font-size:.92rem}.bar{height:9px;background:#edf2f7;border-radius:10px;overflow:hidden}.bar span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.area-row small{color:var(--muted)}.ring{width:164px;height:164px;border-radius:50%;margin:1.2rem auto;display:grid;place-items:center;background:conic-gradient(var(--blue) 0deg,#e5edf6 0);position:relative}.ring:after{content:"";position:absolute;inset:16px;background:#fff;border-radius:50%}.ring div{z-index:1;text-align:center}.ring strong{display:block;font-size:2rem}.ring span{font-size:.8rem;color:var(--muted)}.quick-list{display:grid;gap:.7rem}.quick-item{display:flex;justify-content:space-between;gap:1rem;background:#f6f9fd;border-radius:12px;padding:.85rem}.quick-item span{color:var(--muted);font-size:.88rem}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid #e9eff6}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc}td{font-size:.92rem}.status{display:inline-flex;padding:.3rem .6rem;border-radius:20px;background:#e8f2ff;color:#0a57ad;font-size:.76rem;font-weight:800}.status.green{background:#e2f6ee;color:#157152}.status.amber{background:#fff2db;color:#9a6107}.status.red{background:#fee9e9;color:#ac2e2e}.empty{padding:4rem 2rem;text-align:center;background:#fff;border:1px dashed #bdccdc;border-radius:var(--radius)}.empty-icon{width:58px;height:58px;border-radius:18px;background:#eaf2fb;color:var(--blue);display:grid;place-items:center;margin:0 auto 1rem;font-size:1.5rem}.empty h3{margin:.3rem}.empty p{color:var(--muted);max-width:520px;margin:.5rem auto 1.2rem}.area-accordion{display:grid;gap:.8rem}.area-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.area-card summary{cursor:pointer;padding:1rem 1.2rem;font-weight:800;display:flex;justify-content:space-between}.area-card summary span{color:var(--muted);font-weight:600}.process{padding:1rem 1.25rem;border-top:1px solid var(--line)}.process h4{margin:0 0 .7rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{font-size:.82rem;background:#eff5fb;border:1px solid #d7e4f1;border-radius:20px;padding:.42rem .7rem}.progress{min-width:120px}.progress .bar{margin-bottom:.3rem}.action-link{color:var(--blue);font-weight:800;background:none;border:0;cursor:pointer;padding:0}.loading{display:grid;place-items:center;min-height:45vh;color:var(--muted)}
.route-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.25rem}.route-strip span{background:#e8eef6;color:var(--muted);padding:.8rem;border-radius:10px;text-align:center;font-size:.84rem;font-weight:800}.route-strip .done{background:#dbeafe;color:var(--blue-strong)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem}.workflow-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;display:grid;gap:.9rem;box-shadow:0 5px 18px rgba(15,45,82,.04)}.workflow-card h3,.workflow-card p{margin:0}.card-top,.metric-row{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.card-top small{color:var(--muted)}.metric-row{background:#f5f8fc;border-radius:10px;padding:.75rem}.metric-row span{font-size:.8rem;color:var(--muted)}.metric-row b{color:var(--ink)}.support-link{color:var(--blue-strong);font-weight:750}.catalog-block{margin-top:1.4rem}.catalog-block>summary{cursor:pointer;font-weight:800;padding:1rem 0}.back-link{border:0;background:transparent;color:var(--blue-strong);font-weight:800;cursor:pointer;margin:-.6rem 0 1.2rem;padding:0}.session-context{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-bottom:1rem}.session-context p{margin:.35rem 0 0;color:var(--muted)}.component-stack{display:grid;gap:1rem}.component-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.component-title{display:flex;justify-content:space-between;align-items:start;gap:1rem}.component-title h3{margin:.1rem 0 1rem}.assessment-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem}.assessment-form label{display:grid;gap:.4rem;font-weight:750}.assessment-form .full,.assessment-form .form-actions,.assessment-form .inline-message{grid-column:1/-1}.assessment-form input,.assessment-form select,.assessment-form textarea{border:1px solid #cbd8e6;border-radius:10px;padding:.75rem;background:#fbfdff}.assessment-form textarea{min-height:78px;resize:vertical}.form-actions{display:flex;gap:.7rem;align-items:center}.inline-message{margin:0;color:var(--red)}.inline-message.success{color:var(--green)}.uti-result{margin-top:1rem;background:#eef5ff;border-left:4px solid var(--blue);border-radius:10px;padding:.8rem 1rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.uti-result span{color:var(--muted)}.help-text{color:var(--muted);margin:.5rem 0}.form-grid small{color:var(--muted);font-weight:500}
dialog{border:0;border-radius:20px;padding:0;width:min(650px,calc(100% - 2rem));box-shadow:0 25px 80px rgba(5,30,66,.3)}dialog::backdrop{background:rgba(6,25,54,.55);backdrop-filter:blur(3px)}dialog form{padding:1.6rem}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head h2{margin:.1rem 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.form-grid .full{grid-column:1/-1}.form-grid textarea{min-height:95px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.4rem}
@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.sidebar{position:fixed;left:-285px;z-index:20;width:270px;transition:left .2s}.workspace.menu-open .sidebar{left:0}.topbar #menu{display:block}.user-menu>div:not(.avatar){display:none}}
@media(max-width:720px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:36vh;padding:2.2rem}.login-brand h1{font-size:2.5rem}.login-brand>p:not(.eyebrow){font-size:1rem}.login-card{margin:1.5rem auto}.topbar{height:78px}.topbar h1{font-size:1.2rem}.user-menu .text-button{font-size:.85rem}.kpi-grid{grid-template-columns:1fr}.page-lead{align-items:start;flex-direction:column}.area-row{grid-template-columns:1fr}.form-grid,.assessment-form,.session-context{grid-template-columns:1fr}.form-grid .full,.assessment-form .full{grid-column:auto}.content{padding:1rem}.route-strip{grid-template-columns:1fr 1fr}.uti-result{display:grid}}
