*{box-sizing:border-box}html,body{margin:0;font-family:Arial,sans-serif;background:#f5f7fb;color:#1f2937}a{text-decoration:none;color:inherit}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:72px;background:#111827;color:white;overflow-y:auto;transition:.2s;flex:0 0 auto}.sidebar.expanded{width:245px}.brand{height:64px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;border-bottom:1px solid #263043}.sidebar nav{padding:10px}.sidebar a,.menu-group-title{display:block;width:100%;padding:11px 12px;border:0;background:none;color:#d1d5db;text-align:left;border-radius:8px;white-space:nowrap;overflow:hidden}.sidebar a:hover,.menu-group-title:hover{background:#1f2937;color:white}.menu-group-items{display:none;padding-left:6px}.menu-group.open .menu-group-items{display:block}.content-shell{display:flex;flex-direction:column;min-width:0;flex:1}.topbar{height:64px;background:white;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:14px;padding:0 18px}.topbar-spacer{flex:1}.main-content{padding:22px;overflow:auto;min-height:0}.icon-btn,.search-btn,.link-btn,.btn{border:1px solid #d1d5db;background:white;border-radius:8px;padding:9px 12px;cursor:pointer}.primary{background:#2563eb!important;color:white!important;border-color:#2563eb!important}.full{width:100%}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0}.card{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:18px}.metric span{display:block;color:#6b7280}.metric strong{font-size:28px;display:block;margin-top:8px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.page-head h1{margin:0}.page-head p{margin:4px 0 0;color:#6b7280}.filters{display:flex;gap:8px;margin:14px 0}.filters input{max-width:420px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px}.span-2{grid-column:span 2}.actions{display:flex;justify-content:flex-end}input,select,textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:white}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;border-bottom:1px solid #e5e7eb;text-align:left}th{font-size:12px;text-transform:uppercase;color:#6b7280}.badge{background:#eef2ff;border-radius:999px;padding:4px 8px;font-size:12px}.flash{padding:12px 14px;border-radius:8px;margin-bottom:14px}.flash.success{background:#ecfdf5}.flash.error{background:#fef2f2}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:390px;background:white;padding:28px;border:1px solid #e5e7eb;border-radius:16px}.login-logo{width:54px;height:54px;border-radius:14px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:800}.login-card h1{margin-bottom:4px}.login-card p{color:#6b7280}.login-card label{display:block;margin:14px 0 6px}.password-row{display:flex}.password-row input{border-radius:8px 0 0 8px}.password-row button{border:1px solid #cbd5e1;border-left:0;border-radius:0 8px 8px 0}.remember{display:flex!important;gap:8px;align-items:center}.remember input{width:auto}.inline-form{display:inline}.link-btn{border:0}.empty{text-align:center;color:#6b7280}@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.tenant{display:none}}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.queue-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb}.queue-item small{display:block;color:#6b7280;margin-top:4px}.score{font-size:22px;font-weight:700}.calendar-list{display:grid;gap:10px}.calendar-item{display:grid;grid-template-columns:180px 1fr auto;gap:16px;align-items:center}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px}.kanban-col{background:#eef2f7;border-radius:12px;min-height:420px;padding:10px}.kanban-col>header{display:flex;justify-content:space-between;padding:8px}.kanban-list{display:grid;gap:10px}.kanban-card{background:#fff;border:1px solid #dbe2ea;border-radius:10px;padding:12px}.kanban-card small{display:block;color:#6b7280;margin:5px 0 10px}.kanban-card select{margin-top:10px}@media(max-width:900px){.grid-two{grid-template-columns:1fr}.calendar-item{grid-template-columns:1fr}.kanban{grid-auto-columns:85vw}}.cards-8{grid-template-columns:repeat(4,minmax(0,1fr))}.proposal-total{display:flex;justify-content:flex-end;gap:20px;align-items:center;padding:18px 10px;font-size:20px}.proposal-total strong{font-size:24px}.actions-inline{display:flex;gap:6px;flex-wrap:wrap}.funnel-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e5e7eb}.quick-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:1100px){.cards-8{grid-template-columns:repeat(2,minmax(0,1fr))}}.tabs{display:flex;gap:6px;overflow:auto;margin:14px 0}.tabs a{padding:10px 12px;background:#fff;border:1px solid #dfe5ec;border-radius:8px;white-space:nowrap}.tabs a.active{background:#111827;color:#fff;border-color:#111827}.account-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.account-summary>div{display:flex;flex-direction:column;gap:5px}.muted-label{color:#6b7280;font-size:12px}.timeline{display:grid;gap:8px}.timeline-item{display:flex;gap:12px;align-items:flex-start}.timeline-item small{display:block;color:#6b7280;margin-top:4px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:#2563eb;margin-top:5px;flex:0 0 auto}.search-modal{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:50;padding:9vh 16px}.search-panel{max-width:760px;margin:0 auto;background:#fff;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.25);overflow:hidden}.search-panel>input{border:0;border-radius:0;padding:18px;font-size:17px;border-bottom:1px solid #e5e7eb}.search-group h4{margin:0;padding:10px 16px 5px;color:#6b7280;font-size:12px;text-transform:uppercase}.search-group a{display:block;padding:10px 16px;border-top:1px solid #f1f5f9}.search-group a:hover{background:#f8fafc}.search-group small{display:block;color:#6b7280;margin-top:3px}.search-empty{padding:20px;color:#6b7280}@media(max-width:900px){.account-summary{grid-template-columns:1fr 1fr}}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.health-card{display:flex;gap:12px;align-items:center}.health-card small{display:block;color:#6b7280;margin-top:4px}.health-status{width:12px;height:12px;border-radius:50%;background:#9ca3af}.health-status.ok{background:#16a34a}.health-status.warning{background:#f59e0b}.health-status.error{background:#dc2626}.pwa-body{background:#f5f7fb;padding-bottom:74px}.pwa-header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #e5e7eb;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.pwa-header small{display:block;color:#6b7280}.pwa-main{padding:14px;display:grid;gap:12px}.pwa-hero{padding:8px 2px}.pwa-hero h1{margin-bottom:4px}.pwa-hero p{margin:0;color:#6b7280}.pwa-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(5,1fr);z-index:10}.pwa-nav a{text-align:center;padding:16px 4px;font-size:12px}.pwa-nav a:hover{background:#f8fafc}@media(max-width:900px){.health-grid{grid-template-columns:1fr}}.notification-list{display:grid;gap:10px}.notification-item{display:flex;justify-content:space-between;gap:12px;align-items:center}.notification-item small{display:block;color:#6b7280;margin-top:4px}.notification-item.unread{border-left:4px solid #2563eb}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.permission-grid label{border:1px solid #e5e7eb;border-radius:8px;padding:10px}.permission-grid input{width:auto}.permission-grid small{display:block;color:#6b7280;margin-left:22px;margin-top:3px}.danger-zone{margin-top:14px;border-color:#fecaca}dialog{border:0;border-radius:12px;padding:20px;max-width:460px;width:calc(100% - 24px);box-shadow:0 25px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(15,23,42,.45)}dialog textarea{margin:10px 0}@media(max-width:900px){.permission-grid{grid-template-columns:1fr}}.pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0}.filters-wrap{flex-wrap:wrap}.filters-wrap input,.filters-wrap select{width:auto;min-width:140px}.table-card{overflow:auto}.production-warning{padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px}.health-card .health-status.error+div strong{color:#991b1b}