@font-face{font-family:Noor;src:url(/fonts/noor/Noor-Light.ttf)format("truetype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Noor;src:url(/fonts/noor/Noor-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Noor;src:url(/fonts/noor/Noor-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#112f3d;--muted:#6a808c;--line:#e1eaf0;--line-strong:#c6d7dd;--teal:#087f82;--teal-dark:#05646c;--wash:#f3f7f8;--surface:#fff;--surface-soft:#f8fbfb;--surface-tint:#eef5f6;--success-bg:#e9f7ef;--success-border:#b9dfc8;--success-text:#1f6542;--warning-bg:#fff6e6;--warning-border:#ead5a7;--warning-text:#805d1b;--danger-bg:#fff1ef;--danger-border:#facfc9;--danger-text:#9e3c2c;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--control-height:46px;--content-max:1500px;--page-pad-x:clamp(18px, 4vw, 70px);--page-pad-y:34px;--shadow-xs:0 1px 2px #112f3d0a;--shadow-sm:0 8px 24px #112f3d0f;--font-arabic:"Noor", "Segoe UI", Tahoma, Arial, sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-bold:700;font-family:var(--font-arabic)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{font-family:var(--font-arabic)}body{background:var(--wash);color:var(--ink);font-family:var(--font-arabic);font-weight:var(--font-weight-regular);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button,input,select,textarea,table{font:inherit;font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #52b7b5}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.4;font-weight:var(--font-weight-bold)}h2{font-size:1.4rem;font-weight:var(--font-weight-bold)}h3{font-size:1.15rem;font-weight:var(--font-weight-bold);margin-bottom:6px}h4{font-size:1rem;font-weight:var(--font-weight-bold);margin:0 0 18px}small{font-size:.78rem}.muted,.helper{color:var(--muted);font-weight:var(--font-weight-light)}.eyebrow{color:var(--teal);letter-spacing:.3px;font-size:.78rem;font-weight:var(--font-weight-bold)}.center-page{place-items:center;min-height:100vh;padding:20px;display:grid}.loading-panel{background:#fff;border-radius:18px;padding:42px}.login-screen{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-art{color:#fff;background:linear-gradient(146deg,#063e4e 0%,#087a81 78%,#20a7a5);flex-direction:column;justify-content:center;padding:min(8vw,110px);display:flex;position:relative;overflow:hidden}.login-art h1{z-index:1;margin:48px 0 24px;font-size:clamp(2rem,4.1vw,4.3rem);line-height:1.45;position:relative}.login-art p{opacity:.87;z-index:1;max-width:400px;font-size:1.1rem;line-height:2;position:relative}.brand-mark{color:#fff;width:45px;height:45px;font-weight:var(--font-weight-bold);background:linear-gradient(140deg,#3dc8c4,#137d87);border-radius:14px;place-items:center;font-size:13px;display:grid}.brand-mark.large{z-index:1;background:#ffffff21;border:1px solid #63d3d1;width:60px;height:60px;position:relative}.decor-circle{border:1px solid #ffffff28;border-radius:50%;position:absolute}.decor-circle.one{width:520px;height:520px;bottom:-285px;right:-180px}.decor-circle.two{width:380px;height:380px;top:-210px;left:-170px}.login-panel{place-items:center;padding:35px;display:grid}.login-inner{width:min(410px,100%)}.login-inner h2{margin:16px 0 9px;font-size:2.25rem}.login-inner form{gap:10px;margin-top:40px;display:grid}.login-inner label{font-weight:var(--font-weight-bold);margin-top:8px;font-size:.9rem}.login-inner input,.filter-label input{color:var(--ink);direction:ltr;background:#fff;border:1px solid #cbdae1;border-radius:11px;min-width:0;padding:14px 16px}.login-inner input:focus{border-color:#33aaa6}.primary-btn{min-height:var(--control-height);background:var(--teal);color:#fff;border-radius:var(--radius-md);font-weight:var(--font-weight-bold);border:0;padding:11px 20px;transition:background-color .16s,box-shadow .16s,transform .16s}.primary-btn:hover:not(:disabled){background:var(--teal-dark);box-shadow:var(--shadow-xs)}.primary-btn.full{width:100%;margin-top:16px}.helper{margin-top:28px;font-size:.8rem;line-height:1.8}.alert{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);border-radius:var(--radius-md);padding:12px 14px;line-height:1.7}.dashboard-alert{margin-bottom:20px}.app-layout{grid-template-columns:286px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#dbeef0;scrollbar-width:thin;scrollbar-color:#315866 transparent;background:#123947;flex-direction:column;gap:18px;height:100vh;padding:24px 16px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{border-bottom:1px solid #315866;align-items:center;gap:12px;margin:0 4px;padding:0 4px 20px;display:flex}.brand strong,.brand small,.sidebar-foot strong,.sidebar-foot small{display:block}.brand strong{color:#fff;font-size:1.02rem;font-weight:var(--font-weight-bold);line-height:1.5}.brand small{color:#9cbdc6;font-size:.74rem;font-weight:var(--font-weight-light);margin-top:3px}.sidebar-nav{flex-direction:column;gap:19px;min-width:0;display:flex}.nav-group{gap:6px;display:grid}.nav-title{color:#87a8b2;font-size:.7rem;line-height:1.6;font-weight:var(--font-weight-bold);letter-spacing:.2px;padding:0 12px}.nav-link{color:#c8dce2;min-width:0;min-height:46px;font-size:.88rem;line-height:1.55;font-weight:var(--font-weight-bold);border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:7px 9px;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:flex}.nav-link>span:last-child{overflow-wrap:anywhere;min-width:0}.nav-link:hover{color:#fff;background:#193f4d;border-color:#315866}.nav-link:focus-visible,.sidebar-logout:focus-visible{outline-offset:2px;outline:2px solid #68d6d1}.nav-link.active{color:#fff;font-weight:var(--font-weight-bold);background:#225362;border-color:#3d6d7b;box-shadow:inset -3px 0 #43c2bd}.nav-icon{color:#a9c9d0;background:#ffffff0c;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.nav-icon svg{width:19px;height:19px}.nav-link:hover .nav-icon{color:#dff8f6;background:#ffffff12}.nav-link.active .nav-icon{color:#68d6d1;background:#2f6977}.sidebar-foot{border-top:1px solid #315866;gap:12px;min-width:0;margin-top:auto;padding:18px 4px 0;display:grid}.sidebar-user{align-items:center;gap:11px;min-width:0;padding:0 4px;display:flex}.sidebar-user>div{min-width:0}.sidebar-foot strong{overflow-wrap:anywhere;color:#fff;font-size:.84rem;font-weight:var(--font-weight-bold)}.sidebar-foot small{color:#9cbdc6;overflow-wrap:anywhere;text-align:right;direction:ltr;margin-top:3px;font-size:.72rem}.user-avatar{color:#fff;min-width:40px;height:40px;font-weight:var(--font-weight-bold);background:#359b9c;border-radius:12px;place-items:center;display:grid}.sidebar-logout{color:#dbeef0;width:100%;min-height:42px;font-weight:var(--font-weight-bold);background:#ffffff08;border:1px solid #3b6370;border-radius:11px;justify-content:center;align-items:center;gap:8px;display:flex}.sidebar-logout:hover:not(:disabled){color:#fff;background:#ffffff12;border-color:#5c8995}.sidebar-mobile-logout{width:auto;font:inherit;text-align:right;cursor:pointer;background:0 0;display:none}.sidebar-mobile-logout:disabled{opacity:.62;cursor:wait}.app-main{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:24px clamp(22px,4vw,70px);display:flex}.topbar h1{margin:10px 0 0}.breadcrumbs{color:#769099;font-size:.81rem}.outline-btn{min-height:var(--control-height);background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--radius-md);font-weight:var(--font-weight-bold);white-space:nowrap;padding:10px 18px;transition:border-color .16s,color .16s,background-color .16s}.outline-btn:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.dashboard{max-width:var(--content-max);padding:40px var(--page-pad-x);margin:0 auto}.section-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.section-header h2{margin:6px 0}.section-header p{margin-bottom:0;font-size:.85rem}.section-header.subsection{margin-top:42px}.factory-list{flex-wrap:wrap;gap:13px;display:flex}.factory-option{border:1px solid var(--line);text-align:right;min-width:min(260px,100%);color:var(--ink);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;display:flex}.factory-option.chosen{border:2px solid var(--teal);padding:13px 17px;box-shadow:0 7px 22px #085c6112}.factory-option strong,.factory-option small{display:block}.factory-option small{color:var(--muted);text-align:right;direction:ltr;margin-top:3px}.factory-icon{min-width:43px;height:43px;color:var(--teal);background:#e3f4f3;border-radius:11px;place-items:center;font-size:21px;display:grid}.choose-indicator{color:var(--teal);font-weight:var(--font-weight-bold);margin-right:auto}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:15px;min-width:0;padding:25px 22px}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{color:var(--muted);font-size:.86rem}.stat-card strong{margin:12px 0 8px;font-size:2rem}.stat-card small{color:#8aa0a9;line-height:1.7}.stat-card.highlighted{background:#e3f4f2;border-color:#bbe2dd}.stat-card.highlighted strong{color:var(--teal)}.content-grid{grid-template-columns:1.15fr 1fr;align-items:start;gap:18px;margin-top:24px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);min-width:0;box-shadow:var(--shadow-xs);padding:25px}.panel-header{border-bottom:1px solid #edf2f4;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px;padding-bottom:20px;display:flex}.panel-header p{margin:0;font-size:.8rem}.filter-label{color:var(--muted);gap:5px;font-size:.73rem;display:grid}.filter-label input{width:160px;padding:8px;font-size:.8rem}.shift-list,.meter-list{display:grid}.shift-row{text-align:right;color:var(--ink);background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;min-width:0;padding:13px 9px;display:flex}.shift-row+.shift-row,.meter-row+.meter-row{border-top:1px solid #eff3f5}.shift-row:hover,.shift-row.selected{background:#f0f9f8}.shift-num{min-width:36px;height:36px;color:var(--teal);font-weight:var(--font-weight-bold);background:#e3f4f2;border-radius:9px;place-items:center;display:grid}.shift-text{flex:1;min-width:0}.shift-text strong,.shift-text small{display:block}.shift-text small,.meter-row small{color:var(--muted);margin-top:5px}.tag{color:#527282;white-space:nowrap;background:#edf3f6;border-radius:50px;padding:6px 9px;font-size:.71rem}.tag.good{color:#257242;background:#e5f6e9}.tag.warn{color:#99681c;background:#fff3df}.meter-row{align-items:center;gap:12px;min-width:0;padding:15px 8px;display:flex}.meter-row>div:nth-child(2){flex:1;min-width:0}.meter-row strong,.meter-row small{display:block}.meter-glyph{color:#4b8ab4;background:#e8f1fa;border-radius:11px;place-items:center;min-width:37px;height:37px;display:grid}.details-panel{margin-top:24px}.detail-metrics{background:#f4f8f9;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px;display:grid}.detail-metrics span{color:var(--muted);font-size:.78rem;display:block}.detail-metrics strong{margin-top:12px;font-size:1.5rem;display:block}.detail-metrics strong small{font-weight:var(--font-weight-light);font-size:.75rem}.details-columns{grid-template-columns:1fr 1fr;gap:30px;margin:28px 0 22px;display:grid}.data-row,.recon-row{border-bottom:1px solid #edf2f4;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px 0;display:flex}.data-row>div:first-child{min-width:0}.data-row strong,.data-row small,.recon-row strong,.recon-row small{display:block}.data-row strong{font-size:.88rem}.data-row small,.recon-row small{color:var(--muted);margin-top:7px;font-size:.73rem;line-height:1.7}.right-data{text-align:left;white-space:nowrap}.recon-title{border-top:1px solid #edf2f4;padding-top:16px}.recon-row{flex-wrap:wrap;align-items:start}.recon-row .muted{font-size:.85rem;line-height:1.9}.empty{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--muted);text-align:center;padding:28px;line-height:1.9}.panel .empty{border:0}.padded{padding:10px}.footer-note{text-align:center;color:#8198a1;margin:30px 0 0;font-size:.78rem}@media (max-width:1150px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media (max-width:820px){.login-screen{grid-template-columns:1fr}.login-art{justify-content:flex-start;min-height:180px;padding:24px}.login-art h1{margin:18px 0 0;font-size:1.45rem}.login-art p,.decor-circle{display:none}.login-panel{padding:35px 20px}.app-layout{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{z-index:20;gap:9px;min-width:0;max-width:100%;height:auto;max-height:none;padding:11px 14px 10px;position:sticky;overflow:visible;box-shadow:0 5px 18px #0b2d3824}.sidebar .brand{border-bottom-color:#315866;margin:0;padding:0 2px 9px}.sidebar .brand-mark{border-radius:10px;width:36px;height:36px}.sidebar .brand strong{font-size:.86rem}.sidebar .brand small{display:none}.sidebar-nav{scrollbar-width:none;flex-direction:row;gap:6px;padding-bottom:2px;overflow-x:auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-group{display:contents}.sidebar .nav-title{display:none}.sidebar .nav-link{white-space:nowrap;border-radius:10px;flex:none;min-height:39px;padding:5px 9px;font-size:.78rem}.sidebar .nav-icon{border-radius:8px;flex-basis:28px;width:28px;height:28px}.sidebar .nav-icon svg{width:16px;height:16px}.sidebar .sidebar-foot{display:none}.sidebar .sidebar-mobile-logout{display:flex}.topbar{padding:20px}.topbar h1{font-size:1.2rem}.dashboard{padding:25px 16px}.panel{padding:19px 15px}.details-columns{grid-template-columns:1fr;gap:22px}.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:440px){.stats-grid{gap:10px}.stat-card{padding:17px 14px}.stat-card strong{font-size:1.6rem}.panel-header{flex-wrap:wrap;align-items:start}.tag{white-space:normal}}.reports-page{min-height:100vh}.reports-topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:32px clamp(18px,4vw,70px);display:flex}.reports-topbar h1{margin:8px 0}.reports-topbar p{margin:0}.reports-content{max-width:var(--content-max);padding:var(--page-pad-y) var(--page-pad-x) 70px;margin:0 auto}.reports-controls{flex-wrap:wrap;align-items:end;gap:13px;display:flex}.reports-controls label{font-weight:var(--font-weight-bold);flex:180px;gap:7px;font-size:.87rem;display:grid}.reports-controls input,.reports-controls select{min-width:0;max-width:100%;min-height:46px;color:var(--ink);font:inherit;background:#fff;border:1px solid #c9d7dc;border-radius:10px;padding:12px}.reports-controls input{text-align:right;direction:ltr}.reports-controls .primary-btn,.reports-controls .outline-btn{place-items:center;min-height:46px;display:inline-grid}.reports-controls a,.reports-topbar a{text-decoration:none}.reports-alert{margin-top:17px}.reports-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px;display:grid}.reports-metrics .stat-card strong{overflow-wrap:anywhere;font-size:1.65rem}.reports-metrics small{font-size:.8rem;font-weight:var(--font-weight-light)}.reports-panel{margin-top:22px}.reports-panel h3{margin-bottom:10px}.reports-scroll{max-width:100%;overflow-x:auto}.reports-table{border-collapse:collapse;text-align:right;width:100%;min-width:640px}.reports-table th,.reports-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 12px}.reports-table thead th{white-space:nowrap;background:#e7f4f3;font-size:.81rem}.reports-table tbody tr:hover{background:#f8fbfb}.reports-table td{font-size:.9rem}@media (max-width:900px){.reports-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.reports-topbar{flex-direction:column;align-items:flex-start}.reports-metrics{gap:9px}.reports-metrics .stat-card{padding:14px}.reports-metrics .stat-card strong{font-size:1.3rem}}.topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:none}.topbar-actions a{text-decoration:none}@media (max-width:820px){.topbar-actions{display:flex}}@media (max-width:620px){.topbar{flex-wrap:wrap;align-items:flex-start}}.party-page{min-height:100vh}.party-controls{flex-wrap:wrap;align-items:end;gap:13px;display:flex}.party-controls label,.party-form label{font-weight:var(--font-weight-bold);gap:7px;font-size:.9rem;display:grid}.party-controls label{flex:170px}.party-controls input,.party-controls select,.party-form input:not([type=checkbox]),.party-form select,.party-form textarea{color:var(--ink);width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #c9d7dc;border-radius:10px;padding:12px 14px}.party-columns{grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);align-items:start;gap:20px;margin-top:20px;display:grid}.party-form{gap:16px;display:grid}.party-form .party-check{align-items:center;gap:10px;display:flex}.party-form .party-check input{width:19px;height:19px}.party-actions{flex-wrap:wrap;gap:10px;display:flex}.party-success{color:#267043;font-weight:var(--font-weight-bold);margin:12px 0}@media (max-width:1000px){.party-columns{grid-template-columns:1fr}}.reports-tabs{border:1px solid var(--line);background:#eef5f6;border-radius:13px;gap:8px;width:max-content;max-width:100%;margin:0 0 20px;padding:5px;display:flex}.reports-tab{appearance:none;color:var(--muted);min-height:42px;font:inherit;font-weight:var(--font-weight-bold);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:10px 18px}.reports-tab:hover{color:var(--ink);background:#f8fbfb}.reports-tab.active,.reports-tab[aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 1px 3px #1239471f}.customer-statement{min-width:0}.customer-statement-filter{margin-bottom:22px}.customer-statement-controls{grid-template-columns:repeat(5,minmax(145px,1fr)) auto;align-items:end;gap:13px;display:grid}.customer-statement-controls label{min-width:0;font-size:.87rem;font-weight:var(--font-weight-bold);gap:7px;display:grid}.customer-statement-controls input,.customer-statement-controls select{width:100%;min-width:0;min-height:46px;color:var(--ink);font:inherit;background:#fff;border:1px solid #c9d7dc;border-radius:10px;padding:11px 12px}.customer-statement-controls input[type=date]{text-align:right;direction:ltr}.customer-statement-controls .primary-btn{min-height:46px}.customer-search-field{grid-column:span 2}.customer-search-input{gap:8px;min-width:0;display:flex}.customer-search-input input{flex:auto}.customer-search-input .outline-btn{min-height:46px}.customer-statement-hints{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-top:15px;font-size:.78rem;line-height:1.8;display:flex}.customer-statement-hints span:before{content:"•";color:var(--teal);margin-left:6px}.customer-statement-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin:34px 0 18px;display:flex}.customer-statement-heading h2{margin:6px 0}.customer-statement-heading p{margin:0}.customer-export-actions{flex-wrap:wrap;gap:9px;display:flex}.customer-export-actions a{text-decoration:none}.customer-statement-metrics{margin-top:0}.customer-panel-title{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.customer-panel-title h3{margin:0 0 7px}.customer-panel-title p{margin:0}.customer-page-count{color:var(--muted);white-space:nowrap;padding-top:3px;font-size:.8rem}.customer-sales-table{min-width:1180px}.customer-sales-table td{white-space:nowrap}.customer-date-cell{min-width:165px}.customer-meter-code{color:var(--muted);margin-top:4px;font-size:.72rem;display:block}.customer-source{color:#526d76;min-height:26px;font-size:.73rem;font-weight:var(--font-weight-bold);background:#f6fafb;border:1px solid #cbdde1;border-radius:999px;align-items:center;padding:3px 9px;display:inline-flex}.customer-source-historical_snapshot{color:#17644e;background:#e5f5ef;border-color:#b9dfd0}.customer-source-current_name_only{color:#765c12;background:#fff7df;border-color:#ead79c}.customer-source-unknown{color:#9e3c2c;background:#fff1ef;border-color:#facfc9}.customer-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}.customer-pagination span{color:var(--muted);font-size:.84rem;font-weight:var(--font-weight-bold)}.customer-statement-empty{margin-top:20px}@media (max-width:1200px){.customer-statement-controls{grid-template-columns:repeat(3,minmax(160px,1fr))}.customer-search-field{grid-column:span 2}}@media (max-width:760px){.reports-tabs{width:100%}.reports-tab{flex:1 1 0;padding-inline:10px}.customer-statement-controls{grid-template-columns:1fr 1fr}.customer-search-field{grid-column:1/-1}.customer-statement-heading{flex-direction:column;align-items:flex-start}.customer-export-actions{width:100%}.customer-export-actions .outline-btn{text-align:center;flex:160px}}@media (max-width:520px){.reports-tabs{flex-direction:column}.customer-statement-controls{grid-template-columns:1fr}.customer-search-field{grid-column:auto}.customer-search-input{flex-direction:column;align-items:stretch}.customer-panel-title{flex-direction:column}}.brand-mark{box-shadow:none;background:0 0;border:0}.brand-mark img{object-fit:contain;width:100%;height:100%}.brand-mark.large{background:0 0;border:0;width:108px;height:108px}.login-art{text-align:center;align-items:center}.login-art h1{margin:24px 0 12px}.login-art p{text-align:center;max-width:460px;margin:0 auto}.login-panel{align-items:center}.login-inner{text-align:center}.login-inner h2{font-size:clamp(1.65rem,3vw,2.25rem)}.login-inner>.muted{line-height:1.9}.login-inner form{text-align:right;margin-top:24px}.login-inner .helper{text-align:center}.mobile-topbar,.mobile-menu-backdrop,.drawer-close{display:none}@media (max-width:820px){.app-layout{min-height:100vh;display:block}.mobile-topbar{z-index:40;color:#fff;background:#123947;justify-content:space-between;align-items:center;min-height:66px;padding:8px 16px;display:flex;position:sticky;top:0;box-shadow:0 5px 18px #0b2d3826}.mobile-brand{justify-content:center;align-items:center;gap:9px;font-weight:700;display:flex}.mobile-brand img{object-fit:contain;width:40px;height:40px;display:block}.mobile-topbar-spacer{width:44px}.mobile-menu-button,.drawer-close{color:#fff;background:#ffffff14;border:1px solid #ffffff40;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.sidebar,.sidebar:not(.is-open){z-index:52;visibility:hidden;pointer-events:none;flex-direction:column;gap:18px;width:min(86vw,340px);min-width:0;max-width:340px;height:100dvh;max-height:100dvh;padding:24px 16px 20px;transition:transform .22s,visibility .22s;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(105%)}.sidebar.is-open{visibility:visible;pointer-events:auto;transform:translate(0)}.sidebar .brand{gap:10px;margin:0 4px;padding:0 4px 18px}.sidebar .brand-mark{width:45px;height:45px}.sidebar .brand strong{font-size:1rem}.sidebar .brand small{display:block}.drawer-close{flex:0 0 44px;margin-inline-start:auto;font-size:1.8rem;line-height:1}.sidebar .sidebar-nav{flex-direction:column;gap:18px;padding:0;display:flex;overflow:visible}.sidebar .nav-group{gap:6px;display:grid}.sidebar .nav-title{display:block}.sidebar .nav-link{white-space:normal;flex:none;width:100%;min-height:46px;padding:7px 9px;font-size:.9rem}.sidebar .nav-icon{flex-basis:34px;width:34px;height:34px}.sidebar .nav-icon svg{width:19px;height:19px}.sidebar .sidebar-foot{display:grid}.sidebar .sidebar-mobile-logout{display:none}.mobile-menu-backdrop{z-index:51;background:#05181f9e;border:0;border-radius:0;width:100%;height:100%;margin:0;padding:0;display:block;position:fixed;inset:0}.login-art{justify-content:center;min-height:220px;padding:24px 20px}.login-art .brand-mark.large{width:78px;height:78px}.login-art h1{margin:12px 0 4px;font-size:clamp(1.35rem,5vw,1.75rem)}.login-panel{padding:26px 20px 42px}.login-inner h2{margin-top:9px}}@media (max-width:400px){.mobile-topbar{padding-inline:10px}.login-panel{padding-inline:16px}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}
