.page-heading{position:relative;margin-bottom:27px}.page-heading>div{min-width:0}.page-heading h1{margin:3px 0 5px;font:600 clamp(27px,3vw,32px) Arial,sans-serif;letter-spacing:-.035em}.page-heading>p:last-child,.page-heading>div>p:last-child{margin:0;color:var(--muted);font-size:13px}.page-heading>.button{position:absolute;right:0;bottom:0}.eyebrow,.metric-card>span{margin:0;color:var(--coral);font-size:9px!important;font-weight:750;letter-spacing:.17em;text-transform:uppercase}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:24px}.metric-card{min-width:0;min-height:112px;padding:19px 20px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--ink);border-radius:var(--radius)}.metric-card.accent{border-top-color:var(--coral)}.metric-card strong{display:block;margin:11px 0 5px;font:600 24px Arial,sans-serif;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card strong a{text-decoration:none}.metric-card small{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.panel{margin-bottom:16px;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;overflow:hidden}.panel>h2,.panel>summary{margin:0;padding:17px 19px;border-bottom:1px solid var(--line);font:600 14px Arial,sans-serif}.panel>p{padding:0 19px}.panel>article:not(.metric-card){padding:15px 19px;border-bottom:1px solid var(--line)}.panel>article:last-child{border-bottom:0}.panel[open]>summary{color:var(--coral)}details.panel>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}details.panel>summary::-webkit-details-marker{display:none}details.panel>summary::after{content:"+";font-size:18px;font-weight:400;color:var(--muted)}details.panel[open]>summary::after{content:"−"}.empty-panel{text-align:center;padding:54px 24px}.empty-panel h2{border:0;padding:0}.empty-panel p{color:var(--muted)}.empty-icon{color:var(--coral);font-size:32px}
.button,.button:visited{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border:1px solid #d7d9de;border-radius:3px;background:#fff;color:#444;text-decoration:none;font-size:12px;font-weight:650;line-height:1.2}.button:hover{border-color:#bfc2c8;background:#f9f9f8}.button.primary{background:var(--coral);border-color:var(--coral);color:#fff}.button.primary:hover{background:var(--coral-dark);border-color:var(--coral-dark)}
.project-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;width:100%;padding:14px 18px;border:0;border-bottom:1px solid #ededef;background:transparent;text-decoration:none;text-align:left}.project-row:last-child{border-bottom:0}.project-row:hover{background:#fafafa}.project-row strong{font-size:12px}.project-row span{color:var(--muted);font-size:11px}.project-row code{font-size:11px}
.responsive-table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th,.data-table td{padding:13px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-table th:last-child,.data-table td:last-child{border-right:0}.data-table tbody tr:last-child td{border-bottom:0}.data-table th{background:#f7f7f6;color:#6a6e76;font-size:9px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.data-table tbody tr:hover{background:#fcfcfb}.table-primary-link{color:var(--ink);font-size:12px;font-weight:700;text-decoration:none}.table-primary-link:hover,.table-secondary-link:hover{color:var(--coral)}.table-secondary-link{color:#545961;text-decoration:none}.person-chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.person-chip>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#2f3238;color:#fff;font-size:9px;font-weight:750;text-transform:uppercase}.deadline-overdue{background:#f8e4e1;color:var(--danger)}.deadline-soon{background:#fff2dc;color:var(--warning)}.deadline-scheduled{background:#e6f2ec;color:var(--success)}.deadline-empty{color:var(--muted)}.priority-high,.priority-urgent{background:#f8e4e1;color:var(--danger)}.priority-low{background:#e8eef7;color:#49658c}.status-in_progress,.status-review{background:#fff2dc;color:var(--warning)}.status-done{background:#e6f2ec;color:var(--success)}
.tabs{display:flex;gap:20px;margin:0 0 17px;border-bottom:1px solid var(--line);overflow-x:auto}.tabs a{padding:10px 1px 9px;border-bottom:2px solid transparent;color:var(--muted);text-decoration:none;font-size:11px;white-space:nowrap}.tabs a:hover{color:var(--ink)}.tabs .is-active{border-color:var(--coral);color:var(--ink);font-weight:650}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}.form-grid>div{display:flex;flex-direction:column;gap:6px}.form-grid>div:has(textarea),.form-grid>.button{grid-column:1/-1}.form-grid label,.metric-card label{color:#666;font-size:9px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea,.metric-card input,.metric-card select,.metric-card textarea{width:100%;min-height:39px;padding:9px 11px;border:1px solid #d8d9dd;border-radius:3px;background:#fff;color:var(--ink);font-size:12px;text-transform:none;letter-spacing:0}.form-grid select,.metric-card select{appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,#737780 50%),linear-gradient(135deg,#737780 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.form-grid textarea,.metric-card textarea{min-height:82px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.metric-card input:focus,.metric-card select:focus,.metric-card textarea:focus{outline:2px solid #f7d2d4;border-color:#ef8a8e}.form-grid .helptext,.metric-card .helptext{color:var(--muted);font-size:10px}.form-grid ul.errorlist,.metric-card ul.errorlist{margin:0;padding:7px 10px;border-left:3px solid var(--danger);background:#f8e4e1;color:var(--danger);font-size:11px;list-style:none}
.kanban{display:flex;gap:11px;align-items:flex-start;overflow-x:auto;padding-bottom:15px}.kanban-column{min-width:256px;width:256px;min-height:380px;padding:10px;background:#ebeef2;border-radius:4px}.kanban-column h2{margin:3px 3px 12px;color:#666d77;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.task-card{display:grid;gap:8px;margin-bottom:8px;padding:13px;background:#fff;border:1px solid #dfe2e7;border-radius:3px;box-shadow:0 1px 2px rgb(30 30 28 / 10%);text-decoration:none}.task-card:hover{border-color:#c9ccd2;transform:translateY(-1px)}.task-card strong{font-size:12px}.task-card small{color:var(--danger);font-size:10px}
.status,.deadline-badge{display:inline-flex;align-items:center;border-radius:20px;padding:3px 8px;background:#eff0f2;color:#626773;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.status-active,.status-approved,.status-paid,.status-won{background:#e6f2ec;color:var(--success)}.status-pending,.status-settled{background:#fff2dc;color:var(--warning)}.status-lost,.status-rejected,.status-suspended{background:#f8e4e1;color:var(--danger)}
.ai-cost-section{margin:30px 0 26px}.ai-cost-heading{display:flex;align-items:end;justify-content:space-between;margin:0 0 14px}.ai-cost-heading h2{margin:4px 0 0;font:600 22px Arial,sans-serif;letter-spacing:-.035em}.ai-cost-metrics{margin-bottom:16px}.ai-cost-metrics .metric-card strong{font-size:20px;white-space:normal}.ai-cost-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:16px}.ai-cost-analysis,.ai-cost-provider{min-width:0}.ai-cost-chart{display:grid;gap:12px;padding:20px 19px;border-bottom:1px solid var(--line)}.ai-cost-bar-row{display:grid;grid-template-columns:52px minmax(80px,1fr) auto;gap:12px;align-items:center;font-size:11px}.ai-cost-bar-row>span{color:var(--muted)}.ai-cost-bar-row>strong{font-size:11px}.ai-cost-bar-track{height:7px;background:var(--paper);overflow:hidden}.ai-cost-bar-fill{display:block;height:100%;background:var(--coral)}.ai-cost-empty{margin:0!important;padding:24px 19px!important;color:var(--muted);border-bottom:1px solid var(--line)}.ai-cost-table-wrap{max-width:100%;overflow-x:auto}.ai-cost-table{width:100%;border-collapse:collapse;font-size:11px}.ai-cost-table th,.ai-cost-table td{padding:11px 19px;border-bottom:1px solid var(--line);text-align:left}.ai-cost-table th{color:var(--muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.ai-cost-table th:last-child,.ai-cost-table td:last-child{text-align:right}.ai-cost-provider-body{display:grid;gap:17px;padding:19px}.ai-cost-provider-body>p{display:grid;gap:5px;margin:0}.ai-cost-provider-body>p span{color:var(--muted);font-size:9px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.ai-cost-provider-body>p strong{font-size:12px}.ai-cost-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-cost-status-row>span:first-child{font-weight:700}.ai-cost-error{padding:10px!important;border-left:3px solid var(--danger);background:var(--paper);color:var(--danger)}.ai-cost-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ai-cost-actions>.panel{min-width:0}.ai-cost-actions .form-grid{grid-template-columns:1fr}.ai-cost-actions .form-grid>div,.ai-cost-actions .form-grid>.button{grid-column:1}
.portfolio-panel-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;border-bottom:1px solid var(--line)}.portfolio-panel-header h2{margin:0 0 3px;font:600 14px Arial,sans-serif}.portfolio-panel-header p{margin:0;color:var(--muted);font-size:10px}.projects-table td:first-child{min-width:180px}.projects-table td:nth-child(2){min-width:130px}.project-client{display:block;font-size:11px}.projects-table td small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.currency-chip{font-weight:750;letter-spacing:.05em}.project-detail-heading>.status{position:absolute;right:0;bottom:3px}.project-facts .metric-card strong{font-size:18px}.project-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-brief p{min-height:90px;margin:0;padding:19px!important;font-size:12px;line-height:1.65}.stage-list{margin:0;padding:0;list-style:none}.stage-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 19px;border-bottom:1px solid var(--line)}.stage-item:last-child{border-bottom:0}.stage-number{color:var(--coral);font-size:10px;font-weight:750;letter-spacing:.08em}.stage-item>div{display:grid;gap:4px}.stage-item strong{font-size:12px}.stage-item small{color:var(--muted);font-size:9px}.status-planning,.status-planned{background:#e8eef7;color:#49658c}.status-delivery,.status-active{background:#fff2dc;color:var(--warning)}.status-completed{background:#e6f2ec;color:var(--success)}.status-paused,.status-cancelled{background:#f8e4e1;color:var(--danger)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.finance-period{display:flex;align-items:end;gap:12px;padding:15px 18px;overflow:visible}.finance-period>div{display:grid;gap:6px}.finance-period label{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.finance-period input{min-height:38px;padding:8px 10px;border:1px solid #d8d9dd;border-radius:3px;background:#fff;color:var(--ink);font-size:11px}.finance-summary{align-items:stretch}.finance-projects-table td:first-child{min-width:180px}.finance-projects-table td:first-child small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.finance-projects-table th:nth-child(n+3):nth-child(-n+5),.finance-projects-table td:nth-child(n+3):nth-child(-n+5){text-align:right;white-space:nowrap}.finance-result{font-size:11px}.finance-result.is-negative{color:var(--danger)}
.settings-nav{position:sticky;top:0;z-index:5;display:flex;gap:5px;margin:0 0 20px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.settings-nav a{padding:9px 12px;border-radius:3px;color:#585d66;font-size:11px;font-weight:650;text-decoration:none;white-space:nowrap}.settings-nav a:hover{background:var(--paper);color:var(--coral-dark)}.settings-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-section{scroll-margin-top:20px;overflow:visible}.settings-section-header{padding:20px;border-bottom:1px solid var(--line)}.settings-section-header h2{margin:5px 0 4px;font:600 18px Arial,sans-serif;letter-spacing:-.025em}.settings-section-header p:last-child{margin:0;color:var(--muted);font-size:11px}.settings-section-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:0}.settings-current,.settings-form,.settings-form-stack{min-width:0;padding:20px}.settings-current{border-right:1px solid var(--line)}.settings-current h3,.settings-form h3{margin:0 0 16px;font-size:12px}.settings-record{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.settings-record strong{font-size:11px}.settings-record span{color:var(--muted);text-align:right}.settings-empty{margin:0;color:var(--muted);font-size:11px}.settings-form{background:#fbfbfa}.settings-form>div{display:flex;flex-direction:column;gap:6px;margin:0 0 13px}.settings-form label{color:#666;font-size:9px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.settings-form input,.settings-form select,.settings-form textarea{width:100%;min-height:39px;padding:9px 11px;border:1px solid #d8d9dd;border-radius:3px;background:#fff;color:var(--ink);font-size:12px}.settings-form .button{margin-top:3px}.settings-form-stack{display:grid;gap:14px;background:#fbfbfa}.settings-form-stack .settings-form{padding:0}.settings-sessions>h3{margin:0;padding:15px 20px;border-bottom:1px solid var(--line);font-size:12px}.settings-session{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;border-bottom:1px solid var(--line)}.settings-session:last-child{border-bottom:0}.settings-session>div{display:grid;gap:4px}.settings-session strong{font-size:11px}.settings-session span{color:var(--muted);font-size:10px}.settings-sessions>.settings-empty{padding:20px}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-brand{padding:40px 7vw;background:var(--graphite);border-top:3px solid var(--coral);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.auth-brand .topbar-brand{width:max-content}.auth-brand-content .eyebrow{margin-top:80px}.auth-brand h1{max-width:650px;margin:14px 0 22px;font:500 clamp(36px,4vw,58px)/1.08 Arial,sans-serif;letter-spacing:-.05em}.auth-brand p:last-child{max-width:470px;color:#a7acb3;font-size:14px;line-height:1.7}.auth-brand footer{color:#777e86;font-size:9px;letter-spacing:.12em}.auth-panel{position:relative;display:grid;place-items:center;padding:40px;background:#f4f5f8}.auth-card{width:min(360px,100%)}.auth-card h1,.auth-card h2{margin:8px 0;font:600 28px Arial,sans-serif;letter-spacing:-.04em}.auth-card>p:not(.eyebrow){margin:0 0 28px;color:var(--muted);font-size:13px}.auth-card form>p,.auth-card form>div{display:flex;flex-direction:column;gap:7px;margin:15px 0}.auth-card label{color:#666;font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.auth-card input,.auth-card select{width:100%;padding:12px;border:1px solid #d1d3d8;border-radius:3px;background:#fff}.auth-card form>.button{width:100%;padding:12px}.auth-link{display:block;margin:16px auto;text-align:center;color:var(--coral-dark);font-size:12px;font-weight:650}.errorlist{padding:10px 12px;border-left:3px solid var(--danger);background:#f8e4e1;color:var(--danger);font-size:11px;list-style:none}.qr-code{display:block;margin:18px auto;padding:10px;background:#fff;border:1px solid var(--line)}.auth-details{margin:14px 0;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:3px;font-size:11px}.auth-details code{display:block;margin-top:8px;overflow-wrap:anywhere;color:var(--muted)}.backup-codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:18px 0;padding:0;list-style:none}.backup-codes li{padding:8px;background:#fff;border:1px solid var(--line);text-align:center}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.page-heading>.button{position:static;margin-top:14px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-row{grid-template-columns:1fr;gap:6px}.form-grid{grid-template-columns:1fr}.form-grid>div,.form-grid>div:has(textarea),.form-grid>.button{grid-column:1}.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.ai-cost-layout,.ai-cost-actions{grid-template-columns:1fr}.ai-cost-bar-row{grid-template-columns:44px minmax(70px,1fr);gap:9px}.ai-cost-bar-row>strong{grid-column:2;text-align:right}.ai-cost-status-row{align-items:flex-start;flex-direction:column}.settings-metrics{grid-template-columns:1fr}.settings-section-grid{grid-template-columns:1fr}.settings-current{border-right:0;border-bottom:1px solid var(--line)}.settings-session{align-items:flex-start;flex-direction:column}.settings-session .button{width:100%}}
@media(max-width:760px){.finance-period{align-items:stretch;flex-direction:column}.finance-period .button{width:100%}.finance-period input{width:100%}.project-detail-heading>.status{position:static;margin-top:12px}.project-overview-grid{grid-template-columns:1fr}.portfolio-panel-header{align-items:flex-start;flex-direction:column}.work-table thead,.projects-table thead,.finance-projects-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.work-table,.work-table tbody,.work-table tr,.work-table td,.projects-table,.projects-table tbody,.projects-table tr,.projects-table td,.finance-projects-table,.finance-projects-table tbody,.finance-projects-table tr,.finance-projects-table td{display:block;width:100%}.work-table tr,.projects-table tr,.finance-projects-table tr{padding:12px 15px;border-bottom:1px solid var(--line)}.work-table tbody tr:last-child,.projects-table tbody tr:last-child,.finance-projects-table tbody tr:last-child{border-bottom:0}.work-table td,.projects-table td,.finance-projects-table td{display:grid;grid-template-columns:94px 1fr;align-items:center;min-height:34px;padding:4px 0;border:0}.work-table td::before,.projects-table td::before,.finance-projects-table td::before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.projects-table td:first-child,.projects-table td:nth-child(2),.finance-projects-table td:first-child{min-width:0}.finance-projects-table th:nth-child(n+3):nth-child(-n+5),.finance-projects-table td:nth-child(n+3):nth-child(-n+5){text-align:left}.stage-item{grid-template-columns:32px minmax(0,1fr)}.stage-item>.status{grid-column:2;width:max-content}}
@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.metric-card{min-height:96px}}
