/* Console visual foundation. No application/API contracts are changed. */
#login.login{min-height:100dvh;background:radial-gradient(ellipse at 50% 0%,#dfede5 0%,#f3f6f4 65%);padding:32px 20px}
#login .login-card{width:min(460px,100%);padding:32px;border:1px solid #d4dfda;border-radius:20px;box-shadow:0 20px 64px #14372a0d,0 2px 8px #14372a04}
#login .login-head{display:flex;flex-direction:column;align-items:stretch;gap:22px}
#login .login-head .logo{justify-content:center;padding:4px 0}
#login .login-head .logo img{height:32px}
#login .login-tools{display:flex;justify-content:center;gap:8px}
#login .login-tools .secondary{min-height:44px;min-width:44px;padding:9px 12px;color:#43594f;background:transparent;border-color:#a8bbb1}
#login h1{font-size:28px;line-height:1.4;margin:24px 0 8px;letter-spacing:0}
#login #loginIntro{color:#52665d;line-height:1.8;margin:0 0 24px}
#login label{margin:18px 0 8px;color:#203b2d;font-weight:650}
#login .control{min-height:50px;border:1px solid #a8bbb1;border-radius:10px;background:#fff;color:#152d21;font-size:16px}
#login .control:focus{border-color:#087a53;box-shadow:0 0 0 3px #087a531c}
#login .login-password{position:relative}
#login #password{padding-left:78px;padding-right:13px}
html[dir=ltr] #login #password{padding-left:13px;padding-right:78px}
#login .login-reveal{position:absolute;inset-inline-end:3px;top:3px;min-width:64px;min-height:44px;padding:9px 10px;border:0;border-radius:7px;background:#edf4f0;color:#22543b;font-size:13px;font-weight:650}
#login #loginSubmit{min-height:50px;margin-top:18px;background:#087a53;color:#fff;font-size:16px;border-radius:10px}
#login #loginSubmit:disabled{opacity:.65;cursor:wait}
#login .login-error:empty{display:none}
#login .login-error{margin:14px 0 0;color:#9b2525;background:#fff0ef;border:1px solid #efc7c4;border-radius:8px;padding:12px;line-height:1.7}
#login .login-help{margin-top:14px;border:0;padding:10px;min-height:44px;width:100%;background:transparent;color:#285940;font-size:14px;line-height:1.8}
#login #recoveryView .logo{justify-content:center;padding:4px 0}
#login #recoveryView .logo img{height:32px}
#login #recoveryIntro{line-height:1.8;color:#52665d;margin:0 0 22px}
#login #recoveryForm label{display:block}
#login #recoveryPassword{padding-left:78px;padding-right:13px}
html[dir=ltr] #login #recoveryPassword{padding-left:13px;padding-right:78px}
#login #recoverySubmit{width:100%;min-height:50px;margin-top:18px;border-radius:10px;background:#087a53;color:#fff;font-size:16px}
#login #recoverySubmit:disabled{opacity:.65}
#login #recoveryBack,#login #recoveryNewLink{width:100%;min-height:44px;margin-top:12px}
#login #recoveryStatus:empty{display:none}
#login #recoveryStatus{background:#e8f5ed;color:#174e32;border:1px solid #a8cdb6;padding:12px;border-radius:8px;line-height:1.8;margin-top:16px}
#login .recovery-account-note{font-size:12px;line-height:1.8;margin-top:20px}
[data-theme=dark] #login #recoveryIntro,[data-theme=dark] #login .login-help{color:#b6ccbf}
[data-theme=dark] #login #recoveryStatus{background:#203c2a;color:#d6efdf;border-color:#4e7d5f}
#login .login-help summary{color:#285940;cursor:pointer;min-height:44px;padding-block:10px}
#login button:focus-visible,#login summary:focus-visible{outline:3px solid #087a53;outline-offset:3px}
[data-theme=dark] #login button:focus-visible,[data-theme=dark] #login summary:focus-visible{outline-color:#83e6b2}
@media(prefers-reduced-motion:reduce){#login,#login *{transition:none!important;animation:none!important}}
#login .login-help p{color:#52665d;margin:12px 0 0}
#login .login-footer-tools{margin-top:16px;gap:12px}
#login .login-footer-tools .secondary{border-color:transparent;color:#43594f}
#login .registration-policies{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-top:16px;font-size:13px}
#login .login-card .primary:not(:disabled){background:#126e47;color:#fff}
#login .registration-policies a{display:inline-flex;align-items:center;min-height:44px;color:#176547;text-underline-offset:4px}
#login .registration-policies a:focus-visible{outline:3px solid #168a56;outline-offset:3px;border-radius:4px}
#login .registration-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.8}
#login .registration-consent input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:#168a56}
#login #registrationBack,#login #registrationNewLink{min-height:44px;margin-top:14px;width:100%}
#login #registrationStatus{line-height:1.8;color:#176547;overflow-wrap:anywhere}
#login #registrationPasswordHint,#login #registrationNotice{font-size:12px;line-height:1.8}
#login #registrationPassword{padding-left:78px;padding-right:13px}
html[dir=ltr] #login #registrationPassword{padding-left:13px;padding-right:78px}
[data-theme=dark] #login .registration-policies a,[data-theme=dark] #login #registrationStatus{color:#a2e2c0}
#login .control[aria-invalid=true]{border-color:#b52c2c;box-shadow:0 0 0 2px #b52c2c12}
[data-theme=dark] #login .logo-dark{mix-blend-mode:screen}
[data-theme=dark] #login.login{background:#101b16}
[data-theme=dark] #login .login-card{background:#192920;border-color:#3e5849}
[data-theme=dark] #login label,[data-theme=dark] #login .login-help summary{color:#deeee4}
[data-theme=dark] #login #loginIntro,[data-theme=dark] #login .login-help p,[data-theme=dark] #login .login-tools .secondary{color:#b6ccbf}
[data-theme=dark] #login .control{background:#102018;color:#f0f7f2;border-color:#6b8978}
[data-theme=dark] #login .control[aria-invalid=true]{border-color:#f09a91;box-shadow:0 0 0 2px #f09a9118}
[data-theme=dark] #login .login-reveal{background:#2b4435;color:#d7eee0}
[data-theme=dark] #login .login-error{background:#3d2524;color:#ffd5d0;border-color:#86534e}
@media(max-width:480px){#login.login{padding:24px 16px;align-items:start}#login .login-card{padding:26px 22px;border-radius:16px}#login h1{font-size:26px;margin-top:24px}#login .login-head{gap:16px}}
.navigation-mode{width:100%;padding:12px;margin-top:22px;border:1px solid #ffffff24;border-radius:9px;background:#ffffff08;color:#d5e8df;text-align:start;font-size:12px;cursor:pointer}
.nav[data-navigation-mode="daily"]:not([data-searching="true"]) [data-daily-navigation="false"],.nav[data-navigation-mode="daily"]:not([data-searching="true"]) [data-daily-group="false"]{display:none!important}
.nav[data-navigation-mode="daily"]:not([data-searching="true"]) .nav-group summary{display:none}
.nav[data-navigation-mode="daily"]:not([data-searching="true"]) .nav-group{padding:2px 0}
.table-wrap:focus-within{outline:2px solid var(--brand);outline-offset:2px}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stat{padding:16px}.stat b{font-size:24px}.user .theme-toggle{padding:9px}.content .surface-toolbar{align-items:stretch}.surface-controls{width:100%}.surface-controls .control{min-width:0;flex:1}.surface-controls input{min-width:100%!important}}
:root{--bg:#f3f5f5;--line:#e0e7e5;--muted:#687976;--brand:#20c58b;--brand-strong:#0ba474;--sidebar-bg:#102823;--sidebar-line:#254139;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.staging-ribbon{background:#e5f7ef;color:#24624d;border-bottom:1px solid #c9e7d9;padding:7px 18px;text-align:center;font-size:12px;letter-spacing:.02em}
.shell{grid-template-columns:258px minmax(0,1fr);min-height:calc(100vh - 32px)}
.sidebar{padding:26px 16px;height:100vh;scrollbar-width:thin;scrollbar-color:#4b6a61 transparent}
.sidebar .logo{padding:0 14px 25px}.sidebar .logo img{height:34px}
.nav-search{margin:0 0 19px;width:100%;border-radius:10px;background:#ffffff09;border-color:#ffffff20;padding:12px}
.nav-group{border:0;padding:3px 0 10px}.nav-group summary{font-size:11px;color:#91aca3;letter-spacing:.04em;padding:10px 13px}
.nav button{padding:11px 14px;color:#c3d2cd;font-size:14px;border-radius:9px;min-height:42px}
.nav button.active{background:#d9f9eb;color:#123b2d;box-shadow:none;font-weight:750}
.nav button:hover:not(.active){background:#ffffff0b;color:#fff}
.nav-group .nav-items{gap:3px}
.topbar{height:auto;min-height:88px;padding:16px 32px;gap:18px;box-shadow:0 1px 0 #1b493205}
.topbar-main{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.page-trail{padding-inline-end:18px;border-inline-end:1px solid var(--line);font-size:11px}.page-trail b{font-size:16px;margin-top:3px}
.topbar #brandSelect{width:210px;max-width:100%;font-weight:700;background:var(--bg);border-radius:10px}
.user{gap:10px}.user>b,#userName{font-size:12px}#userRole{font-size:11px;margin-top:4px}.avatar{width:37px;height:37px;border:1px solid var(--line)}
.toolbar-select{min-width:76px;font-size:12px}.theme-toggle{min-width:0;font-size:12px}#calendarSelect{display:none}
.content{padding:36px 34px 60px;max-width:1500px}.view>header{margin-bottom:28px;gap:16px;align-items:center}.view h1{font-size:27px;letter-spacing:-.035em}.view>header p{line-height:1.8;max-width:680px}
.card,.detail-section,.table-wrap,.settings-rail,.settings-pane{border-radius:14px;box-shadow:0 2px 4px #10282303}
.card{padding:23px}.grid{gap:18px}.stat b{font-size:30px;letter-spacing:-.045em;margin-top:16px}.stat span{font-size:12px}
.primary,.secondary,.control{border-radius:9px}.primary{color:#fff;background:var(--brand-strong);font-weight:700;box-shadow:0 2px 3px #0a755218}.secondary{font-weight:550}.primary:hover{filter:brightness(.94)}button:focus-visible{outline:3px solid #20c58b88;outline-offset:3px}
th{padding:16px 20px;font-weight:650;background:#f8faf9}td{padding:17px 20px}tbody tr:hover{background:#f6faf8}.badge{padding:5px 10px;border-radius:6px}
.editor-panel{border-radius:16px;padding:26px}.editor-panel header{padding-bottom:15px;border-bottom:1px solid var(--line)}.editor-actions{padding-top:18px;border-top:1px solid var(--line);margin-top:22px;gap:12px}.field-editor{gap:18px}.control{min-height:43px}
.login{background:#edf3f0;min-height:calc(100vh - 32px);padding:35px 18px}.login-card{width:min(500px,100%);padding:40px;border:1px solid #d8e5df;border-radius:20px;box-shadow:0 20px 80px #1028230c;background:#fff}.login-card .logo img{height:36px}.login-head{flex-wrap:wrap;gap:18px}.login-tools .secondary{font-size:11px;padding:8px}.login-card h1{margin-top:38px;font-size:30px}.login-card .muted{line-height:1.8}.login-card .primary{margin-top:28px;min-height:48px}
[data-theme=dark]{--bg:#101a17;--panel:#18251f;--surface:#18251f;--card:#18251f;--line:#30443b;--muted:#9cafaa;--sidebar-bg:#0c1b16;--text:#eaf2ed;--input:#122018;--button:#1b2d24;--table-head:#1b2d24;--row-line:#30443b}
[data-theme=dark] th{background:var(--table-head)}[data-theme=dark] tbody tr:hover{background:#20382c}[data-theme=dark] .login{background:#101a17}[data-theme=dark] .login-card{background:var(--card);border-color:var(--line)}[data-theme=dark] .staging-ribbon{background:#193c2b;color:#c4e7d3;border-color:#30443b}
@media(max-width:1180px){.topbar{padding:15px 22px;flex-wrap:wrap}.user{flex-wrap:wrap}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.content{padding:28px 22px}}
@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{height:100dvh;width:min(300px,88vw)}.content{padding:24px 16px 45px}.topbar{padding:14px 16px;gap:12px}.topbar-main{gap:9px}.page-trail{border:0;padding:0}.topbar #brandSelect{width:180px}.user{width:100%}.user>div:first-child{margin-inline-end:auto}.stats,.grid{grid-template-columns:1fr}.login-card{padding:28px 22px}.view>header{align-items:flex-start;flex-wrap:wrap}th,td{padding:14px}.staging-ribbon{font-size:10px}}
