:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--brand-primary:#0B4F87;--brand-secondary:#0B2E4F;--brand-accent:#F59E0B;--brand-success:#16A34A;--brand-danger:#DC2626;--brand-surface:#fff;--ink:#10243e;--muted:#6d7d90;--line:#e6edf5;--bg:#f4f8fc;--shadow:0 12px 35px rgba(16,36,62,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:var(--brand-primary)}button,.button{font:inherit}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--brand-secondary),#071c30 82%);color:white;padding:18px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;padding:4px 6px 18px}.brand-logo-wrap{width:46px;height:46px;border-radius:14px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 24px #0003}.brand-logo{width:100%;height:100%;object-fit:contain;padding:4px}.sira-mark{font-size:25px;font-weight:900;color:var(--brand-primary)}.brand-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}.brand-copy strong{font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:.67rem;opacity:.8;margin-top:5px}.side-nav{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;gap:10px;align-items:center;color:#e8f2fb;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:.9rem}.nav-item:hover,.nav-item:focus{background:rgba(255,255,255,.12);color:#fff}.nav-platform{margin-top:8px;border-top:1px solid #ffffff20}.sidebar-footer{margin-top:auto;padding:16px 10px;color:#9fc4e2;font-size:.65rem;letter-spacing:.16em}.sidebar-footer strong{display:block;color:#d9ecfa;margin-top:6px}.workspace{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.global-search{background:#f1f6fb;border:1px solid #e3ebf4;border-radius:12px;padding:9px 13px;display:flex;align-items:center;gap:8px;min-width:330px}.global-search input{border:0;background:transparent;outline:0;width:100%;font:inherit}.top-actions{display:flex;align-items:center;gap:14px}.system-ok{font-size:.78rem;color:var(--brand-success)}.user-chip{display:flex;flex-direction:column;text-align:right}.user-chip small{color:var(--muted)}.ghost-button{border:1px solid var(--line);background:white;border-radius:10px;padding:8px 11px;cursor:pointer}.content{padding:24px;max-width:1640px;margin:auto}.hero-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.hero-row h1{font-size:1.7rem;margin:0}.hero-row p{margin:5px 0 0;color:var(--muted)}.hero-row p b{color:var(--brand-primary)}.hero-meta{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:.83rem}.live-pill{background:#dcfce7;color:#15803d;border-radius:999px;padding:5px 10px;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:12px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;gap:10px;box-shadow:0 4px 14px #10243e08;min-height:112px}.metric-icon{font-size:1.25rem}.metric-icon.blue{color:#1779d3}.metric-icon.orange{color:#f59e0b}.metric-icon.red{color:#dc2626}.metric-icon.green{color:#16a34a}.metric div{display:flex;flex-direction:column}.metric small{font-weight:700}.metric strong{font-size:1.55rem;margin:7px 0 3px}.metric span:last-child{font-size:.72rem;color:var(--muted)}.quick-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;margin-top:14px;box-shadow:var(--shadow)}.quick-panel h2,.panel h2{font-size:1rem;margin:0 0 11px}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.quick{min-height:78px;border-radius:12px;padding:12px;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;font-size:1.1rem}.quick b{font-size:.83rem}.quick.green{background:linear-gradient(135deg,#1bb75b,#0d9847)}.quick.blue{background:linear-gradient(135deg,#258ee9,#0875cf)}.quick.red{background:linear-gradient(135deg,#f04444,#d92d2d)}.quick.orange{background:linear-gradient(135deg,#ff9b24,#ef7c00)}.quick.yellow{background:linear-gradient(135deg,#ffcf3d,#f5aa00);color:#17202a}.quick.pale{background:#eef4fa;color:#17466d}.dashboard-lower{display:grid;grid-template-columns:.92fr 1.38fr;gap:14px;margin-top:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-head h2{margin:0}.panel-head small{color:var(--muted)}.activity-list{display:flex;flex-direction:column}.activity-row{display:grid;grid-template-columns:55px 100px 1fr auto;gap:9px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line);font-size:.78rem}.activity-row time{color:var(--muted)}.activity-type{font-weight:700}.activity-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-chip{border-radius:999px;padding:4px 8px;background:#e8f3ff;color:#1769aa;font-weight:700}.status-chip.ok{background:#dcfce7;color:#15803d}.status-chip.warn{background:#fff4ce;color:#946200}.empty-state{padding:30px;text-align:center;color:var(--muted)}.map-toolbar{display:flex;gap:8px;flex-wrap:wrap;font-size:.72rem;margin-bottom:8px}.map-toolbar label{display:flex;gap:5px;align-items:center;background:#f3f7fb;border-radius:8px;padding:5px 8px}.map-toolbar input{width:auto}#operational-map{height:390px;border-radius:12px;overflow:hidden;background:#dbe7ef}.map-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px;font-size:.72rem;color:var(--muted)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.dot.vehicle{background:#1683df}.dot.service{background:#e53935}.dot.site{background:#16a34a}.dot.event{background:#f59e0b}.sira-map-icon{background:transparent;border:0}.sira-map-icon span{width:34px;height:34px;display:grid;place-items:center;border-radius:50% 50% 50% 10%;transform:rotate(-45deg);color:#fff;border:3px solid #fff;box-shadow:0 2px 8px #0004;font-weight:900}.sira-map-icon span::first-letter{transform:rotate(45deg)}.page-title{margin-bottom:16px}.page-title h1{margin:0}.page-title p{color:var(--muted);margin:5px 0}.settings-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.panel label{display:block;margin:10px 0;font-size:.82rem;font-weight:650}.panel input,.panel select,.panel textarea{width:100%;padding:10px;border:1px solid #cad8e6;border-radius:9px;margin-top:5px;font:inherit}.panel button,.button{background:var(--brand-primary);color:white;border:0;border-radius:10px;padding:10px 15px;cursor:pointer;text-decoration:none}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-grid input[type=color]{height:44px;padding:4px}.brand-preview{background:#f7fafe}.preview-sidebar{background:var(--preview-secondary);color:#fff;padding:16px;border-radius:12px;display:flex;gap:10px;align-items:center}.preview-sidebar img,.preview-mark{width:46px;height:46px;border-radius:12px;background:#fff;object-fit:contain;padding:4px;display:grid;place-items:center;color:var(--preview-primary);font-weight:900}.preview-card{margin-top:12px;background:#fff;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px}.preview-card b{color:var(--preview-primary);font-size:1.2rem}.preview-card button{background:var(--preview-primary)}.success-box{background:#dcfce7;border:1px solid #a7efc1;padding:14px;border-radius:12px;margin-bottom:14px}.success-box code{display:block;margin-top:8px;padding:10px;background:#fff;border-radius:8px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:.82rem}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.public-header{padding:20px 24px;background:#0b2e4f;color:white;display:flex;gap:12px;align-items:baseline}.public-header strong{font-size:1.5rem}.public-main{max-width:560px;margin:60px auto;padding:0 18px}.card{background:white;padding:22px;border-radius:16px;box-shadow:var(--shadow)}.narrow{max-width:520px;margin:auto}.card label{display:block;margin:12px 0}.card input,.card select,.card textarea{width:100%;padding:10px;border:1px solid #cad8e6;border-radius:9px}.card button{background:#0b4f87;color:white;border:0;padding:10px 16px;border-radius:9px}.error{background:#fee;border-left:4px solid #dc2626;padding:10px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.tile{background:#fff;padding:20px;border-radius:12px;text-decoration:none;color:inherit;box-shadow:var(--shadow)}.tile span{display:block;color:var(--muted);margin-top:8px}.inline{display:inline}.actions form{margin:10px 0}.status{font-weight:700}.VALIDATED{color:#087a20}.ANNULLED{color:#b00020}.DRAFT{color:#666}.SUBMITTED,.VERIFIED{color:#9a6700}canvas{max-width:100%;border:2px solid #333;background:white;touch-action:none}@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(4,1fr)}.quick-grid{grid-template-columns:repeat(3,1fr)}.dashboard-lower{grid-template-columns:1fr}}@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:72px;z-index:50;padding:5px;background:var(--brand-secondary)}.brand,.sidebar-footer{display:none}.side-nav{height:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.nav-item{font-size:.64rem;flex-direction:column;gap:1px;justify-content:center;padding:4px}.nav-item:nth-child(n+6){display:none}.workspace{padding-bottom:78px}.topbar{height:64px;padding:0 12px}.global-search{display:none}.system-ok{display:none}.user-chip small{display:none}.content{padding:14px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric{min-height:95px}.quick-grid{grid-template-columns:repeat(2,1fr)}.dashboard-lower{grid-template-columns:1fr}.recent-panel{display:none}#operational-map{height:280px}.settings-grid{grid-template-columns:1fr}.color-grid{grid-template-columns:repeat(2,1fr)}}
/* SIRA 1.2 planning + personal services */
.platform-name{font-size:.62rem!important;opacity:.92!important}.platform-name b{letter-spacing:.08em}.association-tagline{font-size:.6rem!important;opacity:.62!important}.platform-pill{background:#edf4fb;color:var(--brand-primary);font-weight:900;letter-spacing:.12em;padding:5px 9px;border-radius:8px}.quick small{font-size:.66rem;opacity:.88}.quick-symbol{font-size:1.45rem}.quick.navy{background:linear-gradient(135deg,#174f82,#0b365d)}.quick.slate{background:linear-gradient(135deg,#66788d,#445568)}.six-metrics{grid-template-columns:repeat(6,minmax(140px,1fr))}.personal-map-layout{grid-template-columns:.86fr 1.55fr}.upcoming-list{display:flex;flex-direction:column}.upcoming-service{display:grid;grid-template-columns:76px 1fr 24px;gap:12px;align-items:center;padding:14px 2px;border-bottom:1px solid var(--line)}.service-time{display:flex;flex-direction:column;border-left:3px solid var(--brand-primary);padding-left:12px}.service-time strong{font-size:1.05rem}.service-time span{color:var(--muted);font-size:.75rem}.service-main{display:flex;flex-direction:column;gap:4px}.service-main span{color:var(--muted);font-size:.78rem}.service-main small{font-size:.7rem;color:#60758a}.chevron{text-decoration:none;font-size:1.5rem}.dashboard-bottom-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:14px;margin-top:14px}.mini-status p{color:var(--muted);line-height:1.45}.service-cards{display:grid;gap:14px}.service-card-head{display:flex;justify-content:space-between;gap:15px}.service-card-head h2{margin:4px 0}.service-card-head p{margin:0;color:var(--muted)}.service-date{color:var(--brand-primary);font-weight:800}.service-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.service-facts span{background:#f5f8fb;padding:10px;border-radius:10px;display:flex;flex-direction:column;font-size:.82rem}.service-facts b{font-size:.68rem;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.service-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.service-actions form{margin:0}.button.success{background:var(--brand-success)}.button.danger{background:var(--brand-danger)}.button.warning{background:#e88b00}.button.secondary{background:#64748b}.backup-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.backup-form label{margin:0}.backup-form button{height:42px}.warning-box{background:#fff4d5;border:1px solid #f1ce6c;border-radius:12px;padding:13px;margin:12px 0;color:#6f5300}.notice-box{background:#eef5fb;border-left:4px solid var(--brand-primary);padding:13px;margin-top:14px;border-radius:8px}.form-highlight{background:#f4f8fc;padding:14px;border-radius:12px;margin-bottom:14px}.form-highlight p{color:var(--muted);margin-bottom:0}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.calendar-title{display:flex;justify-content:space-between;align-items:center}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.calendar-tabs{display:flex;gap:5px;background:#eaf1f7;padding:4px;border-radius:11px}.calendar-tabs a{padding:8px 13px;border-radius:8px;text-decoration:none;color:#40566b;font-weight:700}.calendar-tabs a.active{background:white;color:var(--brand-primary);box-shadow:0 2px 8px #0001}.month-nav{display:flex;gap:14px;align-items:center}.month-nav a{text-decoration:none;font-size:1.4rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week-head{background:var(--brand-secondary);color:#fff;border-radius:12px 12px 0 0}.week-head span{padding:9px;text-align:center;font-size:.75rem;font-weight:800}.month-grid{background:#fff;border:1px solid var(--line);border-top:0}.calendar-day{min-height:145px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day.outside{background:#f6f8fa;color:#9aa7b5}.calendar-day.today header{display:inline-grid;place-items:center;background:var(--brand-primary);color:#fff;width:28px;height:28px;border-radius:50%}.calendar-day header{font-weight:900;margin-bottom:6px}.calendar-event{background:#eef5fb;border-left:3px solid var(--brand-primary);padding:6px;border-radius:6px;margin:4px 0;font-size:.7rem;display:flex;flex-direction:column}.calendar-event time{color:var(--brand-primary);font-weight:900}.calendar-event small{color:var(--muted);margin-top:2px}.planning-columns{display:grid;grid-template-columns:.7fr 1.3fr;gap:15px;margin-bottom:15px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 12px}.end-shift-form table input{min-width:180px}.status-chip.muted{background:#eef1f4;color:#64748b}.sira-map-icon span i{transform:rotate(45deg);font-style:normal;display:block}.sira-map-icon span{border-radius:50% 50% 50% 10%}
@media(max-width:1200px){.six-metrics{grid-template-columns:repeat(3,1fr)}.personal-map-layout,.dashboard-bottom-grid,.planning-columns{grid-template-columns:1fr}.service-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.six-metrics{grid-template-columns:repeat(2,1fr)}.service-facts{grid-template-columns:1fr 1fr}.backup-form{grid-template-columns:1fr}.calendar-grid{min-width:900px}.month-grid,.week-head{width:900px}.calendar-toolbar{position:sticky;left:0}.content:has(.month-grid){overflow-x:auto}.form-grid{grid-template-columns:1fr}.platform-name{white-space:normal}.association-tagline{display:none}}
.platform-grid{align-items:start}.sticky-card{position:sticky;top:86px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:.84rem;font-weight:700}.form-grid input,.form-grid select{min-height:42px;border:1px solid #d8e1eb;border-radius:10px;padding:9px 11px;background:#fff}.span-2{grid-column:1/-1}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.module-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dde6ef;background:#fff;border-radius:13px;padding:12px}.module-card small,.admin-row small{display:block;color:#6b7c91;margin-top:3px}.module-card.muted{opacity:.52}.switch-row{display:flex;align-items:center;gap:6px;font-size:.8rem}.admin-list{display:grid;gap:9px}.admin-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border-bottom:1px solid #edf1f5;padding:9px 0}.secret-code{font-size:1.05rem;background:#102b46;color:white;padding:5px 8px;border-radius:7px;user-select:all}.success-box,.info-box{border-radius:13px;padding:14px 16px;margin:0 0 16px}.success-box{background:#ecfdf3;border:1px solid #b8efce}.info-box{background:#eff7ff;border:1px solid #c7def7}.back-link{font-size:.84rem;text-decoration:none}.checklist-family h2{text-transform:capitalize}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #e8edf2;text-align:left;vertical-align:top}.inline-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-form input,.inline-form select{min-height:36px;border:1px solid #d7e0e8;border-radius:8px;padding:6px 8px}.button.small,.ghost-button.small{padding:6px 9px;font-size:.78rem}@media(max-width:850px){.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.sticky-card{position:static}.admin-row{grid-template-columns:1fr auto}.admin-row form{grid-column:1/-1}}
.user-menu{position:relative}.user-menu summary{list-style:none;cursor:pointer}.user-menu summary::-webkit-details-marker{display:none}.user-menu-panel{position:absolute;right:0;top:46px;z-index:100;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:12px;min-width:230px;display:grid;gap:10px}.user-menu-panel small{display:block;color:var(--muted);margin-top:2px}.user-menu-panel form{margin:0}.user-menu-panel .button{display:block;text-align:center}
