:root { --portal-blue: #0b4a74; --portal-orange: #ff6c1c; }
.side { width:244px !important; padding:22px 14px !important; background:#070b12 !important; border-right:1px solid #233148 !important; }
.brand { padding:6px 10px 22px !important; font-size:27px !important; letter-spacing:-.8px; }
.brand small { display:block; margin-top:4px; color:#7e96b6; font-size:10px; letter-spacing:1.6px; text-transform:uppercase; }
.nav { display:flex !important; flex-direction:column !important; gap:7px !important; }
.nav button { width:100% !important; min-height:44px !important; display:flex !important; align-items:center !important; gap:12px !important; padding:10px 12px !important; border:1px solid transparent !important; border-radius:10px !important; background:transparent !important; color:#cad7e8 !important; text-align:left !important; font-weight:700 !important; box-shadow:none !important; }
.nav button:before,.nav button:after { content:none !important; display:none !important; }
.nav button:hover { background:#142136 !important; color:#fff !important; }
.nav button.active { background:linear-gradient(90deg,#0c527e,#12314f) !important; border-color:#1c6b9c !important; color:#fff !important; }
.nav-icon { width:21px; height:21px; flex:0 0 21px; color:#4ca7e7; text-align:center; line-height:1; }
.nav-icon svg { display:block; width:21px; height:21px; }
.nav button.active .nav-icon { color:#ff7a2c; }
.nav-label { display:inline !important; white-space:nowrap; }
.side-bottom { display:flex !important; flex-direction:column !important; gap:5px; padding:18px 10px 4px !important; color:#fff !important; }
.side-bottom span { color:#86a2c3; font-size:12px; }
.side-bottom button { width:auto !important; margin-top:8px; align-self:flex-start; background:#162135 !important; color:#fff !important; border-radius:8px !important; padding:8px 14px !important; }
.panel-head .small { margin-left:auto; font-weight:500; color:#81a4c8; font-size:12px; }
.forecast-list { max-height:420px; overflow:auto; }
@media (max-width:760px) { body{overflow-x:hidden}.shell{display:block!important;min-height:100vh}.side{width:100%!important;min-height:auto!important;padding:12px 12px 8px!important;position:sticky;top:0;z-index:20}.brand{display:none!important}.nav{flex-direction:row!important;gap:6px!important;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.nav button{width:auto!important;min-width:48px;min-height:43px!important;justify-content:center;padding:10px!important;flex:0 0 auto}.nav-label{display:none!important}.nav-icon{font-size:20px}.side-bottom{display:none!important}.content{width:100%!important}.top{padding:18px!important;align-items:flex-start!important}.top .title{font-size:25px!important}.top .user{font-size:11px!important;text-align:right;max-width:130px}.page{padding:16px!important}.cards,.grid{grid-template-columns:1fr!important;gap:14px!important}.cards .card{min-height:96px}.panel-head{gap:10px;flex-wrap:wrap}.panel-head .small{margin-left:0}.row{align-items:flex-start!important;flex-direction:column}.row .badge{align-self:flex-start}.modal,.modal-card{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;margin:10px auto!important}.modal-card{max-height:calc(100vh - 20px)!important;overflow:auto!important}.form-grid,.quote-form-grid{grid-template-columns:1fr!important}input,select,textarea{font-size:16px!important} }
