:root{--green-900:#083f67;--green-800:#0b5c91;--green-700:#0b707c;--green-100:#d9f0ee;--green-50:#edf8f7;--ink:#17262d;--muted:#4f626b;--line:#bdcbd1;--surface:#fff;--canvas:#f2f7f9;--soft:#eaf1f4;--red:#b42332;--orange:#9a5a00;--shadow:0 10px 32px rgba(8,63,103,.09)}
.stat-card .stat-label,.stat-card .stat-foot{display:block}.stat-card>div:nth-child(2){padding-right:42px}
.brand{height:96px}.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:12px}.brand-copy strong{color:#0b5c91;letter-spacing:.02em}.brand-copy span{text-transform:uppercase;letter-spacing:.1em;font-size:9px}.avatar-initial{display:grid;place-items:center;background:linear-gradient(135deg,#23b9a4,#0b5c91);color:#fff;font-weight:700}.last-login{padding:0 18px;border-right:1px solid var(--line);text-align:right;line-height:1.25}.last-login span{display:block;color:var(--muted);font-size:10px}.last-login strong{font-size:12px}.full-width{width:100%}.success-notice{border-color:#afe1d5;background:#effbf8;color:#0e695d}.error-notice,.auth-error{border:1px solid #f0b7bb;background:#fff1f2;color:#a71d2a;border-radius:9px;padding:12px;margin-bottom:16px}.notice ul{margin:7px 0 0;padding-left:18px}.stat-icon.blue{background:#e6f2fb;color:#126b9b}.stat-icon.purple{background:#f0eaff;color:#7549b9}.card-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.card-head a{color:var(--green-800);font-weight:700;font-size:12px}.activity-list{padding:5px 20px}.activity-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.task-copy{flex:1}.task-copy strong,.task-copy span{display:block}.task-copy span{color:var(--muted);font-size:11px;margin-top:3px}.panenova-auth-art{background:linear-gradient(145deg,#083e68 0%,#0f789b 55%,#18aa9b 100%);position:relative;overflow:hidden}.panenova-auth-art:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-240px;bottom:-220px}.auth-brand img{width:54px;height:54px;object-fit:contain;background:white;border-radius:12px}.auth-brand span{font-size:22px;font-weight:700}.auth-kicker{display:inline-block;font-size:11px;letter-spacing:.2em;font-weight:700;margin-bottom:15px;color:#a8f1e6}.mobile-auth-logo{display:none;width:100px;margin:0 auto 16px}.demo-credentials{margin-top:18px;padding:12px;border-radius:8px;background:var(--green-50);display:flex;gap:7px;flex-wrap:wrap;font-size:11px}.demo-credentials strong{width:100%}.demo-credentials code{background:#fff;border:1px solid var(--line);padding:4px 7px;border-radius:5px}.form-card{padding:20px}.form-card summary{cursor:pointer;font-weight:700;color:var(--green-900);list-style:none}.form-card summary::-webkit-details-marker{display:none}.form-card form{margin-top:20px}.page-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.map-placeholder{height:320px;background:linear-gradient(rgba(11,79,129,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(11,79,129,.08) 1px,transparent 1px),linear-gradient(135deg,#eaf5f4,#dcecf4);background-size:32px 32px,32px 32px,100% 100%;position:relative;border-radius:10px;overflow:hidden}.map-dot{position:absolute;width:16px;height:16px;background:#13a493;border:3px solid #fff;border-radius:50%;box-shadow:0 5px 12px rgba(0,0,0,.22)}.chart-bars{height:240px;display:flex;align-items:end;gap:14px;padding:20px}.chart-bar{flex:1;min-width:25px;background:linear-gradient(#1cb29e,#0b5c91);border-radius:7px 7px 2px 2px;position:relative}.chart-bar span{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted)}.module-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.module-grid .table-card{min-width:0}.meta-list{display:grid;gap:12px}.meta-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:10px}.meta-row span{color:var(--muted)}.auth-form .form-grid{grid-template-columns:1fr 1fr}.pagination nav{max-width:100%;overflow:auto}
@media(max-width:900px){.last-login{display:none}.module-grid{grid-template-columns:1fr}.mobile-auth-logo{display:block}.auth-form .form-grid{grid-template-columns:1fr}.auth-form .form-grid .field{grid-column:auto}.brand-logo{width:48px;height:48px}}

html,body{max-width:100%;overflow-x:hidden}.main,.content,.grid,.card,.card-head>*,.module-grid>*{min-width:0}.sidebar-backdrop{position:fixed;inset:0;border:0;background:rgba(8,35,53,.42);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:25}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.dashboard-tables .card,.responsive-data-grid .card{min-width:0}.data-table{min-width:600px}.user-cell>div:last-child{min-width:0}.user-cell strong,.user-cell span{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-copy{min-width:0}.task-copy strong,.task-copy span,.card-head h2,.card-head p{overflow-wrap:anywhere}.activity-item>.badge{flex:none}.meta-row{align-items:flex-start}.meta-row strong{max-width:65%;text-align:right;overflow-wrap:anywhere}.chart-bars{overflow-x:auto;overflow-y:hidden}.chart-bar:only-child{flex:0 1 110px;margin-inline:auto}.form-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-card summary:after{content:'+';font-size:20px;line-height:1;color:var(--green-700)}.form-card[open] summary:after{content:'−'}.form-card summary+form{border-top:1px solid var(--line);padding-top:18px}.profile-details{min-width:0}.profile-details h2,.profile-details p{overflow-wrap:anywhere}
@media(max-width:1400px){:root{--sidebar:240px}.content{padding:28px}.dashboard-tables,.responsive-data-grid{grid-template-columns:1fr}}
@media(max-width:1100px){:root{--sidebar:220px}.brand{padding:0 18px}.brand-logo{width:48px;height:48px}.module-grid{grid-template-columns:1fr}.module-grid>.form-card{max-width:none}}
@media(max-width:780px){body.sidebar-open{overflow:hidden}.sidebar{z-index:35}.topbar{height:64px}.content{padding:18px 14px 28px}.breadcrumb{margin-bottom:18px}.page-heading{margin-bottom:20px}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{min-height:116px;padding:16px}.stat-card>div:nth-child(2){padding-right:30px}.stat-icon{right:12px;top:12px}.top-actions{gap:0}.profile-chip{padding-left:12px}.card-head{padding:16px}.activity-list{padding-inline:16px}.activity-item{align-items:flex-start}.empty{padding:36px 20px}.form-card{padding:18px}.form-card .btn{width:100%}.meta-row strong{max-width:58%}}
@media(max-width:680px){.card{border-radius:11px}.card-head{align-items:flex-start;flex-wrap:wrap}.table-wrap{overflow:visible}.data-table{display:block;min-width:0;width:100%;font-size:12px}.data-table thead{display:none}.data-table tbody{display:grid;gap:10px;padding:12px}.data-table tr{display:grid;background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.data-table td{display:grid;grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr);align-items:center;gap:12px;padding:11px 12px;text-align:right;border-top:1px solid #e8ecea;overflow-wrap:anywhere}.data-table td:first-child{border-top:0}.data-table td:before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase}.data-table td.empty{display:block;padding:28px 16px;text-align:center}.data-table td.empty:before{display:none}.data-table .user-cell{justify-content:flex-end;text-align:left}.data-table .user-cell>div:last-child{max-width:190px}.data-table .user-cell strong,.data-table .user-cell span{max-width:190px}.table-footer{padding:12px}.meta-row{display:grid;grid-template-columns:1fr;gap:6px}.meta-row strong{max-width:none;text-align:left}.chart-bars{height:210px;padding:18px 14px 28px}.chart-bar{min-width:34px}.toast{left:14px;right:14px;bottom:14px}.notice{align-items:flex-start}.notice svg{flex:none}}
@media(max-width:420px){.dashboard-stats{gap:10px}.stat-card{min-height:110px;padding:14px}.stat-label{max-width:90px}.brand-copy{min-width:0}.profile-chip{border-left:0}.auth-form-wrap{padding:22px 18px}.form-options{align-items:flex-start;gap:10px}.demo-credentials code{max-width:100%;overflow-wrap:anywhere}}

:root{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark;--green-900:#8ce1d0;--green-800:#56c8b4;--green-700:#38b5a5;--green-100:#193b43;--green-50:#132d35;--canvas:#0c1720;--ink:#e8f1f4;--muted:#a8b8c0;--line:#2c414d;--surface:#13232e;--soft:#1b303c;--red:#ff7b86;--orange:#f4b94f;--shadow:0 12px 30px rgba(0,0,0,.2)}
html[data-theme="dark"] body{background:var(--canvas);color:var(--ink)}html[data-theme="dark"] .sidebar,html[data-theme="dark"] .topbar,html[data-theme="dark"] .card,html[data-theme="dark"] .stat-card,html[data-theme="dark"] .search,html[data-theme="dark"] .control,html[data-theme="dark"] .auth-form-wrap{background:var(--surface);border-color:var(--line)}html[data-theme="dark"] .topbar,html[data-theme="dark"] .sidebar{border-color:var(--line)}html[data-theme="dark"] .breadcrumb{color:var(--muted)}html[data-theme="dark"] .breadcrumb strong{color:var(--ink)}html[data-theme="dark"] .nav-item{color:#c4d2d7}html[data-theme="dark"] .nav-item:hover{background:var(--green-50);color:var(--green-800)}html[data-theme="dark"] .nav-item.active{background:var(--green-700);color:#06221f}html[data-theme="dark"] .brand-copy strong,html[data-theme="dark"] .card-head a,html[data-theme="dark"] .form-card summary{color:var(--green-800)}html[data-theme="dark"] .brand-copy span,html[data-theme="dark"] .nav-label,html[data-theme="dark"] .muted{color:var(--muted)}html[data-theme="dark"] .trend-up{color:#7ad8b5}html[data-theme="dark"] .last-login,html[data-theme="dark"] .profile-chip,html[data-theme="dark"] .sidebar-foot{border-color:var(--line)}html[data-theme="dark"] .profile-meta span{color:var(--green-700)}html[data-theme="dark"] .search{border-color:var(--line);color:var(--muted)}html[data-theme="dark"] .search input,html[data-theme="dark"] .control{color:var(--ink)}html[data-theme="dark"] .control::placeholder{color:#7f949e}html[data-theme="dark"] .control:focus{border-color:var(--green-700);box-shadow:0 0 0 3px rgba(56,181,165,.2)}html[data-theme="dark"] .data-table th{background:#1b303b;color:#b9c8ce}html[data-theme="dark"] .data-table tr{background:var(--surface)}html[data-theme="dark"] .data-table td{border-color:var(--line)}html[data-theme="dark"] .data-table td:before{color:#98aab2}html[data-theme="dark"] .data-table tbody tr:hover{background:#182d38}html[data-theme="dark"] .badge{background:#263943;color:#d3e0e4}html[data-theme="dark"] .badge-green{background:#1d4c48;color:#9ce4d0}html[data-theme="dark"] .badge-dark{background:#2e9f99;color:#061d1d}html[data-theme="dark"] .badge-red{background:#512a34;color:#ffabb2}html[data-theme="dark"] .badge-orange{background:#514125;color:#ffd681}html[data-theme="dark"] .table-footer{border-color:var(--line)}html[data-theme="dark"] .pagination .page-btn:hover:not(.active){background:var(--soft)}html[data-theme="dark"] .btn-outline{background:transparent;color:var(--ink);border-color:var(--line)}html[data-theme="dark"] .btn-outline:hover{background:var(--soft)}html[data-theme="dark"] .activity-item{border-color:var(--line)}html[data-theme="dark"] .task-icon,html[data-theme="dark"] .mini-avatar{background:#203942;color:var(--green-800)}html[data-theme="dark"] .map-placeholder{background-color:#152b35;background-image:linear-gradient(rgba(102,197,190,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(102,197,190,.13) 1px,transparent 1px),linear-gradient(135deg,#17343a,#183244)}html[data-theme="dark"] .profile-cover{background:linear-gradient(115deg,#0c3d52,#1d6b5f)}html[data-theme="dark"] .notice{color:var(--ink)}html[data-theme="dark"] .success-notice{background:#143b38;border-color:#286e64;color:#a2ebda}html[data-theme="dark"] .error-notice,html[data-theme="dark"] .auth-error{background:#48262d;border-color:#87424b;color:#ffb0b7}html[data-theme="dark"] .demo-credentials{background:#16373b}html[data-theme="dark"] .demo-credentials code{background:#10232d;border-color:var(--line);color:var(--ink)}html[data-theme="dark"] .auth-body{background:#0c1720}html[data-theme="dark"] .theme-toggle{color:var(--ink);background:var(--soft);border-color:var(--line)}html[data-theme="dark"] .theme-icon-light{display:none}html[data-theme="dark"] .theme-icon-dark{display:inline}html[data-theme="dark"] .auth-brand img{background:#fff}
.theme-toggle{height:36px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:11px;font-weight:600}.theme-toggle:hover{background:var(--soft)}.theme-icon{font-size:15px;line-height:1}.theme-icon-dark{display:none}.auth-body>.theme-toggle{position:fixed;right:24px;top:22px;z-index:40}.auth-body>.theme-toggle .theme-toggle-label{display:inline}
@media(max-width:780px){.theme-toggle{width:36px;padding:0;justify-content:center}.theme-toggle-label{display:none}.auth-body>.theme-toggle{right:16px;top:16px}.top-actions .theme-toggle{margin-right:8px}}

.leaflet-map{height:420px;position:relative;overflow:hidden;border-radius:0 0 var(--radius) var(--radius);background:linear-gradient(135deg,#eaf5f4,#dcecf4);isolation:isolate}.map-loading-state,.map-empty-state{position:absolute;inset:0;display:grid;place-content:center;gap:6px;text-align:center;padding:24px;color:var(--muted);z-index:500}.map-empty-state strong{color:var(--ink);font-size:14px}.map-empty-state span{font-size:11px}.map-empty-overlay{inset:auto 50% 18px auto;transform:translateX(50%);width:min(330px,calc(100% - 32px));padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);pointer-events:none}.panenova-leaflet-marker{background:transparent;border:0}.panenova-leaflet-marker span{display:block;width:30px;height:30px;border:4px solid #fff;border-radius:50% 50% 50% 8px;background:linear-gradient(135deg,#28bfa8,#0b5c91);box-shadow:0 8px 18px rgba(11,79,129,.34);transform:rotate(-45deg)}.panenova-leaflet-marker span:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;left:11px;top:11px}.panenova-map-popup{display:grid;gap:4px;min-width:190px;color:#223038}.panenova-map-popup strong{font-size:13px;color:#0b5c91}.panenova-map-popup span{font-size:11px}.panenova-map-popup em{justify-self:start;margin-top:3px;padding:3px 7px;border-radius:99px;background:#d7ebe3;color:#176247;font-size:9px;font-style:normal;font-weight:700;text-transform:capitalize}.leaflet-map .leaflet-control-zoom a{color:#0b5c91}.leaflet-map .leaflet-control-attribution{font-size:9px}.leaflet-theme-dark .leaflet-tile-pane{filter:brightness(.68) contrast(1.18) saturate(.68)}html[data-theme="dark"] .leaflet-map{background:#152b35}html[data-theme="dark"] .leaflet-popup-content-wrapper,html[data-theme="dark"] .leaflet-popup-tip{background:#13232e;color:#e8f1f4}html[data-theme="dark"] .panenova-map-popup{color:#c8d6dc}html[data-theme="dark"] .panenova-map-popup strong{color:#56c8b4}html[data-theme="dark"] .panenova-map-popup em{background:#1d4c48;color:#9ce4d0}html[data-theme="dark"] .leaflet-map .leaflet-control-zoom a,html[data-theme="dark"] .leaflet-map .leaflet-control-scale-line,html[data-theme="dark"] .leaflet-map .leaflet-control-attribution{background:#13232e;color:#d9e6ea;border-color:#2c414d}html[data-theme="dark"] .leaflet-map .leaflet-control-attribution a{color:#56c8b4}
@media(max-width:780px){.leaflet-map{height:360px}}
@media(max-width:420px){.leaflet-map{height:320px}.map-empty-overlay{bottom:12px}}

/* Accessibility contrast pass */
body{color:var(--ink)}
.brand-copy span{color:var(--muted);font-weight:600}
.nav-label{color:#526771;font-size:10.5px;letter-spacing:.1em}
.nav-item{color:#334951;font-weight:500}
.nav-item.active{background:var(--green-700);color:#fff;font-weight:700}
.breadcrumb{color:var(--muted);font-weight:500}
.breadcrumb strong{color:var(--ink)}
.page-heading p,.card-head p,.task-copy span,.meta-row span,.profile-name p,.auth-form>p,.muted{color:var(--muted)}
.last-login span{color:var(--muted);font-size:10.5px;font-weight:600}
.profile-meta span{color:#075d7c;font-weight:700}
.stat-label{color:#455a63;font-size:10.5px;font-weight:700}
.stat-foot{color:var(--muted);font-size:11px;font-weight:600}
.trend-up{color:#086644}
.field label{color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.01em}
.control,.search{border-color:var(--line)}
.control{color:var(--ink);font-weight:500}
.control::placeholder,.search input::placeholder{color:#657983;opacity:1}
.control:focus,.search:focus-within{border-color:var(--green-700);box-shadow:0 0 0 3px rgba(11,112,124,.16)}
.password-toggle{color:#415760;font-weight:700}
.data-table th{background:#e9f0f3;color:#344b55;font-size:10.5px;font-weight:700}
.data-table td{color:var(--ink)}
.table-footer{color:var(--muted);font-weight:500}
.badge{border:1px solid #cbd7dc;background:#e8eef1;color:#344b55;font-size:10.5px;font-weight:700}
.badge.badge-green{border-color:#a9d8c8;background:#d7f0e7;color:#075a42}
.badge.badge-dark{border-color:#0b5c91;background:#0b5c91;color:#fff}
.badge.badge-yellow{border-color:#e2cc8e;background:#fff2c9;color:#694b00}
.badge.badge-red{border-color:#e8aab1;background:#ffe1e4;color:#941f2c}
.badge.badge-orange{border-color:#e6c17d;background:#fff0d0;color:#7a4700}
.activity-item>.badge{display:inline-flex;margin-top:0}
.btn{font-weight:700}
.btn-outline{border-color:var(--line);color:#293d46}
.auth-copy p{color:rgba(255,255,255,.88)}
.auth-quote{color:rgba(255,255,255,.78)}
.demo-credentials{color:var(--ink)}
.map-loading-state,.map-empty-state{color:var(--muted);font-weight:600}

html[data-theme="dark"]{--green-900:#a3ede0;--green-800:#7adccb;--green-700:#42c3b3;--green-100:#1b4248;--green-50:#14343b;--canvas:#09151d;--ink:#f3f8fa;--muted:#c0ced4;--line:#3b5360;--surface:#132833;--soft:#203844;--red:#ff929c;--orange:#ffd06e;--shadow:0 12px 30px rgba(0,0,0,.28)}
html[data-theme="dark"] .nav-label{color:#adbec5}
html[data-theme="dark"] .nav-item{color:#d8e4e8}
html[data-theme="dark"] .nav-item.active{background:var(--green-700);color:#042923}
html[data-theme="dark"] .brand-copy span,html[data-theme="dark"] .last-login span,html[data-theme="dark"] .muted{color:var(--muted)}
html[data-theme="dark"] .profile-meta span{color:#8ce4d5}
html[data-theme="dark"] .stat-label{color:#c5d3d8}
html[data-theme="dark"] .stat-foot{color:#bacbd1}
html[data-theme="dark"] .trend-up{color:#8ce4c1}
html[data-theme="dark"] .field label{color:#f3f8fa}
html[data-theme="dark"] .control::placeholder,html[data-theme="dark"] .search input::placeholder{color:#a7bac2}
html[data-theme="dark"] .password-toggle{color:#c6d4d9}
html[data-theme="dark"] .data-table th{background:#1e3743;color:#d4e0e4}
html[data-theme="dark"] .data-table td:before{color:#b5c5cb}
html[data-theme="dark"] .badge{border-color:#47606c;background:#293f49;color:#e5eef1}
html[data-theme="dark"] .badge.badge-green{border-color:#35766d;background:#1c4d47;color:#b7f3e3}
html[data-theme="dark"] .badge.badge-dark{border-color:#67d2c3;background:#67d2c3;color:#052723}
html[data-theme="dark"] .badge.badge-yellow{border-color:#806f3d;background:#4a4024;color:#ffe59a}
html[data-theme="dark"] .badge.badge-red{border-color:#87505a;background:#522d36;color:#ffc0c6}
html[data-theme="dark"] .badge.badge-orange{border-color:#866b35;background:#514326;color:#ffe09a}
html[data-theme="dark"] .btn{color:#042923}
html[data-theme="dark"] .btn-danger{background:#c9404d;color:#fff}
html[data-theme="dark"] .btn-outline{color:#eef5f7;border-color:#536b76}

/* Profile layout */
.profile-layout{align-items:start}
.profile-card .profile-details{display:grid;justify-items:center;align-items:start;padding:0 25px 22px;text-align:center}
.profile-avatar{flex:0 0 100px}
.profile-name{min-width:0;margin-top:12px;padding-bottom:0}
.profile-name .badge{margin-top:10px}
.profile-account-meta{padding:0 25px 25px}
.profile-account-meta .meta-row{align-items:flex-start}
.profile-account-meta .meta-row span{flex:0 0 125px}
.profile-account-meta .meta-row strong{min-width:0;text-align:right;overflow-wrap:anywhere}
@media(max-width:520px){.profile-card .profile-details{padding-inline:18px}.profile-avatar{margin-inline:auto}.profile-account-meta{padding:0 18px 22px}.profile-account-meta .meta-row{align-items:flex-start;text-align:left}.profile-account-meta .meta-row span{flex-basis:112px}.profile-account-meta .meta-row strong{text-align:right}}
