:root{--es-blue:#014e66;--es-blue-dark:#002733;--es-red:#e40146;--es-green:#01a48b;--es-cyan:#80cef5;--surface:#fff;--surface-muted:#f0f5f8;--surface-soft:#f7fafb;--line:#d7e1e6;--line-strong:#b8ccd5;--text:#002733;--muted:#59717a;--danger:#c9153d;--success:#238452;--shadow:0 18px 50px #00273314;--font-body:"Source Sans Pro", "Segoe UI", Arial, sans-serif;--font-heading:"Roboto Slab", Georgia, serif}*{box-sizing:border-box}body{min-width:320px;color:var(--text);font-family:var(--font-body);letter-spacing:0;background:linear-gradient(#80cef524,#fff0 260px),#fff;margin:0;font-size:16px;line-height:1.5;overflow-x:clip}button,input,select,textarea{font:inherit;letter-spacing:0}button{border:0}a{color:var(--es-blue)}.login-page{place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:min(100%,430px);min-height:720px;box-shadow:var(--shadow);flex-direction:column;padding:66px 44px 24px;display:flex;position:relative}.login-card.loading{justify-content:center;align-items:center;gap:22px;min-height:260px}.login-card.loading img{width:220px}.red-rail{background:var(--es-red);width:9px;position:absolute;inset:0 auto 0 0}.login-logo{justify-content:center;display:flex}.login-logo img{width:238px;max-width:100%}.login-heading{text-align:center;margin:70px 0 44px}.login-heading h1,.section-heading h1,.skeleton-panel h1,.edit-form h2{color:var(--es-blue);font-family:var(--font-heading);margin:0;font-weight:700;line-height:1.18}.login-heading h1{font-size:30px}.login-heading p,.section-heading p{color:var(--muted);margin:12px 0 0}.login-form{gap:22px;display:grid}label{color:var(--text);gap:8px;font-size:14px;font-weight:700;display:grid}.input-wrap{border:1px solid var(--line-strong);min-height:48px;color:var(--muted);background:#fff;grid-template-columns:auto 1fr auto;align-items:center;display:grid}.input-wrap svg{margin-left:14px}input,select,textarea{border:1px solid var(--line-strong);width:100%;min-width:0;color:var(--text);background:#fff;border-radius:0;outline:none;padding:12px 14px}.input-wrap input{border:0}input:focus,select:focus,textarea:focus,.input-wrap:focus-within{border-color:var(--es-blue);box-shadow:0 0 0 3px #014e6624}.checkbox-line{color:var(--text);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.checkbox-line input{width:18px;height:18px;accent-color:var(--es-red)}.primary-button,.secondary-button,.outline-button,.text-button,.tab-nav button,.demo-access button{text-transform:none;cursor:pointer;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 18px;font-size:14px;font-weight:800;transition:background .16s,color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.primary-button{color:#fff;background:var(--es-red);border:1px solid var(--es-red);width:100%}.primary-button:hover{background:#b90037;border-color:#b90037}.primary-button.compact{width:auto;min-height:40px;padding:10px 16px}.primary-button:disabled{opacity:.65;cursor:wait}.secondary-button{color:var(--es-blue);border:1px solid var(--line-strong);background:#fff}.outline-button{min-height:36px;color:var(--es-red);background:#fff;border:1px solid #e401468c;padding:8px 12px}.outline-button:hover{border-color:var(--es-red);background:#e401460f}.text-button{color:var(--text);border-left:1px solid var(--line);background:0 0;justify-self:end}.icon-button{width:34px;height:34px;color:var(--es-blue);border:1px solid var(--line-strong);cursor:pointer;background:#fff;place-items:center;display:inline-grid}.icon-button:hover{border-color:var(--es-blue)}.icon-button.danger{color:var(--danger);border-color:#c9153d59}.icon-button.plain{width:40px;height:40px;color:var(--muted);border:0}.demo-access{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.demo-access button{min-height:38px;color:var(--es-blue);background:var(--surface-muted);border:1px solid #d6e4ec}.login-footer{color:var(--muted);background:var(--surface-soft);border-top:1px solid var(--line);text-align:center;margin:auto -44px -24px;padding:24px 32px 18px;font-size:13px}.system-status{color:var(--text);justify-content:center;align-items:center;gap:7px;display:flex}.status-dot{background:var(--line-strong);border-radius:50%;width:11px;height:11px}.status-dot.ok{background:#65b94f}.login-footer nav{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:16px;padding-top:12px;display:flex}.error-message,.success-message{border-left:4px solid var(--danger);color:var(--danger);background:#fff3f5;margin:0;padding:11px 13px;font-size:14px;font-weight:700}.success-message{border-left-color:var(--success);color:var(--success);background:#eef9f2}.inline{margin-bottom:16px}.app-shell{border-inline:1px solid var(--line);width:min(100%,1180px);min-height:100vh;box-shadow:var(--shadow);background:#fff;margin:0 auto;overflow-x:clip}.content-primary,.admin-main,.settings-form,.audit-panel,.profile-panel,.edit-form{min-width:0}.app-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(210px,320px) 1fr auto;align-items:center;gap:26px;min-height:132px;padding:30px 34px 26px 46px;display:grid;position:relative}.brand img{width:238px;max-width:100%}.identity-block{text-align:left;color:var(--text);justify-content:end;gap:4px;font-size:14px;display:grid}.identity-block strong{font-size:16px}.identity-block span{color:var(--muted)}.tab-nav{border-bottom:1px solid var(--line);gap:0;padding:0 34px 0 46px;display:flex;overflow-x:auto}.tab-nav button{min-width:150px;min-height:66px;color:var(--text);white-space:nowrap;background:#fff;border-bottom:4px solid #0000;justify-content:flex-start}.tab-nav button.active{color:var(--es-red);border-bottom-color:var(--es-red)}.app-main{padding:34px 34px 42px 46px}.content-grid{grid-template-columns:minmax(0,1fr) 280px;gap:30px;display:grid}.section-heading{margin-bottom:22px}.section-heading h1{font-size:25px}.section-heading p{max-width:720px;font-size:15px}.accordion-list{border:1px solid var(--line);background:#fff}.class-panel+.class-panel{border-top:1px solid var(--line)}.class-panel.expanded{box-shadow:inset 5px 0 0 var(--es-red)}.class-toggle{width:100%;min-height:62px;color:var(--text);cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:0 18px;font-size:18px;font-weight:800;display:flex}.class-toggle>span{align-items:center;gap:12px;display:flex}.class-toggle svg:last-child{transition:transform .16s}.class-panel.expanded .class-toggle svg:last-child{transform:rotate(180deg)}.class-icon{width:32px;height:32px;color:var(--es-red);background:#e4014612;border:1px solid #e401462e;place-items:center;display:inline-grid}.class-body{border-top:1px solid var(--line);background:var(--surface-soft);padding:18px 22px 24px}.class-body>p{color:var(--muted);margin:0 0 18px;font-size:15px}.document-table{border:1px solid var(--line);background:#fff;display:grid}.document-row{border-top:1px solid var(--line);grid-template-columns:190px minmax(0,1fr) 116px;align-items:center;gap:18px;min-height:72px;padding:10px 14px;font-size:14px;display:grid}.document-row.head{min-height:44px;color:var(--text);background:#f8fbfc;border-top:0;font-weight:800}.document-file{align-items:center;gap:12px;min-width:0;display:flex}.document-file svg{color:var(--es-red);flex:none}.document-file strong,.document-file small{overflow-wrap:anywhere;min-width:0;display:block}.document-file small{color:var(--muted)}.empty-state{min-height:76px;color:var(--muted);border:1px solid var(--line);background:#fff;align-items:center;gap:10px;padding:16px;display:flex}.service-aside{align-content:start;gap:16px;display:grid}.notice-box,.contact-box{background:var(--surface-soft);border:1px solid var(--line);align-items:flex-start;gap:14px;padding:18px;display:flex}.notice-box.large{margin-top:18px}.notice-box svg,.contact-box svg{color:var(--es-blue);flex:none}.notice-box strong,.contact-box strong{margin-bottom:6px;display:block}.notice-box p,.contact-box p{color:var(--muted);margin:0;font-size:14px}.contact-box p+p{margin-top:5px}.admin-layout,.settings-layout{gap:28px;display:grid}.section-toolbar{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-table-wrap{border:1px solid var(--line);width:100%;max-width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;background:#fff;width:100%;min-width:760px;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 12px}.admin-table th{color:var(--text);background:#f8fbfc;font-weight:800}.admin-table tr.selected td{background:#80cef529}.status-badge{border:1px solid;align-items:center;min-height:26px;padding:3px 9px;font-size:13px;font-weight:700;display:inline-flex}.status-badge.active{color:#16733e;background:#edfbf2;border-color:#9addb2}.status-badge.inactive{color:#4c5f66;background:#f2f5f6;border-color:#cfdce1}.table-actions{white-space:nowrap}.table-actions .icon-button+.icon-button{margin-left:7px}.edit-form,.settings-form,.audit-panel,.profile-panel,.skeleton-panel{border:1px solid var(--line);background:#fff;padding:22px}.edit-form{margin-top:22px}.form-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.edit-form h2{font-size:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.wide{grid-column:1/-1}.form-actions{z-index:2;justify-content:flex-end;gap:12px;margin-top:22px;display:flex;position:relative}.switch{grid-auto-flow:column;align-items:center;gap:9px;font-weight:700;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch span{background:var(--line-strong);border-radius:999px;width:38px;height:22px;position:relative}.switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .16s;position:absolute;top:2px;left:2px}.switch input:checked+span{background:var(--es-red)}.switch input:checked+span:after{transform:translate(16px)}.settings-layout{grid-template-columns:minmax(0,1fr) 360px}.settings-form{gap:17px;display:grid}.audit-list{gap:12px;display:grid}.audit-list article{border-bottom:1px solid var(--line);gap:4px;padding:12px 0;display:grid}.audit-list strong{font-size:14px}.audit-list span,.audit-list small{color:var(--muted);font-size:13px}.profile-panel{max-width:760px}.profile-list{border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid}.profile-list div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px}.profile-list dt{color:var(--muted);font-size:13px;font-weight:700}.profile-list dd{margin:6px 0 0;font-weight:800}.skeleton-panel{gap:18px;display:grid}.skeleton-panel h1{font-size:25px}.skeleton-panel span{background:linear-gradient(90deg,#f0f5f8,#e5eef3,#f0f5f8) 0 0/220% 100%;height:48px;animation:1.2s infinite skeleton}@keyframes skeleton{to{background-position:-220% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=920px){.app-shell{border-inline:0}.app-header{grid-template-columns:1fr;gap:16px;padding:28px 22px 22px 34px}.identity-block{justify-content:start}.text-button{border-left:0;border:1px solid var(--line);justify-self:start}.tab-nav{padding:0 22px 0 34px}.app-main{padding:28px 22px 34px 34px}.content-grid,.settings-layout{grid-template-columns:1fr}.service-aside{grid-template-columns:1fr 1fr}}@media (width<=640px){body{background:#fff}.login-page{place-items:stretch stretch;padding:0}.login-card{width:100%;min-height:100vh;box-shadow:none;border:0;padding:44px 24px 20px 34px}.login-heading{margin:46px 0 34px}.login-heading h1{font-size:26px}.login-footer{margin-inline:-34px -24px}.app-header,.app-main{padding-right:16px}.brand img,.login-logo img{width:205px}.tab-nav{padding-right:16px}.tab-nav button{min-width:138px;font-size:13px}.section-toolbar,.form-head,.form-actions{flex-direction:column;align-items:stretch}.section-toolbar .primary-button.compact,.form-actions .primary-button.compact,.form-actions .secondary-button{width:100%}.service-aside,.form-grid,.profile-list{grid-template-columns:1fr}.document-row{grid-template-columns:1fr;gap:8px}.document-row.head{display:none}.document-row span[role=cell]:last-child{justify-self:start}.class-toggle{font-size:16px}}
