[hidden]{display:none!important}
.project-notes{white-space:pre-line;line-height:1.8;font-size:12px;color:#666}
.alert-row{display:flex;align-items:center;gap:18px;padding:24px;border-bottom:1px solid #eee}.alert-row:last-child{border:0}.alert-row>div{flex:1}.alert-row h3{margin:0 0 10px;font-size:14px}.alert-row p{font-size:11px;color:#888;line-height:1.8;margin:0}.alert-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#e31922}.alert-row.overdue{background:#fff3f3}
body.signed-out .sidebar,body.signed-out main,body.signed-out .toast{display:none}
#authScreen{display:none;min-height:100vh;grid-template-columns:1.05fr 1fr}
.signed-out #authScreen{display:grid}
.auth-brand{background:#171717;color:white;padding:70px 65px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-brand:after{content:'';height:7px;width:300px;position:absolute;bottom:75px;left:65px;background:#e31922;transform:skewX(-30deg)}
.auth-brand .wordmark{font-size:110px;letter-spacing:-12px}
.auth-brand .brand-caption{margin:25px 0 65px;color:#aaa}
.auth-brand h1{font-size:40px;line-height:1.14;letter-spacing:-1.5px;margin:0 0 22px}
.auth-brand p{color:#b5b5b5;font-size:13px;max-width:380px;line-height:1.8}
.auth-form-wrap{background:white;display:flex;align-items:center;justify-content:center;padding:55px}
.auth-form{width:100%;max-width:370px}
.auth-form h2{font-size:30px;letter-spacing:-1px;margin:16px 0}
.auth-form p{font-size:12px;color:#777;line-height:1.7}
.auth-form form{display:grid;gap:18px;margin-top:30px}
.auth-form .field input{min-height:46px}
.auth-form .primary,.auth-form .secondary{width:100%;min-height:46px;justify-content:center}
.auth-divider{text-align:center;color:#aaa;font-size:11px;margin:24px 0;display:flex;align-items:center;gap:16px}
.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#eee;flex:1}
.auth-form .gated-note{font-size:10px}.auth-foot{border-top:1px solid #eee;padding-top:22px;margin-top:28px}
.auth-error{color:#ba1420!important;background:#fff0f1;padding:12px;border-radius:8px}
.permission-hidden{display:none!important}
.sidebar{padding-top:24px;padding-bottom:18px}.sidebar .brand{margin-bottom:22px}.sidebar nav{overflow-y:auto;min-height:0;flex:1}
.sidebar nav{scrollbar-width:thin;scrollbar-color:#555 #171717}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-track{background:#171717}.sidebar nav::-webkit-scrollbar-thumb{background:#555;border-radius:4px}
.sidebar .nav{padding:9px 12px;font-size:11px;min-height:34px}.sidebar .nav-label{margin:18px 12px 7px;font-size:8px;letter-spacing:1.6px;color:#8e8e8e}
.sidebar .profile{margin-top:12px}.sidebar .logout-btn{background:transparent;color:#999;font-size:10px;padding:8px;margin-top:5px;text-align:left}
.nav-count{margin-left:auto;background:#e31922;color:white;font-size:9px;padding:2px 5px;border-radius:5px}
.agency-page{display:grid;gap:22px}.agency-page h2{font-size:16px;letter-spacing:-.4px}.agency-page h3{font-size:14px}
.agency-welcome{display:flex;align-items:center;justify-content:space-between;padding:32px 35px;background:#171717;color:white;border-radius:18px;position:relative;overflow:hidden}
.agency-welcome:after{content:'';position:absolute;right:-10px;bottom:0;width:180px;height:5px;background:#e31922;transform:skewX(-30deg)}
.agency-welcome h2{font-size:30px;margin:12px 0}.agency-welcome p{color:#aaa;font-size:12px}.agency-welcome .chip{background:#333;color:#ddd}
.agency-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.agency-stat{padding:22px;display:grid;gap:12px}.agency-stat>span{font-size:11px;color:#777}.agency-stat strong{font-size:34px;letter-spacing:-1px}.agency-stat small{font-size:10px;color:#999}
.agency-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.agency-panel{padding:24px}.agency-panel h2{margin:0 0 20px}
.agency-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid #eee}.agency-item:last-child{border:0}.agency-item b{display:block;font-size:12px}.agency-item small{display:block;margin-top:8px;color:#888;font-size:10px}
.agency-section-title{display:flex;align-items:center;justify-content:space-between}.agency-section-title h2{margin:6px 0 0}
.module-cards,.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.module-card{padding:24px}.module-card h3{margin:0 0 12px}.module-card p{font-size:11px;line-height:1.7;color:#888;min-height:38px}.card-actions{border-top:1px solid #eee;padding-top:16px;margin-top:16px}
.agency-empty{padding:35px 22px;text-align:center;color:#999;font-size:12px;line-height:1.8}.agency-empty button{margin-top:18px}
.toolbar{display:flex;align-items:center;gap:14px}.toolbar .search{flex:1;max-width:400px}.toolbar select,.toolbar input{padding:11px 14px;border:1px solid #ddd;border-radius:9px;background:white;font-size:11px}.count-note{font-size:11px;color:#888}
.client-card{padding:22px;min-width:0}.client-top{display:flex;align-items:center;gap:12px}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:10px;background:#fff0f1;color:#d31821;font-weight:750;font-size:14px}
.client-top h3{margin:0;font-size:13px}.client-top p{font-size:9px;color:#999;margin:5px 0}.client-top .badge{margin-left:auto;font-size:8px;white-space:nowrap}.client-stage{font-size:10px;color:#999;margin:24px 0 14px}.client-stage b{color:#555}.mini-metric{font-size:10px;color:#777}.client-finance{display:grid;gap:10px;padding-top:16px;font-size:10px;color:#888}.client-finance span{display:flex;justify-content:space-between}.client-finance b{color:#222}
.client-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #eee;margin-top:20px;padding-top:14px}.client-card footer .table-action{font-size:9px;padding:0}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-kv{font-size:10px;color:#999}.detail-kv b{display:block;font-size:13px;color:#333;margin-top:7px}
.kanban{display:flex;overflow-x:auto;gap:14px;padding-bottom:16px;align-items:flex-start}.kanban-column{background:#eee;border-radius:12px;padding:12px;min-width:240px;flex:1}.kanban-column>h3{font-size:11px;display:flex;justify-content:space-between;padding:2px 3px 12px;margin:0}.kanban-column>h3 span{color:#999}.project-card{padding:18px;margin-bottom:12px}.project-card h4,.mission-card h4{margin:0 0 12px;font-size:12px}.project-card p,.mission-card p{font-size:10px;color:#888;line-height:1.6}.board-empty{padding:25px 10px;text-align:center;color:#aaa;font-size:10px}.status-select{border:1px solid #ddd;background:white;border-radius:6px;padding:7px;width:100%;font-size:10px;margin:10px 0}.due-overdue{color:#d31821!important;font-weight:650}
.mission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.mission-column{min-width:0;background:#eee;border-radius:12px;padding:14px}.mission-owner{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650;margin:0 0 18px}.mission-card{padding:18px;margin-top:12px}.mission-owner .avatar{width:27px;height:27px;font-size:12px}
.alert-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px}.alert-card h3{margin:0 0 8px}.alert-card p{font-size:11px;color:#888}.alert-list{display:grid;gap:12px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.permissions-summary{display:flex;flex-wrap:wrap;gap:5px;max-width:430px}.permissions-summary span{font-size:9px;background:#f4f4f4;padding:5px 7px;border-radius:4px}.check-field{display:flex;gap:10px;align-items:center;font-size:12px}.access-link{display:block;background:#f4f4f4;padding:16px;overflow-wrap:anywhere;font-size:11px;color:#b8151c;border-radius:9px}.initial-access-note,.detail-note{font-size:11px;line-height:1.8;color:#888}.audit-line{font-size:11px;color:#888;padding:12px 0;border-bottom:1px solid #eee;line-height:1.7}.setup-box{background:#f4f4f4;padding:18px;border-radius:9px;font-size:11px;line-height:1.9;margin:22px 0;overflow-wrap:anywhere}.gated-note{font-size:10px;line-height:1.8;color:#999}
@media(max-width:1100px){.client-grid,.module-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agency-columns{grid-template-columns:1fr}.sidebar .nav{font-size:10px}}
@media(max-width:900px){.sidebar .nav{font-size:0;padding:13px}.sidebar .nav-label{display:none}.sidebar .nav>span:first-child{font-size:21px}.sidebar .finance-label,.sidebar .admin-label{display:none}.sidebar .nav-count{display:none}.auth-brand{padding:40px}.auth-brand h1{font-size:33px}.agency-stats{grid-template-columns:1fr 1fr}}
@media(max-width:650px){#authScreen{grid-template-columns:1fr}.auth-brand{padding:35px 28px;min-height:230px}.auth-brand .wordmark{font-size:55px;letter-spacing:-6px}.auth-brand .brand-caption{margin:16px 0 20px;font-size:8px}.auth-brand h1{font-size:27px;margin:8px 0}.auth-brand p{font-size:10px}.auth-brand:after{bottom:40px;height:4px;width:180px}.auth-form-wrap{padding:30px 24px}.auth-form h2{font-size:25px}.sidebar nav{overflow-x:auto;justify-content:flex-start}.sidebar .nav{min-width:49px;flex:none}.sidebar .workspace,.sidebar .brand{display:none}.client-grid,.module-cards,.mission-grid{grid-template-columns:1fr}.agency-welcome{padding:22px}.agency-welcome h2{font-size:21px}.agency-welcome .chip{display:none}.agency-stats{gap:10px}.agency-stat{padding:18px}.agency-stat strong{font-size:28px}.permission-grid,.details-grid{grid-template-columns:1fr}.agency-page table{white-space:nowrap}.agency-page .toolbar{gap:8px}.client-grid .client-card{padding:20px}.auth-brand .brand-caption{letter-spacing:4px}}
