:root{color:#102346;font-synthesis:none;text-rendering:optimizelegibility;--navy-950:#06162f;--navy-900:#071d3f;--navy-800:#0a2b58;--ink:#102346;--muted:#687895;--blue:#258cf6;--blue-strong:#1479e8;--baby-blue:#eaf5ff;--sky:#57b8ff;--cyan:#18b9c8;--teal:#36c7a1;--violet:#7d73f8;--orange:#ff9d3e;--red:#f05f64;--surface:#fff;--surface-soft:#f7fbff;--border:#dfeaf5;--border-strong:#cee0f2;--success:#12a77e;--warning:#f4a62a;--danger:#d9424a;--shadow:0 16px 44px #22538617;--shadow-soft:0 8px 28px #22538612;background:#f4f8fd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color:#e9f3ff;--ink:#edf6ff;--muted:#96a9c5;--surface:#10233d;--surface-soft:#0d1e35;--border:#1d3858;--border-strong:#2b4b6d;--baby-blue:#153554;--shadow:0 16px 44px #0000003d;--shadow-soft:0 8px 28px #0000002e;background:#091526}*{box-sizing:border-box}html{background:#f4f8fd;min-width:320px;min-height:100%}html[data-theme=dark]{background:#091526}body{background:#f4f8fd;min-width:320px;min-height:100vh;margin:0}:root[data-theme=dark] body{background:#091526}button,input,select{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em}h2{letter-spacing:-.028em}label{color:var(--ink);gap:.45rem;font-size:.88rem;font-weight:700;display:grid}input,select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;outline:none;padding:.82rem .9rem;transition:all .2s}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 4px #258cf621}small{color:var(--muted);font-weight:500}.brand{align-items:center;gap:.72rem;min-width:0;display:flex}.brand__symbol{flex:none;width:44px;height:38px;position:relative}.brand__symbol span{background:linear-gradient(90deg,#52c7ff,#258cf6 58%,#6f78ff);border-radius:999px;height:9px;display:block;position:absolute;box-shadow:0 7px 18px #258cf640}.brand__symbol span:first-child{width:35px;top:6px;left:1px;transform:skew(-36deg)}.brand__symbol span:last-child{width:35px;bottom:6px;right:1px;transform:skew(-36deg)}.brand__copy{min-width:0}.brand__copy strong{color:var(--ink);letter-spacing:-.045em;font-size:1.45rem;line-height:1;display:block}.brand__copy span{color:var(--muted);letter-spacing:.19em;text-transform:uppercase;margin-top:.32rem;font-size:.62rem;font-weight:850;display:block}.brand--inverse .brand__copy strong{color:#fff}.brand--inverse .brand__copy span{color:#9ab5d5}.brand--compact .brand__copy{display:none}.brand--compact .brand__symbol{margin-inline:auto}.eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.55rem;font-size:.72rem;font-weight:850}.eyebrow.light{color:#9dd8ff}.muted{color:var(--muted);line-height:1.65}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px}.button{border:0;border-radius:12px;padding:.8rem 1.08rem;font-weight:780;transition:all .2s}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:linear-gradient(135deg, var(--blue), #4aaeff);color:#fff;box-shadow:0 9px 24px #258cf638}.button.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px #258cf64d}.button.secondary{background:var(--baby-blue);color:var(--navy-800)}.button.ghost{color:var(--muted);background:0 0}.button.full{width:100%}.alert{border-radius:12px;margin:1rem 0;padding:.9rem 1rem;font-size:.9rem}.alert.error{color:var(--danger);background:#fff0f1;border:1px solid #ffcdd1}.alert.success{color:var(--success);background:#e9faf5;border:1px solid #bcebdc}.splash{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;display:grid}.spinner{border:3px solid #d8e7f5;border-top-color:var(--blue);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.install-shell,.auth-shell{grid-template-columns:minmax(310px,.84fr) minmax(520px,1.16fr);min-height:100vh;display:grid}.install-side,.auth-visual{color:#fff;background:radial-gradient(circle at 15% 20%, #45aeff3d, transparent 26%), linear-gradient(150deg, var(--navy-950), var(--navy-800) 68%, #0b5d83);flex-direction:column;justify-content:space-between;gap:4rem;padding:clamp(2.2rem,5vw,5.3rem);display:flex}.install-side p,.auth-visual p{color:#ffffffb8;max-width:560px;line-height:1.72}.install-content,.auth-content{background:#f5f9fd;place-items:center;padding:2rem;display:grid}:root[data-theme=dark] .install-content,:root[data-theme=dark] .auth-content{background:#091526}.install-panel{width:min(780px,100%);min-height:560px;padding:clamp(1.5rem,4vw,3rem)}.steps{gap:.72rem;padding:0;list-style:none;display:grid}.steps li{color:#ffffff85;align-items:center;gap:.82rem;font-size:.9rem;display:flex}.steps li span{border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:29px;height:29px;font-size:.74rem;display:grid}.steps li.active,.steps li.done{color:#fff}.steps li.active span{color:var(--navy-800);background:#fff}.steps li.done span{background:var(--cyan);border-color:var(--cyan)}.requirements{gap:.8rem;margin:2rem 0;display:grid}.requirement{background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;align-items:center;gap:.85rem;padding:1rem;display:flex}.requirement strong,.requirement small{display:block}.requirement small{margin-top:.25rem}.status-ok,.status-error{border-radius:50%;place-items:center;width:31px;height:31px;font-weight:900;display:grid}.status-ok{color:var(--success);background:#dff7ef}.status-error{color:var(--danger);background:#ffebe8}.form-grid{gap:1rem;margin:1.5rem 0;display:grid}.form-grid.two{grid-template-columns:1fr 1fr}.span-two{grid-column:span 2}.checkbox{grid-template-columns:auto 1fr;align-items:center;margin:.6rem 0 1rem;display:flex}.checkbox input{width:auto}.wizard-footer{border-top:1px solid var(--border);justify-content:space-between;margin-top:2rem;padding-top:1.4rem;display:flex}.review-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;gap:.8rem;margin:1.5rem 0;padding:1.1rem;display:grid}.review-card div{justify-content:space-between;gap:1rem;display:flex}.review-card span{color:var(--muted)}.auth-visual{min-height:100vh}.auth-content{background:#f4f8fd}.auth-panel{width:min(450px,100%);padding:2.55rem}.auth-panel label{margin:1rem 0}.app-shell{background:#f4f8fd;grid-template-columns:230px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .25s;display:grid}:root[data-theme=dark] .app-shell{background:#091526}.app-shell--collapsed{grid-template-columns:82px minmax(0,1fr)}.sidebar{z-index:30;color:#fff;background:radial-gradient(circle at 40% 0,#2b8fff2e,#0000 28%),linear-gradient(#071a3b,#06152f);border-right:1px solid #ffffff0d;flex-direction:column;height:100vh;min-height:680px;padding:1.5rem .85rem 1rem;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar__header{justify-content:space-between;align-items:center;padding:.3rem .42rem .6rem;display:flex}.sidebar__mobile-close{color:#fff;background:0 0;border:0;display:none}.sidebar__nav{gap:.28rem;margin:1.35rem 0;display:grid}.sidebar-link{color:#c1d1e6;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:.78rem;width:100%;min-height:43px;padding:.68rem .8rem;transition:all .18s;display:flex;position:relative}.sidebar-link:hover{color:#fff;background:#ffffff12;transform:translate(1px)}.sidebar-link--active{color:#fff;background:linear-gradient(110deg,#1e79ed,#39aafc);box-shadow:0 9px 24px #1576e14d}.sidebar-link span{white-space:nowrap;flex:1;font-size:.85rem;font-weight:680}.sidebar-link small{color:#8eb1d9;letter-spacing:.03em;white-space:nowrap;font-size:.56rem}.sidebar-link--active small{color:#ffffffbf}.app-shell--collapsed .sidebar-link{justify-content:center;padding-inline:0}.app-shell--collapsed .sidebar-link span,.app-shell--collapsed .sidebar-link small{display:none}.sidebar-promo{background:linear-gradient(160deg,#2268b038,#1643752e);border:1px solid #8fc2f624;border-radius:16px;margin-top:auto;padding:1rem;box-shadow:inset 0 1px #ffffff0a}.sidebar-promo__art{color:#7fd2ff;background:linear-gradient(145deg,#3da3ff47,#5c78ff2e);border-radius:16px;place-items:center;width:55px;height:55px;margin-bottom:.8rem;display:grid}.sidebar-promo strong{font-size:.88rem;line-height:1.4;display:block}.sidebar-promo p{color:#a6bdd9;margin:.5rem 0 .8rem;font-size:.72rem;line-height:1.55}.sidebar-promo button{color:#fff;background:linear-gradient(110deg,#268cf6,#42b2ff);border:0;border-radius:10px;width:100%;padding:.66rem;font-size:.72rem;font-weight:750}.app-shell--collapsed .sidebar-promo{display:none}.sidebar__footer{border-top:1px solid #ffffff14;gap:.25rem;margin-top:1rem;padding-top:.8rem;display:grid}.theme-control{color:#92a8c4;justify-content:center;align-items:center;gap:.55rem;min-height:39px;display:flex}.theme-switch{background:#14365e;border:0;border-radius:999px;width:39px;height:21px;padding:0;position:relative}.theme-switch span{background:#fff;border-radius:50%;width:15px;height:15px;transition:all .2s;position:absolute;top:3px;left:3px}.theme-switch--active{background:var(--blue)}.theme-switch--active span{transform:translate(18px)}.sidebar-collapse,.sidebar-logout{color:#aabbd0;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:.7rem;min-height:40px;padding:.55rem .72rem;display:flex}.sidebar-collapse:hover,.sidebar-logout:hover{color:#fff;background:#ffffff0f}.sidebar-collapse span,.sidebar-logout span{white-space:nowrap;font-size:.75rem}.app-shell--collapsed .sidebar-collapse,.app-shell--collapsed .sidebar-logout{justify-content:center;padding-inline:0}.app-shell--collapsed .sidebar-collapse span,.app-shell--collapsed .sidebar-logout span,.app-shell--collapsed .theme-control svg{display:none}.mobile-menu-button{z-index:25;border:1px solid var(--border);width:42px;height:42px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:12px;display:none;position:fixed;top:.9rem;left:.9rem}.sidebar-backdrop{display:none}.dashboard{min-width:0;padding:1.8rem clamp(1.2rem,3vw,2.7rem) 2.4rem}.dashboard-header{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.35rem;display:flex}.dashboard-kicker{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem;font-size:.68rem;font-weight:850}.dashboard-header h1{color:var(--ink);margin-bottom:.32rem;font-size:clamp(1.75rem,2.35vw,2.45rem);line-height:1.1}.dashboard-header>div:first-child>p:last-child{color:var(--muted);margin-bottom:0;font-size:.86rem}.dashboard-header__actions{align-items:center;gap:.7rem;display:flex}.date-filter,.notification-button,.avatar{border:1px solid var(--border);background:var(--surface);min-height:43px;box-shadow:var(--shadow-soft)}.date-filter{color:var(--ink);border-radius:12px;align-items:center;gap:.62rem;padding:.68rem .88rem;font-size:.76rem;font-weight:700;display:flex}.notification-button{width:43px;color:var(--ink);border-radius:12px;place-items:center;display:grid;position:relative}.notification-button span{border:2px solid var(--surface);background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:19px;height:19px;font-size:.59rem;font-weight:850;display:grid;position:absolute;top:-6px;right:-5px}.avatar{color:#fff;background:linear-gradient(140deg,#46baff,#6277f8);border-radius:13px;place-items:center;width:43px;font-weight:850;display:grid}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.metric-card{border:1px solid var(--border);background:var(--surface);min-height:204px;box-shadow:var(--shadow-soft);border-radius:17px;padding:1.1rem;position:relative;overflow:hidden}.metric-card:after{content:"";opacity:.36;border-radius:50%;width:130px;height:130px;position:absolute;top:-55px;right:-45px}.metric-card--blue:after{background:#d7ebff}.metric-card--cyan:after{background:#d2f7f7}.metric-card--orange:after{background:#ffedcf}.metric-card--violet:after{background:#e9e7ff}.metric-card__top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.metric-card__icon{color:#fff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 17px #2870b929}.metric-card--blue .metric-card__icon{background:linear-gradient(140deg,#4db9ff,#258cf6)}.metric-card--cyan .metric-card__icon{background:linear-gradient(140deg,#30cfce,#12a9c2)}.metric-card--orange .metric-card__icon{background:linear-gradient(140deg,#ffb14e,#ff8a2a)}.metric-card--violet .metric-card__icon{background:linear-gradient(140deg,#9c8bff,#716cf2)}.icon-button{color:var(--muted);background:0 0;border:0}.metric-card__menu{letter-spacing:.08em;font-size:.75rem}.metric-card__label{z-index:1;color:#425676;min-height:36px;margin-top:.78rem;font-size:.74rem;font-weight:730;line-height:1.4;display:block;position:relative}:root[data-theme=dark] .metric-card__label{color:#c7d6e9}.metric-card__value{z-index:1;color:var(--ink);letter-spacing:-.045em;margin-top:.2rem;font-size:clamp(1.5rem,2vw,2rem);display:block;position:relative}.metric-card__trend{z-index:1;color:var(--success);align-items:center;gap:.28rem;margin-top:.42rem;font-size:.62rem;font-weight:730;display:flex;position:relative}.metric-card__trend--down{color:#ed7a30}.sparkline{z-index:1;width:calc(100% - 2rem);height:38px;position:absolute;bottom:.72rem;left:1rem;right:1rem;overflow:visible}.sparkline__area{fill:#4ba7ff0f}.dashboard-grid{gap:.9rem;margin-top:.9rem;display:grid}.dashboard-grid--charts{grid-template-columns:minmax(0,1.05fr) minmax(0,1.1fr)}.dashboard-grid--compact{grid-template-columns:1.05fr .82fr 1.08fr}.dashboard-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);border-radius:17px;padding:1.05rem 1.05rem .75rem}.card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-heading span{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.18rem;font-size:.58rem;font-weight:850;display:block}.card-heading h2{color:var(--ink);margin-bottom:0;font-size:.96rem}.card-filter{border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:9px;align-items:center;gap:.35rem;padding:.52rem .66rem;font-size:.62rem;font-weight:700;display:flex}.text-action{color:var(--blue);background:0 0;border:0;font-size:.64rem;font-weight:750}.card-link{border:0;border-top:1px solid var(--border);width:100%;color:var(--blue);text-align:left;background:0 0;justify-content:space-between;align-items:center;margin-top:.6rem;padding:.68rem .1rem .1rem;font-size:.66rem;font-weight:760;display:flex}.exams-chart-content{grid-template-columns:190px 1fr;align-items:center;gap:1rem;min-height:232px;display:grid}.donut-chart{aspect-ratio:1;background:conic-gradient(#2b83f6 0 28%, #1eb4d2 28% 51%, #37c3a6 51% 67%, #4ab5f5 67% 80%, #9c82ed 80% 91%, #c7d8ee 91% 100%);border-radius:50%;width:166px;margin:auto;position:relative;box-shadow:inset 0 0 0 1px #ffffff73}.donut-chart:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:31px;box-shadow:0 3px 16px #335e8e14}.donut-chart__center{z-index:1;text-align:center;place-content:center;display:grid;position:absolute;inset:0}.donut-chart__center strong{color:var(--ink);font-size:1.45rem}.donut-chart__center span{color:var(--muted);font-size:.67rem}.chart-legend{gap:.68rem;margin:0;padding:0;list-style:none;display:grid}.chart-legend li{color:var(--muted);grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:.48rem;font-size:.65rem;display:grid}.chart-legend i{border-radius:50%;width:8px;height:8px}.chart-legend strong{color:var(--ink);font-size:.64rem}.legend-blue{background:#2b83f6}.legend-cyan{background:#1eb4d2}.legend-teal{background:#37c3a6}.legend-sky{background:#4ab5f5}.legend-purple{background:#9c82ed}.legend-soft{background:#c7d8ee}.attendance-card{position:relative}.attendance-chart{width:100%;height:235px;margin-top:.3rem;overflow:visible}.chart-grid-line{stroke:var(--border);stroke-width:1px}.chart-labels text{fill:var(--muted);font-size:12px}.chart-placeholder-note{color:#426895;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#e7f4ffe0;border-radius:8px;padding:.46rem .65rem;font-size:.58rem;position:absolute;bottom:2.7rem;left:1.2rem;right:1.2rem}:root[data-theme=dark] .chart-placeholder-note{color:#b8d7f6;background:#123554e0}.compact-card{min-height:236px}.deadline-list{gap:.78rem;margin-top:1rem;display:grid}.deadline-list>div{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.65rem;display:grid}.deadline-icon{border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.deadline-icon--blue{color:#218af2;background:#e9f4ff}.deadline-icon--cyan{color:#15aeb9;background:#e5f9fa}.deadline-icon--violet{color:#766de9;background:#efedff}.deadline-list p{margin:0}.deadline-list strong,.deadline-list small{display:block}.deadline-list strong{color:var(--ink);font-size:.68rem}.deadline-list small{margin-top:.16rem;font-size:.57rem}.deadline-list time{color:var(--muted);background:var(--surface-soft);border-radius:7px;padding:.32rem .45rem;font-size:.62rem;font-weight:760}.aso-total{margin-top:1.1rem}.aso-total strong{color:var(--ink);font-size:2.05rem;line-height:1;display:block}.aso-total span{color:var(--muted);font-size:.66rem}.aso-status{gap:.58rem;margin-top:.9rem;display:grid}.aso-status>div{border:1px solid var(--border);border-radius:10px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.5rem .55rem;display:grid}.status-dot{border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.status-dot--success{color:#12a77e;background:#e4f8f1}.status-dot--warning{color:#ec9a1d;background:#fff3dd}.aso-status p{color:var(--ink);margin:0;font-size:.66rem}.aso-status strong{color:var(--ink);font-size:.7rem}.equipment-content{grid-template-columns:125px 1fr;align-items:center;gap:.8rem;min-height:142px;display:grid}.mini-donut{aspect-ratio:1;background:conic-gradient(#39c59c 0 62%, #f6b82e 62% 87%, #ef6169 87% 100%);border-radius:50%;width:112px;position:relative}.mini-donut:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:22px}.mini-donut span{z-index:1;text-align:center;place-content:center;display:grid;position:absolute;inset:0}.mini-donut strong{color:var(--ink);font-size:1.25rem}.mini-donut small{font-size:.58rem}.equipment-content ul{gap:.72rem;margin:0;padding:0;list-style:none;display:grid}.equipment-content li{color:var(--muted);grid-template-columns:8px 1fr auto;align-items:center;gap:.45rem;font-size:.62rem;display:grid}.equipment-content li i{border-radius:50%;width:7px;height:7px}.equipment-content li i.ok{background:#39c59c}.equipment-content li i.soon{background:#f6b82e}.equipment-content li i.late{background:#ef6169}.equipment-content li strong{color:var(--ink)}.recent-card{margin-top:.9rem}.responsive-table{margin-top:.8rem;overflow-x:auto}table{border-collapse:collapse;width:100%}th{border-bottom:1px solid var(--border);color:var(--muted);text-align:left;white-space:nowrap;padding:.56rem .65rem;font-size:.59rem;font-weight:750}td{border-bottom:1px solid var(--border);color:var(--ink);padding:.65rem;font-size:.65rem}.empty-state{min-height:82px;color:var(--muted);justify-content:center;align-items:center;gap:.75rem;display:flex}.empty-state__icon{width:42px;height:42px;color:var(--blue);background:var(--baby-blue);border-radius:13px;place-items:center;display:grid}.empty-state strong,.empty-state span{display:block}.empty-state strong{color:var(--ink);margin-bottom:.2rem;font-size:.7rem}.empty-state span{font-size:.61rem}.implementation-banner{box-shadow:var(--shadow-soft);background:linear-gradient(110deg,#e8f5ff,#f5faff 65%,#e5f3ff);border:1px solid #cce6ff;border-radius:17px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:.9rem;padding:1rem 1.1rem;display:grid}:root[data-theme=dark] .implementation-banner{background:linear-gradient(110deg,#113454,#102a46);border-color:#1d4b78}.implementation-banner__icon{width:52px;height:52px;color:var(--blue);background:#fff;border-radius:15px;place-items:center;display:grid;box-shadow:0 8px 20px #258cf624}.implementation-banner strong{color:var(--ink);font-size:.86rem;display:block}.implementation-banner p{color:var(--muted);margin:.3rem 0 0;font-size:.65rem}.implementation-banner button{color:#fff;background:linear-gradient(120deg,#258cf6,#45acff);border:0;border-radius:10px;align-items:center;gap:.45rem;padding:.72rem .9rem;font-size:.67rem;font-weight:760;display:flex;box-shadow:0 8px 20px #258cf633}@media (width<=1260px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid--compact{grid-template-columns:1fr 1fr}.equipment-card{grid-column:span 2}.equipment-content{grid-template-columns:150px minmax(0,260px);justify-content:center}}@media (width<=1000px){.app-shell,.app-shell--collapsed{grid-template-columns:1fr}.sidebar{width:238px;transition:transform .24s;position:fixed;left:0;transform:translate(-105%);box-shadow:18px 0 42px #05193747}.sidebar--mobile-open{transform:translate(0)}.sidebar__mobile-close,.mobile-menu-button{place-items:center;display:grid}.sidebar-backdrop{z-index:29;background:#05132685;border:0;display:block;position:fixed;inset:0}.dashboard{padding-top:4.6rem}.dashboard-grid--charts{grid-template-columns:1fr}.app-shell--collapsed .sidebar-link{justify-content:flex-start;padding-inline:.8rem}.app-shell--collapsed .sidebar-link span,.app-shell--collapsed .sidebar-link small,.app-shell--collapsed .sidebar-collapse span,.app-shell--collapsed .sidebar-logout span,.app-shell--collapsed .theme-control svg{display:initial}.app-shell--collapsed .sidebar-promo,.brand--compact .brand__copy{display:block}}@media (width<=760px){.install-shell,.auth-shell{grid-template-columns:1fr}.install-side,.auth-visual{min-height:auto;padding:2rem}.install-side .steps,.auth-visual>div:last-child{display:none}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-header__actions{width:100%}.date-filter{flex:1;justify-content:center}.dashboard-grid--compact{grid-template-columns:1fr}.equipment-card{grid-column:auto}.equipment-content{grid-template-columns:125px 1fr}.implementation-banner{grid-template-columns:auto 1fr}.implementation-banner button{grid-column:1/-1;justify-content:center}}@media (width<=560px){.install-content,.auth-content,.dashboard{padding-inline:.85rem}.form-grid.two{grid-template-columns:1fr}.span-two{grid-column:auto}.dashboard-metrics{grid-template-columns:1fr}.metric-card{min-height:190px}.date-filter span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{display:none}.exams-chart-content{grid-template-columns:1fr}.donut-chart{width:150px;margin-top:1rem}.chart-legend{grid-template-columns:1fr 1fr}.equipment-content{grid-template-columns:1fr;justify-items:center}.equipment-content ul{width:min(240px,100%)}.implementation-banner{text-align:center;grid-template-columns:1fr}.implementation-banner__icon{margin:auto}.wizard-footer{gap:.7rem}}.sidebar-link--disabled{opacity:.54;cursor:not-allowed}.sidebar-link--disabled:hover{background:0 0}.page-header{justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:1.1rem;display:flex}.page-header h1{color:var(--ink);letter-spacing:-.045em;margin:.18rem 0 0;font-size:clamp(1.55rem,2.2vw,2.25rem)}.page-header>div:first-child>p:last-child{color:var(--muted);margin:.45rem 0 0;font-size:.78rem}.page-header__actions{align-items:center;gap:.65rem;display:flex}.page-header .button,.form-actions .button,.structure-form .button,.empty-page .button,.detail-actions .button{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.page-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-bottom:.9rem;display:grid}.page-stats>div{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:15px;padding:.95rem 1rem}.page-stats span,.page-stats strong{display:block}.page-stats span{color:var(--muted);font-size:.64rem;font-weight:700}.page-stats strong{color:var(--ink);margin-top:.32rem;font-size:1.45rem}.data-card{min-height:390px}.toolbar{grid-template-columns:minmax(260px,1fr) minmax(150px,210px);gap:.7rem;margin-bottom:.85rem;display:grid}.toolbar--three{grid-template-columns:minmax(260px,1fr) minmax(170px,250px) minmax(150px,210px)}.toolbar select,.search-field{border:1px solid var(--border);background:var(--surface);min-height:43px;color:var(--ink);border-radius:11px}.toolbar select{padding:0 .75rem}.search-field{color:var(--muted);align-items:center;gap:.55rem;padding:0 .75rem;display:flex}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:0}.loading-state{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:.75rem;font-size:.72rem;display:flex}.loading-state .spinner{width:24px;height:24px}.empty-page{text-align:center;align-content:center;place-items:center;gap:.5rem;min-height:280px;padding:2rem;display:grid}.empty-page>div{width:64px;height:64px;color:var(--blue);background:var(--baby-blue);border-radius:20px;place-items:center;display:grid}.empty-page h3{color:var(--ink);margin:.35rem 0 0;font-size:1rem}.empty-page p{max-width:520px;color:var(--muted);margin:0;font-size:.7rem;line-height:1.65}.table-entity{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.62rem;min-width:210px;padding:0;display:flex}.table-entity strong,.table-entity small{display:block}.table-entity strong{color:var(--ink);font-size:.69rem}.table-entity small,.table-subline{color:var(--muted);margin-top:.16rem;font-size:.57rem}.table-avatar{width:34px;height:34px;color:var(--blue);background:var(--baby-blue);border-radius:11px;flex:none;place-items:center;display:grid}.inline-link{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:.64rem;font-weight:760}.status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.28rem .5rem;font-size:.58rem;font-weight:760;display:inline-flex}.status-badge--success{color:#078965;background:#def7ee}.status-badge--warning{color:#b76a05;background:#fff0d7}.status-badge--neutral{color:#62748a;background:#edf2f7}:root[data-theme=dark] .status-badge--success{color:#70e0bd;background:#123e35}:root[data-theme=dark] .status-badge--warning{color:#ffd08a;background:#50371a}:root[data-theme=dark] .status-badge--neutral{color:#bdcce0;background:#263a50}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#06162b9e;place-items:center;padding:1.2rem;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex-direction:column;width:min(680px,100%);max-height:calc(100vh - 2.4rem);display:flex;overflow:hidden;box-shadow:0 30px 90px #02153052}.modal--wide{width:min(1080px,100%)}.modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.2rem;display:flex}.modal__header h2{color:var(--ink);margin:0;font-size:1.08rem}.modal__header p{color:var(--muted);margin:.3rem 0 0;font-size:.65rem}.modal__body{padding:1.15rem 1.2rem 1.35rem;overflow-y:auto}.entity-form{gap:1rem;display:grid}.form-section{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;padding:.95rem}.form-section h3,.history-section h3{color:var(--ink);margin:0 0 .8rem;font-size:.76rem}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.entity-form textarea,.structure-form textarea{resize:vertical}.form-actions{justify-content:flex-end;display:flex}.entity-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:1rem;display:grid}.entity-summary-grid>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;padding:.75rem}.entity-summary-grid span,.entity-summary-grid strong{display:block}.entity-summary-grid span{color:var(--muted);font-size:.56rem}.entity-summary-grid strong{color:var(--ink);overflow-wrap:anywhere;margin-top:.25rem;font-size:.7rem}.tabs{border-bottom:1px solid var(--border);gap:.35rem;padding-bottom:.55rem;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.35rem;padding:.5rem .65rem;font-size:.64rem;font-weight:760;display:inline-flex}.tabs button span{background:var(--surface-soft);border-radius:999px;padding:.1rem .32rem;font-size:.53rem}.tabs button.active{color:#1476da;background:var(--baby-blue)}.structure-form{background:linear-gradient(135deg,#e4f4ffb3,#f7fcffb3);border:1px dashed #a9d4fa;border-radius:13px;margin:.9rem 0;padding:.85rem}:root[data-theme=dark] .structure-form{background:#12304bb3;border-color:#2c6596}.structure-form .button{margin-top:.7rem}.structure-list{gap:.5rem;display:grid}.structure-item{border:1px solid var(--border);border-radius:11px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem;display:grid}.structure-item__icon{width:36px;height:36px;color:var(--blue);background:var(--baby-blue);border-radius:10px;place-items:center;display:grid}.structure-item strong,.structure-item span{display:block}.structure-item strong{color:var(--ink);font-size:.68rem}.structure-item div>span{color:var(--muted);margin-top:.16rem;font-size:.57rem}.detail-actions{justify-content:flex-end;margin-bottom:1rem;display:flex}.history-section{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;padding:.95rem}.timeline{gap:.75rem;display:grid}.timeline>div{grid-template-columns:16px 1fr;gap:.65rem;display:grid}.timeline>div>span{background:var(--blue);width:10px;height:10px;box-shadow:0 0 0 3px var(--baby-blue);border:2px solid #fff;border-radius:50%;margin-top:.3rem}.timeline strong,.timeline small{display:block}.timeline strong{color:var(--ink);font-size:.68rem}.timeline small{color:var(--muted);margin-top:.12rem;font-size:.56rem}.timeline p{color:var(--muted);margin:.22rem 0 0;font-size:.62rem}.reuse-installation-card{background:#ecfbf6;border:1px solid #a8ddcd;border-radius:14px;grid-template-columns:42px 1fr;align-items:start;gap:.8rem;margin:1rem 0;padding:1rem;display:grid}:root[data-theme=dark] .reuse-installation-card{background:#123c33;border-color:#296956}.reuse-installation-card .status-ok{color:#fff;background:#22ae84;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.reuse-installation-card strong{color:var(--ink);font-size:.76rem}.reuse-installation-card p{color:var(--muted);margin:.3rem 0 0;font-size:.65rem;line-height:1.55}@media (width<=900px){.toolbar--three{grid-template-columns:1fr 1fr}.toolbar--three .search-field{grid-column:1/-1}.entity-summary-grid,.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.page-header{flex-direction:column;align-items:flex-start}.page-header__actions,.page-header__actions .button{width:100%}.page-stats,.toolbar,.toolbar--three{grid-template-columns:1fr}.toolbar--three .search-field{grid-column:auto}.entity-summary-grid,.form-grid.three{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:20px 20px 0 0;max-height:94vh}}
