:root{--bg:#f3f6fa;--surface:#fff;--surface-2:#f8fafc;--text:#172033;--muted:#64748b;--line:#e2e8f0;--primary:#1d4ed8;--primary-soft:#eff6ff;--success:#15803d;--warning:#b45309;--danger:#b91c1c;--sidebar:#0f172a;--sidebar-2:#172033;--shadow:0 1px 2px rgba(15,23,42,.04),0 6px 20px rgba(15,23,42,.04)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--sidebar);color:#cbd5e1;display:flex;flex-direction:column;padding:16px 12px;z-index:20}.brand{height:52px;display:flex;align-items:center;gap:10px;padding:0 10px 14px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}.brand-mark{width:32px;height:32px;border-radius:9px;background:#1d4ed8;display:grid;place-items:center}.brand-mark svg{width:18px}.brand strong{display:block;font-size:14px;letter-spacing:.1px}.brand small{display:block;font-size:10px;color:#94a3b8;margin-top:2px}.nav{flex:1;overflow:auto}.nav a{height:40px;display:flex;align-items:center;gap:10px;border-radius:8px;padding:0 11px;color:#cbd5e1;margin:2px 0}.nav a svg{width:17px;height:17px;stroke-width:1.9}.nav a:hover,.nav a.active{background:var(--sidebar-2);color:#fff}.nav a.active{box-shadow:inset 3px 0 0 #60a5fa}.nav-child{padding-left:39px!important;font-size:13px}.nav-title{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:18px 10px 7px}.logout{padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.logout button{width:100%;height:40px;border:0;background:transparent;color:#94a3b8;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 11px;cursor:pointer}.logout button:hover{background:var(--sidebar-2);color:#fff}.main{margin-left:250px;width:calc(100% - 250px);min-height:100vh;padding:0 28px 32px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);margin-bottom:22px}.page-title h1{margin:0;font-size:21px;line-height:1.2}.breadcrumb{font-size:12px;color:var(--muted);margin-top:5px}.user-chip{display:flex;align-items:center;gap:9px}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:12px}.user-chip small{font-size:10px;color:var(--muted);margin-top:2px}.avatar{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff}.avatar svg{width:16px}.mobile-menu,.mobile-nav{display:none}.flash{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:9px;margin-bottom:16px}.flash svg{width:17px}.flash.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.btn{border:1px solid transparent;border-radius:8px;padding:9px 12px;background:var(--primary);color:#fff;cursor:pointer;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn svg{width:15px;height:15px}.btn:hover{filter:brightness(.96)}.btn.secondary{background:var(--primary-soft);color:#1e40af;border-color:#dbeafe}.btn.gray{background:#f1f5f9;color:#334155;border-color:#e2e8f0}.btn.danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:var(--shadow)}.metric{font-size:25px;font-weight:800;line-height:1.1;margin:7px 0 4px}.label{font-size:12px;color:var(--muted)}.icon{width:32px;height:32px;border-radius:8px;background:#f1f5f9;display:grid;place-items:center}.icon svg{width:17px}.section{margin:22px 0 9px;font-size:14px;font-weight:800}.sub{color:var(--muted);font-size:12px;margin:4px 0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;font-size:12px}.table th{background:var(--surface-2);color:#475569;font-weight:800}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.green{background:#dcfce7;color:#166534}.yellow{background:#fef3c7;color:#92400e}.red{background:#fee2e2;color:#991b1b}.blue{background:#dbeafe;color:#1e40af}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field label{display:block;font-size:12px;font-weight:750;margin-bottom:5px}.help{font-size:10px;color:var(--muted);margin-top:4px}.input,.select,.textarea{width:100%;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:var(--text);outline:none;font-size:13px}.input:focus,.select:focus,.textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.textarea{min-height:92px;resize:vertical}.full{grid-column:1/-1}.toolbar{display:flex;gap:9px;justify-content:space-between;align-items:center;margin-bottom:12px}.search{display:flex;gap:8px;flex:1}.search .input{max-width:440px}.empty{padding:36px;text-align:center;color:var(--muted)}.rowline{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.rowline:last-child{border-bottom:0}.progress{height:7px;background:#e2e8f0;border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--primary)}.map-picker,.map-view{height:300px;width:100%;border-radius:9px;border:1px solid var(--line);overflow:hidden}.mapbox{min-height:180px;background:#eef2f7;border-radius:9px;display:grid;place-items:center;color:var(--muted)}.map-actions{display:flex;gap:7px;align-items:center;margin-top:8px}.map-actions .btn{font-size:11px}.map-help{font-size:11px;color:var(--muted);margin-top:6px}.kpi-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.kpi strong{font-size:15px}.kpi span{font-size:10px;color:var(--muted);margin-left:4px}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{display:none}.main{margin:0;width:100%;padding:0 12px 80px}.topbar{height:62px;margin-bottom:14px}.mobile-menu{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:8px}.mobile-menu svg{width:18px}.page-title h1{font-size:18px}.breadcrumb{display:none}.user-chip span:not(.avatar){display:none}.grid,.grid-2,.form-grid{grid-template-columns:1fr}.toolbar,.search{width:100%;flex-direction:column}.search .input{max-width:none}.table-wrap{border-radius:8px}.table{min-width:720px}.card{padding:14px}.section{margin-top:18px}.map-picker,.map-view{height:260px}.mobile-nav{display:grid;position:fixed;z-index:30;bottom:0;left:0;right:0;height:62px;background:#fff;border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);box-shadow:0 -4px 18px rgba(15,23,42,.06)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#64748b;font-size:9px}.mobile-nav a svg{width:18px;height:18px}.mobile-nav a:hover{color:var(--primary)}}


/* Login — clean application UI */
.login-page{min-height:100vh;background:#f6f7fb;display:flex;align-items:center;justify-content:center;color:#172033}
.login-shell{width:min(430px,calc(100% - 32px));padding:28px 0 20px}
.login-card{background:#fff;border:1px solid #e7e8ef;border-radius:18px;padding:30px;box-shadow:0 12px 38px rgba(24,28,45,.07)}
.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:25px}
.login-mark{width:42px;height:42px;border-radius:11px;background:#f0ebff;color:#5b3cc4;display:grid;place-items:center;flex:0 0 auto}
.login-mark svg{width:22px;height:22px}
.login-brand-name{font-size:18px;font-weight:800;letter-spacing:-.2px;color:#17172a}
.login-brand-sub{font-size:11px;color:#73788b;margin-top:3px}
.login-context{border:1px solid #e9e7f3;background:#faf9ff;border-radius:11px;padding:12px 13px;margin-bottom:22px}
.login-context-label{display:block;font-size:9px;letter-spacing:.11em;font-weight:800;color:#756b98;margin-bottom:4px}
.login-context strong{display:block;font-size:11px;line-height:1.45;color:#353149;letter-spacing:.1px}
.login-alert{display:flex;gap:8px;align-items:center;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:10px;padding:10px 11px;margin:-8px 0 17px;font-size:12px}
.login-alert.error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.login-alert svg{width:16px;flex:0 0 auto}
.login-form{display:block}
.login-field{margin-bottom:16px}
.login-field label{font-size:12px;font-weight:750;margin-bottom:7px}
.login-input-wrap{position:relative}
.login-input{height:45px;padding:0 43px 0 40px;border-radius:10px;border-color:#d8dbe5;background:#fff;font-size:13px;transition:border-color .15s,box-shadow .15s}
.login-input::placeholder{color:#9aa0b0}
.login-input:focus{border-color:#7357d6;box-shadow:0 0 0 3px rgba(115,87,214,.10)}
.login-input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#858b9c;pointer-events:none}
.password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;background:transparent;color:#858b9c;border-radius:7px;display:grid;place-items:center;cursor:pointer}
.password-toggle:hover{background:#f3f1fb;color:#5b3cc4}
.password-toggle svg{width:17px;height:17px}
.remember-row{display:flex;align-items:center;gap:8px;color:#4f5567;font-size:12px;cursor:pointer;user-select:none;margin:1px 0 18px}
.remember-row input{appearance:none;width:16px;height:16px;border:1px solid #c7cad5;border-radius:4px;background:#fff;margin:0;display:grid;place-items:center;cursor:pointer}
.remember-row input:checked{background:#5b3cc4;border-color:#5b3cc4}
.remember-row input:checked:after{content:"";width:7px;height:4px;border-left:1.7px solid #fff;border-bottom:1.7px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.login-submit{width:100%;height:45px;border-radius:10px;background:#5b3cc4;box-shadow:0 5px 14px rgba(91,60,196,.18);font-size:13px}
.login-submit:hover{background:#5134b2;filter:none}
.login-submit svg{width:17px;height:17px}
.login-restricted{display:flex;align-items:center;justify-content:center;gap:6px;color:#8a8fa0;font-size:10px;margin-top:20px;text-transform:none}
.login-restricted svg{width:14px;height:14px;color:#77708e}
.login-footer{text-align:center;color:#9a9eab;font-size:10px;margin-top:15px}
@media(max-width:480px){.login-shell{width:min(100% - 22px,430px)}.login-card{padding:24px 20px;border-radius:15px}.login-brand{margin-bottom:21px}.login-context{margin-bottom:19px}.login-footer{font-size:9px}}

/* =========================================================
   BGN-inspired application UI — v1.4
   Reference: clean institutional dashboard, white cards,
   deep navy + nutrition green, subtle gold accents.
   ========================================================= */
:root{
  --bg:#f5f8f9;--surface:#fff;--surface-soft:#f7faf9;--text:#10264b;--muted:#63738a;
  --line:#e3eaf0;--primary:#006b4f;--primary-dark:#00533e;--primary-soft:#e6f4ef;
  --blue:#176fd1;--blue-soft:#eaf3ff;--orange:#e79a00;--orange-soft:#fff5dc;
  --purple:#7254d6;--purple-soft:#f0edff;--navy:#10264b;--shadow:0 6px 24px rgba(16,38,75,.055)
}
body{background:var(--bg);color:var(--text);font-size:14px}
.app-shell{background:var(--bg)}
.sidebar{width:248px;background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%);color:#28405f;border-right:1px solid #e5edf1;padding:18px 12px 14px;box-shadow:4px 0 22px rgba(16,38,75,.025)}
.brand{height:auto;min-height:62px;padding:0 9px 17px;margin-bottom:10px;border-bottom:1px solid #edf1f3;gap:10px;color:var(--navy)}
.brand-seal,.mini-seal{border-radius:50%;background:linear-gradient(145deg,#0a7356,#004b3a);color:#f7c54b;border:2px solid #e6b63f;display:grid;place-items:center;font-weight:900;letter-spacing:-.5px;flex:0 0 auto}
.brand-seal{width:42px;height:42px;font-size:10px}.mini-seal{width:38px;height:38px;font-size:9px}
.brand-copy strong{display:block;font-size:11px;letter-spacing:.01em}.brand-copy b{display:block;color:var(--primary);font-size:13px;margin-top:2px}.brand-copy small{display:block;color:#708097;font-size:9px;margin-top:3px;line-height:1.3}
.nav{padding-right:2px}.nav-title{color:#74849a;font-size:10px;font-weight:800;letter-spacing:.08em;margin:18px 10px 6px}.nav a{height:40px;color:#2b4668;border-radius:10px;margin:3px 0;padding:0 11px;font-size:13px;position:relative}.nav a svg{width:17px;height:17px;color:#496481}.nav a:hover{background:#eef7f4;color:var(--primary)}.nav a:hover svg{color:var(--primary)}.nav a.active{background:#e5f4ef;color:var(--primary-dark);box-shadow:none;font-weight:750}.nav a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--primary)}.nav a.active svg{color:var(--primary)}.nav-sub{padding-left:36px!important;font-size:12.5px!important}
.sidebar-access{display:flex;align-items:center;gap:9px;padding:11px 10px;border-top:1px solid #edf1f3;margin-top:8px;color:var(--primary)}.sidebar-access>svg{width:20px;height:20px}.sidebar-access strong,.sidebar-access small{display:block}.sidebar-access strong{font-size:11px}.sidebar-access small{font-size:9px;color:#7b8b9f;margin-top:2px}.logout{border-top:1px solid #edf1f3}.logout button{color:#65758b}.logout button:hover{background:#f1f6f7;color:var(--primary)}
.main{margin-left:248px;width:calc(100% - 248px);padding:0 30px 38px}.topbar{height:76px;background:#fff;margin:0 -30px 22px;padding:0 30px;border-bottom:1px solid #e5edf1;box-shadow:0 2px 12px rgba(16,38,75,.025);justify-content:flex-start}.top-brand{display:flex;align-items:center;gap:9px;min-width:300px}.top-brand strong{display:block;font-size:13px;line-height:1.1}.top-brand small{display:block;font-size:10px;color:#718198;margin-top:4px}.top-search{height:40px;display:flex;align-items:center;gap:8px;border:1px solid #dce5eb;border-radius:10px;background:#fbfcfd;flex:1;max-width:570px;margin-left:22px}.top-search svg{width:17px;color:#7c8ba0;margin-left:12px}.top-search input{border:0;outline:0;background:transparent;width:100%;height:100%;font-size:12px;color:var(--text);padding-right:12px}.top-search input::placeholder{color:#91a0b2}.top-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.icon-button{position:relative;width:36px;height:36px;border:1px solid #e0e7ec;background:#fff;border-radius:10px;display:grid;place-items:center;color:#435a75;cursor:pointer}.icon-button svg{width:18px}.icon-button em{position:absolute;width:7px;height:7px;border-radius:50%;background:#e63d3d;right:8px;top:7px;border:1px solid #fff}.user-chip{gap:9px}.avatar{width:36px;height:36px;background:#0b7054;color:#fff;border:0;font-size:13px;font-weight:800}.user-chip strong{font-size:11px}.user-chip small{font-size:9px;color:#718198}.user-chip>svg{width:15px;color:#60738b}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.page-head h1{font-size:23px;line-height:1.2;margin:3px 0 4px;color:var(--navy);letter-spacing:-.02em}.page-head p{font-size:11px;color:#718198;margin:0}.eyebrow,.panel-kicker,.welcome-kicker{font-size:9px;font-weight:850;letter-spacing:.11em;color:var(--primary)}
.welcome-panel{position:relative;overflow:hidden;min-height:242px;border:1px solid #e0e9ed;border-radius:16px;background:linear-gradient(105deg,#fff 0%,#f7fbfa 48%,#e6f3ef 100%);box-shadow:var(--shadow);display:flex;margin-bottom:14px}.welcome-copy{padding:31px 0 27px 38px;width:52%;position:relative;z-index:2}.welcome-copy h2{font-size:30px;line-height:1.08;margin:10px 0 2px;color:var(--navy);letter-spacing:-.03em}.welcome-copy h2 strong{color:var(--primary)}.welcome-copy h3{font-size:21px;color:var(--primary);margin:0 0 11px}.welcome-copy p{max-width:470px;font-size:13px;line-height:1.6;color:#52657e;margin:0}.welcome-rule{height:3px;width:44px;background:#e6a400;border-radius:4px;margin-top:18px}.welcome-art{flex:1;position:relative;min-width:360px;background:linear-gradient(145deg,rgba(217,238,231,.25),rgba(255,255,255,0))}.art-building{position:absolute;right:16%;bottom:0;width:62%;height:76%;background:linear-gradient(120deg,#fff 0%,#dce8eb 65%,#c6d4da 100%);clip-path:polygon(10% 0,100% 22%,100% 100%,0 100%,0 14%);box-shadow:0 -8px 30px rgba(16,38,75,.08)}.art-building:before{content:"";position:absolute;inset:20% 8% 0;background:repeating-linear-gradient(90deg,rgba(18,104,120,.18) 0 12px,transparent 12px 27px),repeating-linear-gradient(0deg,rgba(18,104,120,.14) 0 10px,transparent 10px 26px);opacity:.65}.art-building span{position:absolute;z-index:2;left:17%;top:42%;font-weight:900;font-size:14px;line-height:1.05;color:#41556d;transform:rotate(-7deg);text-align:center}.leaf{position:absolute;border-radius:100% 0 100% 0;background:#cfe8dd;opacity:.8;transform:rotate(35deg)}.leaf-a{width:100px;height:34px;right:5%;top:10%}.leaf-b{width:70px;height:25px;right:0;top:35%;transform:rotate(65deg)}.leaf-c{width:80px;height:28px;right:22%;top:2%;transform:rotate(12deg)}
.dashboard-grid{display:grid;gap:12px;margin-bottom:12px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.two-col{grid-template-columns:1.25fr 1fr}.three-col{grid-template-columns:1.15fr .95fr 1fr}.stat-card,.panel{background:#fff;border:1px solid #e0e8ed;border-radius:14px;box-shadow:var(--shadow)}.stat-card{position:relative;overflow:hidden;padding:17px;display:flex;gap:12px;align-items:center;min-height:112px}.stat-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-52px;top:-52px;background:rgba(0,107,79,.055)}.stat-icon{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto}.stat-icon svg{width:25px;height:25px}.stat-card small,.stat-card span{display:block}.stat-card small{font-size:10px;color:#62758b;font-weight:650;margin-bottom:5px}.stat-card strong{font-size:28px;line-height:1;color:var(--navy);display:block}.stat-card span{font-size:10px;color:#6f8094;margin-top:5px}.stat-card.green .stat-icon{background:var(--primary-soft);color:var(--primary)}.stat-card.blue .stat-icon{background:var(--blue-soft);color:var(--blue)}.stat-card.orange .stat-icon{background:var(--orange-soft);color:var(--orange)}.stat-card.purple .stat-icon{background:var(--purple-soft);color:var(--purple)}
.panel{padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f3;padding-bottom:12px;margin-bottom:13px}.panel-head h3{font-size:16px;margin:2px 0 0;color:var(--navy)}.panel-kicker{color:#7a8b9e}.outline-btn{height:31px;border:1px solid #b9d9ce;background:#fff;color:var(--primary);border-radius:8px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800}.outline-btn svg{width:13px}.profile-summary{display:flex;align-items:center;gap:12px}.profile-symbol{width:48px;height:48px;border-radius:12px;background:#eaf5f1;color:var(--primary);display:grid;place-items:center;flex:0 0 auto}.profile-symbol svg{width:23px}.profile-summary strong,.profile-summary span{display:block}.profile-summary strong{font-size:13px;color:var(--navy)}.profile-summary span{font-size:10px;color:#718198;margin-top:4px}.profile-summary span svg{width:11px;height:11px;vertical-align:-2px}.status-pill{margin-left:auto;border-radius:999px;padding:5px 9px!important;font-size:9px!important;font-weight:800}.status-pill.success{background:#e2f6ed;color:#08704f}.status-pill.warning{background:#fff4d9;color:#986600}.status-row,.big-line,.attention-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f3;font-size:11px;color:#4f647c}.status-row:last-child,.big-line:last-child,.attention-row:last-child{border-bottom:0}.status-row strong,.big-line strong{font-size:14px;color:var(--navy)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}.green-dot{background:#18a66d}.yellow-dot{background:#f1b42c}.gray-dot{background:#9aa8b6}.big-line span{font-size:11px}.big-line strong{font-size:18px}.portion-box{display:grid;grid-template-columns:1fr 1fr;gap:8px}.portion-box>div{padding:13px;border-radius:10px;background:#f5faf8;border:1px solid #e4f0eb}.portion-box>div+div{background:#f5f8fd;border-color:#e3ebf5}.portion-box span,.portion-box strong{display:block}.portion-box span{font-size:10px;color:#718198}.portion-box strong{font-size:25px;color:var(--navy);margin-top:4px}.panel-note{font-size:10px;color:#718198;margin:10px 0 0}.attention{background:linear-gradient(180deg,#fff 0%,#fffdf7 100%)}.attention-row b{min-width:26px;height:24px;border-radius:7px;background:#fff1d4;color:#a36c00;display:grid;place-items:center;font-size:11px}.quality-panel{margin-bottom:0}.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.quality-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#52657e;margin-bottom:7px}.quality-label strong{font-size:12px;color:var(--navy)}.progress{height:8px;background:#e8eef1;border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,#0b9a6e,#27bb89);border-radius:99px}.blue-progress>i{background:linear-gradient(90deg,#1877df,#50a1ef)}
.flash{border-radius:10px;box-shadow:none}.actions{margin-bottom:14px}.btn{background:var(--primary);border-radius:9px}.btn.secondary{background:#eaf5f1;color:var(--primary);border-color:#d3ebe2}.btn.gray{background:#f5f7f9;color:#40546e;border-color:#e3e9ee}.btn.danger{background:#fff0f0;color:#a32020;border-color:#f4cccc}.card,.table-wrap{border-radius:12px;box-shadow:var(--shadow)}.table th{background:#f6f9fa;color:#536981}.input,.select,.textarea{border-color:#d5e0e7;border-radius:9px}.input:focus,.select:focus,.textarea:focus{border-color:#4caa8c;box-shadow:0 0 0 3px rgba(0,107,79,.08)}.badge.green{background:#e1f5eb;color:#08704f}.badge.blue{background:#e6f1ff;color:#1765b6}.badge.yellow{background:#fff3d4;color:#966400}.badge.red{background:#ffe7e7;color:#a51f1f}
.footer{display:flex;justify-content:space-between;gap:15px;margin-left:248px;padding:0 30px 22px;color:#7b8b9e;font-size:9px;background:var(--bg)}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.three-col{grid-template-columns:1fr 1fr}.three-col .panel:last-child{grid-column:1/-1}.top-brand{min-width:240px}.top-search{max-width:none}.welcome-copy{width:60%}.art-building{right:3%;width:54%}}
@media(max-width:760px){.sidebar{display:none}.main{margin:0;width:100%;padding:0 12px 82px}.topbar{height:62px;margin:0 -12px 16px;padding:0 12px}.top-brand{min-width:0}.top-brand strong{font-size:10px}.top-brand small{font-size:8px}.mini-seal{width:31px;height:31px;font-size:8px}.top-search{display:none}.top-actions{gap:8px}.icon-button{width:34px;height:34px}.user-chip>span:not(.avatar),.user-chip>svg{display:none}.page-head{margin-bottom:13px}.page-head h1{font-size:20px}.welcome-panel{min-height:310px}.welcome-copy{width:100%;padding:25px 22px;z-index:3}.welcome-copy h2{font-size:25px}.welcome-copy h3{font-size:18px}.welcome-copy p{max-width:320px;font-size:11px}.welcome-art{position:absolute;inset:0;opacity:.38}.art-building{width:75%;height:54%;right:-8%;bottom:0}.stats-grid,.two-col,.three-col,.quality-grid{grid-template-columns:1fr}.three-col .panel:last-child{grid-column:auto}.stat-card{min-height:96px}.stat-card strong{font-size:25px}.panel{padding:15px}.profile-summary{align-items:flex-start;flex-wrap:wrap}.status-pill{margin-left:60px;margin-top:-5px}.footer{margin-left:0;padding:0 12px 18px;display:block;text-align:center}.footer span{display:block;margin-top:4px}.mobile-nav{display:grid;position:fixed;z-index:30;bottom:0;left:0;right:0;height:64px;background:#fff;border-top:1px solid #e1e8ed;grid-template-columns:repeat(4,1fr);box-shadow:0 -5px 18px rgba(16,38,75,.07)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#6b7d92;font-size:9px}.mobile-nav a svg{width:18px;height:18px}.mobile-nav a:hover{color:var(--primary)}.mobile-menu{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dfe7ec;background:#fff;border-radius:9px;color:#49627d;margin-right:7px}}
/* BGN-inspired login */
.login-page{min-height:100vh;background:#f4f8f7;color:var(--navy);display:block}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.login-intro{position:relative;overflow:hidden;padding:54px 7vw 34px;background:linear-gradient(145deg,#eef8f4 0%,#f8fbfa 58%,#eaf4f0 100%);border-right:1px solid #dfeae5}.login-intro-brand{display:flex;align-items:center;gap:12px}.login-seal{width:50px;height:50px;border-radius:50%;background:linear-gradient(145deg,#08765a,#004936);border:2px solid #e4b640;color:#f8c74d;display:grid;place-items:center;font-weight:900;font-size:11px}.login-intro-brand strong,.login-intro-brand span{display:block}.login-intro-brand strong{font-size:15px}.login-intro-brand span{font-size:10px;color:var(--primary);font-weight:750;margin-top:4px}.login-intro-copy{position:relative;z-index:2;max-width:570px;margin-top:18vh}.login-intro-copy>span{font-size:10px;font-weight:900;letter-spacing:.13em;color:var(--primary)}.login-intro-copy h1{font-size:40px;line-height:1.08;letter-spacing:-.04em;margin:11px 0 13px;color:var(--navy)}.login-intro-copy h1 strong{color:var(--primary)}.login-intro-copy p{max-width:500px;color:#5b6e84;font-size:13px;line-height:1.7;margin:0}.login-feature{display:grid;gap:10px;margin-top:27px;max-width:470px}.login-feature>div{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid rgba(206,224,217,.9);background:rgba(255,255,255,.72);border-radius:12px}.login-feature i{width:30px;height:30px;border-radius:9px;background:#e3f3ed;color:var(--primary);display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:900}.login-feature b,.login-feature small{display:block}.login-feature b{font-size:11px;color:var(--navy)}.login-feature small{font-size:9px;color:#718198;margin-top:3px}.login-intro footer{position:absolute;bottom:26px;font-size:9px;color:#7c8c9c}.login-decor{position:absolute;border-radius:50%;border:1px solid rgba(0,107,79,.09)}.decor-1{width:480px;height:480px;right:-190px;bottom:-230px}.decor-2{width:260px;height:260px;right:8%;top:12%;background:rgba(202,232,220,.35);filter:blur(1px)}.login-form-side{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:min(430px,100%);background:#fff;border:1px solid #dfe8e6;border-radius:18px;padding:32px;box-shadow:0 18px 50px rgba(16,38,75,.08)}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}.login-mark{width:43px;height:43px;border-radius:12px;background:#e7f5ef;color:var(--primary);display:grid;place-items:center;font-weight:900;font-size:10px;border:1px solid #d6ece3}.login-brand-name{font-size:18px;font-weight:850;color:var(--navy)}.login-brand-sub{font-size:10px;color:#78889b;margin-top:3px}.login-context{border:1px solid #dcebe5;background:#f6fbf9;border-radius:10px;padding:12px 13px;margin-bottom:20px}.login-context-label{display:block;font-size:8px;letter-spacing:.12em;font-weight:900;color:#718499;margin-bottom:4px}.login-context strong{font-size:10px;color:var(--primary-dark)}.login-alert{display:flex;gap:8px;align-items:center;border:1px solid #c6ead8;background:#effaf5;color:#086746;border-radius:9px;padding:9px 10px;margin:-5px 0 15px;font-size:11px}.login-alert.error{border-color:#f0c8c8;background:#fff3f3;color:#a11f1f}.login-alert>span:first-child{width:18px;height:18px;border-radius:50%;background:currentColor;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}.login-field{margin-bottom:15px}.login-field label{display:block;font-size:11px;font-weight:800;margin-bottom:6px;color:var(--navy)}.login-input-wrap{position:relative}.login-input{height:46px;padding:0 42px;border-radius:10px;border-color:#d6e0e5;font-size:12px}.login-input:focus{border-color:#48a98a;box-shadow:0 0 0 3px rgba(0,107,79,.08)}.login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8291a1;font-size:14px;font-weight:800;z-index:1}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;color:#8291a1;border-radius:7px;cursor:pointer}.password-toggle:hover{background:#eff6f3;color:var(--primary)}.remember-row{margin:1px 0 17px}.login-submit{width:100%;height:46px;border-radius:10px;background:var(--primary);box-shadow:0 7px 16px rgba(0,107,79,.16);font-size:12px;justify-content:space-between;padding:0 15px}.login-submit:hover{background:var(--primary-dark);filter:none}.login-submit b{font-size:18px;font-weight:500}.login-secure{display:flex;gap:9px;margin-top:15px;padding:11px;border-radius:10px;background:#f1f7f5;color:#456b61;font-size:9px;line-height:1.45}.login-secure>strong{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#dcefe8;color:var(--primary);flex:0 0 auto}.login-restricted{margin-top:16px;color:#8997a6;font-size:9px}.login-restricted span:first-child{color:var(--primary);margin-right:4px}@media(max-width:850px){.login-layout{grid-template-columns:1fr}.login-intro{display:none}.login-form-side{min-height:100vh;padding:22px}.login-card{padding:26px 22px}.login-page{background:#f4f8f7}}
