@font-face{font-family:Junicode;src:url(/Junicode.woff) format("woff");font-weight:400;font-style:normal}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--border-color: #30363d;--border-primary: #30363d;--text-primary: #c9d1d9;--text-secondary: #8b949e;--accent-primary: #58a6ff;--accent-hover: #1f6feb;--success: #3fb950;--danger: #f85149;--color-canvas-default: var(--bg-secondary);--color-canvas-subtle: var(--bg-tertiary);--color-fg-default: var(--text-primary);--color-fg-muted: var(--text-secondary);--color-border-default: var(--border-color);--color-border-muted: #21262d;--color-accent: var(--accent-primary);--color-accent-emphasis: var(--accent-hover)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-tertiary: #eaeef2;--border-color: #d0d7de;--border-primary: #d0d7de;--text-primary: #1f2328;--text-secondary: #656d76;--accent-primary: #0969da;--accent-hover: #0550ae;--success: #1a7f37;--danger: #cf222e;--color-canvas-default: var(--bg-secondary);--color-canvas-subtle: var(--bg-tertiary);--color-fg-default: var(--text-primary);--color-fg-muted: var(--text-secondary);--color-border-default: var(--border-color);--color-border-muted: #eaeef2;--color-accent: var(--accent-primary);--color-accent-emphasis: var(--accent-hover)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5}#root{min-height:100vh}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:5px 12px}input:focus,select:focus{outline:2px solid var(--accent-primary);outline-offset:-1px}@media(max-width:768px){button,a,input,select{min-height:44px}input,select{font-size:16px}html{scroll-behavior:smooth}body{overflow-x:hidden}}@media(hover:none){button:active,a:active{opacity:.8}}.app{display:flex;flex-direction:column;min-height:100vh;width:100%}.app-body{display:flex;flex:1;position:relative}.main-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-width:0}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar-overlay{display:block;position:fixed;inset:0;background-color:#00000080;z-index:150}.app-body{width:100%}.main-content{width:100%;max-width:100%}}@media print{@page{size:A4;margin:15mm 20mm}body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app>header,.header,.sidebar{display:none!important}.app-body{display:block}.main-content{display:block;width:100%;margin:0;padding:0;overflow:visible}*{overflow:visible!important}}.header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.header .header-content{max-width:1280px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.header .header-left{display:flex;align-items:center;gap:16px;flex:1}.header .header-center{display:flex;align-items:center;justify-content:center;flex:1}.header .logo{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--text-primary);text-decoration:none;white-space:nowrap}.header .logo:hover{text-decoration:none}.header .logo-img{width:28px;height:28px;object-fit:contain;display:block}[data-theme=light] .header .logo-img{filter:invert(1)}.header .logo-text{font-family:Junicode,serif;color:var(--text-primary);line-height:1;margin-top:2px}.header .logo-icon{font-size:24px}.header .search-container{position:relative;flex:1;max-width:400px}.header .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.header .search-input{width:100%;padding:6px 12px 6px 36px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:14px}.header .search-input:focus{outline:2px solid var(--accent-primary);outline-offset:-1px}.header .header-right{display:flex;align-items:center;gap:24px;flex:1;justify-content:flex-end}.header .nav-links{display:flex;gap:16px}.header .nav-link{display:flex;align-items:center;gap:6px;color:var(--text-primary);font-size:14px;padding:6px 8px;border-radius:6px;transition:background-color .2s}.header .nav-link:hover{background-color:var(--bg-tertiary);text-decoration:none}@media print{.header{display:none!important}}.header svg{display:initial}.header .menu-toggle{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text-primary);padding:8px;margin-right:8px;border-radius:6px;cursor:pointer;transition:background-color .2s}.header .menu-toggle:hover{background-color:var(--bg-tertiary)}@media(max-width:768px){.header .menu-toggle{display:flex}.header .header-content{padding:12px 16px;position:relative;flex-wrap:nowrap;flex-direction:row}.header .header-left{gap:8px;flex:0 0 auto}.header .header-center{display:none}.header .header-right{flex:0 0 auto;gap:12px}.header .logo{position:absolute;left:50%;transform:translate(-50%)}.header .nav-links{display:none}}.header .mobile-search-toggle{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text-primary);padding:8px;border-radius:6px;cursor:pointer}.header .mobile-search-toggle:hover{background-color:var(--bg-tertiary)}.header .mobile-search-bar{display:none;align-items:center;gap:12px;padding:12px 16px;background-color:var(--bg-primary);border-top:1px solid var(--border-color)}.header .mobile-search-bar .search-input{flex:1;padding:10px 12px;font-size:16px}.header .close-search{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);padding:8px;border-radius:6px;cursor:pointer}.header .close-search:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}@media(max-width:768px){.header .mobile-search-toggle,.header .mobile-search-bar{display:flex}}.sidebar{width:240px;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);height:calc(100vh - 65px);position:sticky;top:65px;padding:16px}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-primary);border-radius:6px;font-size:14px;transition:background-color .2s}.sidebar-link svg{color:var(--icon-color, var(--text-secondary));flex-shrink:0}.sidebar-link:hover{background-color:var(--bg-tertiary);text-decoration:none}.sidebar-link.active{background-color:var(--bg-tertiary);font-weight:600}.sidebar-link.active svg{filter:brightness(1.1)}.sidebar-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.sidebar-section-title{display:block;padding:0 12px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}@media print{.sidebar{display:none!important}}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;height:100vh;width:280px;z-index:200;padding-top:70px;box-shadow:2px 0 10px #0003;animation:slideIn .25s ease-out}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-nav{max-height:calc(100vh - 86px);overflow-y:auto}.sidebar-link{padding:12px 16px}.sidebar-section{margin-top:16px;padding-top:12px}}.books-page{padding:24px;max-width:1400px;margin:0 auto}.header-actions{display:flex;gap:12px}.period-select{padding:8px 14px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);cursor:pointer}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.metric-card{display:flex;align-items:center;gap:16px;padding:20px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px}.metric-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px}.metric-icon.income{background-color:#d4edda;color:#155724}.metric-icon.expense{background-color:#f8d7da;color:#721c24}.metric-icon.profit{background-color:#cce5ff;color:#004085}.metric-icon.outstanding{background-color:#fff3cd;color:#856404}.metric-content{display:flex;flex-direction:column;gap:4px}.metric-label{font-size:12px;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.3px}.metric-value{font-size:22px;font-weight:600;color:var(--color-fg-default)}.metric-value.positive{color:#28a745}.metric-value.negative{color:#dc3545}.metric-value.warning{color:#e67e22}.tab{padding:12px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-fg-muted);font-size:14px;cursor:pointer;transition:all .2s}.overview-card{padding:24px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px}.overview-card h3{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--color-fg-default)}.pipeline-stats{display:flex;flex-direction:column;gap:16px}.pipeline-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--color-border-muted)}.pipeline-item:last-child{border-bottom:none;padding-bottom:0}.pipeline-label{color:var(--color-fg-muted);font-size:14px}.pipeline-value{font-size:18px;font-weight:600;color:var(--color-fg-default)}.pipeline-value.positive{color:#28a745}.pipeline-value.warning{color:#e67e22}.rates-grid{display:flex;flex-direction:column;gap:20px}.rate-item{display:flex;flex-direction:column;gap:8px}.rate-header{display:flex;justify-content:space-between;font-size:14px;color:var(--color-fg-default)}.rate-value{font-weight:600}.rate-bar{height:8px;background-color:var(--color-border-default);border-radius:4px;overflow:hidden}.rate-fill{height:100%;background-color:var(--color-accent);transition:width .3s}.rate-fill.success{background-color:#28a745}.pnl-statement{max-width:600px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px;padding:24px}.pnl-statement h3{margin:0 0 24px;font-size:18px;font-weight:600;color:var(--color-fg-default)}.pnl-section{margin-bottom:24px}.pnl-section.net-income{margin-bottom:0;padding-top:16px;border-top:2px solid var(--color-border-default)}.pnl-header{font-size:13px;font-weight:600;text-transform:uppercase;color:var(--color-fg-muted);margin-bottom:12px}.pnl-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:var(--color-fg-default)}.pnl-total{display:flex;justify-content:space-between;padding:12px 0;font-weight:600;color:var(--color-fg-default);border-top:1px solid var(--color-border-muted);margin-top:8px}.pnl-total.grand{font-size:18px}.amount.positive{color:#28a745}.amount.negative{color:#dc3545}.receivables-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.receivables-summary h3{margin:0;font-size:18px;font-weight:600;color:var(--color-fg-default)}.total-receivables{font-size:28px;font-weight:700;color:#e67e22}.receivables-list{display:flex;flex-direction:column;gap:12px}.receivable-card{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .2s}.receivable-card:hover{border-color:var(--color-accent)}.receivable-main{display:flex;gap:40px}.receivable-info{display:flex;flex-direction:column;gap:4px}.client-name{font-size:14px;color:var(--color-fg-muted)}.receivable-dates{display:flex;gap:8px;align-items:center;font-size:13px}.due-label{color:var(--color-fg-muted)}.due-date{color:var(--color-fg-default)}.due-date.overdue{color:#dc3545;font-weight:600}.receivable-amount{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.balance-label{font-size:12px;color:var(--color-fg-muted)}.balance-value{font-size:18px;font-weight:600;color:#e67e22}.projects-tab h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-fg-default)}.tab-subtitle{margin:0 0 20px;font-size:12px;color:var(--color-fg-muted);font-style:italic}.projects-table{background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:10px;overflow:hidden}.table-header{display:grid;grid-template-columns:2fr 1.5fr repeat(5,1fr);gap:16px;padding:14px 20px;background-color:var(--color-canvas-subtle);font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-fg-muted);border-bottom:1px solid var(--color-border-default)}.table-row{display:grid;grid-template-columns:2fr 1.5fr repeat(5,1fr);gap:16px;padding:16px 20px;border-bottom:1px solid var(--color-border-muted);text-decoration:none;color:var(--color-fg-default);font-size:14px;transition:background-color .2s}.table-row .project-name{font-weight:500;color:var(--color-fg-default)}.table-row .client-name{color:var(--color-fg-muted)}.table-row .positive{color:#28a745}.table-row .negative{color:#dc3545}.empty-state{padding:40px;text-align:center;color:var(--color-fg-muted)}.distributions-tab{display:flex;flex-direction:column;gap:24px}.distribution-section{background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px;padding:20px}.distribution-section h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:16px;font-weight:600}.section-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-size:11px;font-weight:700}.section-icon.rd{background-color:#e2d9f3;color:#6f42c1}.fund-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fund-item{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--color-canvas-subtle);border-radius:8px}.fund-item.highlight{background:linear-gradient(135deg,#6f42c1,#8b5cf6)}.fund-item.highlight .fund-label{color:#fffc}.fund-item.highlight .fund-value{color:#fff!important}.fund-label{font-size:12px;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.fund-value{font-size:22px;font-weight:600}.fund-value.positive{color:#28a745}.fund-value.negative{color:#dc3545}.distribution-summary{display:flex;gap:24px;margin-bottom:16px;padding:16px;background:var(--color-canvas-subtle);border-radius:8px}.distribution-summary .summary-item{display:flex;flex-direction:column;gap:4px}.distribution-summary .label{font-size:12px;color:var(--color-fg-muted);text-transform:uppercase}.distribution-summary .value{font-size:20px;font-weight:600}.distribution-summary .value.positive{color:#28a745}.distribution-summary .value.warning{color:#e67e22}.distributions-table{border:1px solid var(--color-border-default);border-radius:8px;overflow:hidden}.distributions-table .table-header,.distributions-table .table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1fr;padding:12px 16px;align-items:center}.distributions-table .table-header{background:var(--color-canvas-subtle);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-fg-muted)}.distributions-table .table-row{border-top:1px solid var(--color-border-default);font-size:14px}.distributions-table .table-row:hover{background:var(--color-canvas-subtle)}.distributions-table .member-name{font-weight:500}.distributions-table .total{font-weight:600}.distributions-table .positive{color:#28a745}.distributions-table .warning{color:#e67e22}.distribution-info{background:var(--color-canvas-subtle);border-radius:12px;padding:20px}.distribution-info h4{margin:0 0 12px;font-size:14px;font-weight:600}.distribution-info ul{margin:0 0 12px;padding-left:20px}.distribution-info li{margin-bottom:8px;font-size:14px;color:var(--color-fg-muted)}.distribution-info li strong{color:var(--color-fg-default)}.info-note{margin:0;font-size:13px;color:var(--color-fg-muted);font-style:italic}@media(max-width:1024px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}}@media(max-width:768px){.metrics-grid{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr;gap:8px}.books-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header h1{font-size:20px}.books-tabs{overflow-x:auto;margin:0 -16px;padding:0 16px}.books-tabs button{white-space:nowrap;flex-shrink:0}.overview-card,.section-card{padding:16px;margin-left:-16px;margin-right:-16px;border-radius:0;border-left:none;border-right:none}}.dashboard{flex:1;padding:32px;max-width:1400px;margin:0 auto;width:100%}.dashboard-header{margin-bottom:40px}.dashboard-header h1{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.dashboard-subtitle{font-size:16px;color:var(--text-secondary)}.dashboard-sections{display:flex;flex-direction:column;gap:40px}.home-section{display:flex;flex-direction:column;gap:20px}.section-header{display:flex;flex-direction:column;gap:4px}.section-header h2{font-size:20px;font-weight:600;color:var(--text-primary)}.section-description{font-size:14px;color:var(--text-secondary)}.home-apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.home-app-card{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;transition:all .2s ease;text-decoration:none}.home-app-card:hover{border-color:var(--accent-primary);background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.home-app-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;flex-shrink:0}.home-app-info{display:flex;flex-direction:column;gap:4px;min-width:0}.home-app-info h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.home-app-info p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}@media(max-width:768px){.dashboard{padding:20px}.dashboard-header h1{font-size:24px}.home-apps-grid{grid-template-columns:1fr}.home-app-card{padding:16px}}.invoice-detail{padding:24px;max-width:1000px;margin:0 auto}.actions{display:flex;gap:10px;align-items:center}.paid-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;background-color:#d4edda;color:#155724;border-radius:6px;font-size:13px;font-weight:500}.payment-progress{background-color:var(--color-canvas-subtle);padding:20px;border-radius:8px;margin-bottom:20px}.progress-header{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px;color:var(--color-fg-default)}.progress-text{font-weight:500}.progress-bar{height:8px;background-color:var(--color-border-default);border-radius:4px;overflow:hidden}.remaining-text{margin:10px 0 0;font-size:13px;color:var(--color-fg-muted)}.remaining-text strong{color:#e67e22}.payments-section{background-color:var(--color-canvas-subtle);padding:20px;border-radius:8px;margin-bottom:24px}.payments-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--color-fg-default)}.payments-list{display:flex;flex-direction:column;gap:10px}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--color-canvas-default);border-radius:6px;border-left:3px solid #28a745}.payment-info{display:flex;gap:16px;font-size:13px}.payment-date{color:var(--color-fg-default);font-weight:500}.payment-method{color:var(--color-fg-muted)}.payment-note{color:var(--color-fg-muted);font-style:italic}.payment-actions{display:flex;align-items:center;gap:12px}.payment-amount{font-weight:600;color:#28a745}.btn-icon-danger{background:transparent;border:none;color:var(--color-fg-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-icon-danger:hover{background:#f8514926;color:var(--color-danger, #f85149)}.invoice-document{background-color:#fff;color:#333;padding:50px;border-radius:8px;box-shadow:0 2px 20px #0003}section h3{font-size:14px;text-transform:uppercase;color:#2c3e50;border-bottom:2px solid #5D7992;padding-bottom:8px;margin-bottom:20px}.totals-box{width:300px;background-color:#f8f8f8;padding:20px;border-radius:6px}.total-row.paid{color:#28a745}.total-row.balance-due{font-weight:600;color:#e67e22;font-size:16px;padding-top:8px;border-top:1px dashed #e0e0e0;margin-top:8px}.payment-info-section{background-color:#f8f8f8;padding:20px;border-radius:6px;margin-bottom:30px}.bank-details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 30px}.bank-details p{margin:0;font-size:13px;color:#444}.bank-details strong{color:#666}.notes-section p{font-size:14px;color:#444;line-height:1.6}.modal-content{background-color:var(--color-canvas-default);padding:30px;border-radius:12px;width:100%;max-width:420px;box-shadow:0 10px 40px #0000004d}.modal-content h2{margin:0 0 8px;font-size:20px;color:var(--color-fg-default)}.modal-subtitle{margin:0 0 24px;font-size:14px;color:var(--color-fg-muted)}.btn-action.btn-danger{background-color:transparent;color:#dc3545;border:1px solid var(--color-border-default)}.btn-action.btn-danger:hover{background-color:#dc35451a;border-color:#dc3545}.status-options{display:flex;flex-direction:column;gap:8px;margin:20px 0}.status-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:8px;font-size:14px;color:var(--color-fg-default);cursor:pointer;transition:all .15s ease;text-transform:capitalize}.status-option:hover:not(:disabled){background-color:var(--color-canvas-default);border-color:var(--color-accent)}.status-option.current{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.status-option:disabled{cursor:not-allowed;opacity:.7}.status-dot{width:10px;height:10px;border-radius:50%}@media print{.no-print{display:none!important}.invoice-detail{padding:0;max-width:none;margin:0}.invoice-document{box-shadow:none;border-radius:0;padding:0;background:#fff}.doc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid #333;padding-bottom:15px;margin-bottom:25px}.header-left{flex:1}.header-left .logo{font-size:22px}.header-left h1{font-size:24px;margin-bottom:5px}.header-left h2{font-size:14px}.header-meta{text-align:right;flex-shrink:0;min-width:180px;font-size:12px;line-height:1.6}.header-meta p{white-space:nowrap}.status-badge{margin-top:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.info-grid{display:flex;justify-content:space-between;gap:40px;margin-bottom:30px}.info-block{flex:1}.info-block h3{font-size:11px;margin-bottom:8px}.info-block p{font-size:12px;margin:3px 0}.items-table{width:100%;font-size:12px}.items-table th,.items-table td{padding:8px 10px}.totals-row{font-size:12px}.totals-row.grand-total{font-size:14px}.terms-section,.bank-section{font-size:11px}.bank-details{display:flex;gap:30px}.status-badge,.items-table thead{-webkit-print-color-adjust:exact;print-color-adjust:exact}.items-section{page-break-inside:avoid}}.modal-header h2{margin:0;font-size:18px}.section-header h3{margin:0;font-size:14px;font-weight:600}.form-group textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);resize:vertical}.form-group textarea:focus{outline:none;border-color:var(--color-accent)}@media(max-width:768px){.doc-header{grid-template-columns:1fr;gap:20px}.header-meta{text-align:left}.info-grid,.bank-details{grid-template-columns:1fr}}@media(max-width:768px){.invoice-detail{padding:16px}.detail-controls{flex-direction:column;gap:12px;align-items:stretch}.actions{flex-wrap:wrap;justify-content:flex-start}.btn-action{flex:1;min-width:100px;justify-content:center}.invoice-document{padding:20px;margin:0 -16px;border-radius:0}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}}.invoices-page{padding:24px;max-width:1400px;margin:0 auto}.header-stats{display:flex;gap:20px}.stat{display:flex;flex-direction:column;align-items:flex-end;padding:12px 20px;background-color:var(--color-canvas-subtle);border-radius:8px}.stat-label{font-size:12px;color:var(--color-fg-muted);text-transform:uppercase}.stat-value{font-size:20px;font-weight:600;color:var(--color-fg-default)}.stat-value.warning{color:#e67e22}.invoices-table{background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:130px 1.5fr 1.2fr 100px 130px 110px 90px;gap:16px;padding:14px 20px;background-color:var(--color-canvas-subtle);font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-fg-muted);letter-spacing:.5px;border-bottom:1px solid var(--color-border-default)}.table-row{display:grid;grid-template-columns:130px 1.5fr 1.2fr 100px 130px 110px 90px;gap:16px;padding:14px 20px;border-bottom:1px solid var(--color-border-muted);text-decoration:none;color:inherit;transition:background-color .2s;align-items:center}.invoice-number{font-weight:600;color:var(--color-accent)}.due-date{color:var(--color-fg-muted);font-size:13px}.paid-info{display:flex;flex-direction:column;gap:4px}.paid-info span{font-size:13px;color:var(--color-fg-muted)}.mini-progress{height:4px;width:60px;background-color:var(--color-border-default);border-radius:2px;overflow:hidden}.mini-progress-fill{height:100%;background-color:#28a745;transition:width .3s}.invoice-total{font-weight:500;color:var(--color-fg-default)}.empty-state p{margin:0 0 16px;font-size:14px}.header-actions{display:flex;align-items:center;gap:20px}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-accent-emphasis);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal{background-color:var(--color-canvas-default);border-radius:12px;width:100%;max-width:650px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.form-group select{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);box-sizing:border-box}.form-group select:focus{outline:none;border-color:var(--color-accent)}.quote-preview{margin-top:20px;padding:16px;background-color:var(--color-canvas-subtle);border-radius:8px;border:1px solid var(--color-border-default)}.quote-preview h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--color-fg-default)}.quote-preview ul{margin:0;padding:0;list-style:none}.quote-preview li{font-size:13px;color:var(--color-fg-muted);padding:4px 0}.btn-secondary{padding:10px 16px;background-color:transparent;color:var(--color-fg-muted);border:1px solid var(--color-border-default);border-radius:6px;font-size:14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.no-quotes-message{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0;color:var(--color-fg-muted)}.no-quotes-message svg{margin-bottom:16px;opacity:.5}.no-quotes-message p{margin:0 0 8px;font-size:16px;color:var(--color-fg-default)}.no-quotes-message span{font-size:13px;margin-bottom:16px}.line-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.line-items-header h4{margin:0;font-size:14px;font-weight:600;color:var(--color-fg-default)}.btn-small{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:12px;background-color:var(--color-canvas-subtle);color:var(--color-fg-muted);border:1px solid var(--color-border-default);border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-small:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.line-items-list{display:flex;flex-direction:column;gap:8px}.line-item-row{display:grid;grid-template-columns:1fr 70px 100px 90px 30px;gap:8px;align-items:center}.item-description{min-width:0}.item-quantity,.item-price{text-align:right}.item-total{font-size:13px;font-weight:500;color:var(--color-fg-default);text-align:right}.btn-icon-remove{padding:6px;background:none;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.btn-icon-remove:hover{background-color:#dc35451a;color:#dc3545}.line-items-total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border-default);font-size:16px}.line-items-total strong{color:var(--color-fg-default)}.line-items-total span{font-weight:600;color:var(--color-accent)}.quote-reference{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--color-fg-muted)}.proportion-info{font-style:italic}.invoice-type-tabs{display:flex;gap:4px;padding:4px;background-color:var(--color-canvas-subtle);border-radius:8px;margin-bottom:20px}.tab-btn{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--color-fg-muted);font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s}.tab-btn:hover{color:var(--color-fg-default)}.tab-btn.active{background-color:var(--color-canvas-default);color:var(--color-fg-default);box-shadow:0 1px 3px #0000001a}@media(max-width:768px){.invoices-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.header-stats{flex-direction:row;flex-wrap:wrap;width:100%}.stat{flex:1;min-width:120px;align-items:center;padding:10px 12px}.filters-bar{flex-direction:column}.search-box{max-width:100%}.invoices-table{border-radius:0;margin:0 -16px;border-left:none;border-right:none}.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:8px;padding:16px;position:relative}.table-row:before{content:attr(data-status);position:absolute;top:16px;right:16px}.invoice-number{font-size:15px}.project-name{font-size:14px;white-space:normal}.client-name{font-size:13px}.amount{font-weight:600}.inv-status{width:fit-content}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal.large-modal{max-width:100%}.modal-body{padding:16px}.form-row{flex-direction:column;gap:0}.invoice-type-tabs{flex-direction:column}.line-items-row{grid-template-columns:1fr;gap:8px}}.ledger-page{padding:24px;max-width:1400px;margin:0 auto}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.summary-card{display:flex;align-items:center;gap:16px;padding:24px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px}.card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px}.summary-card.income .card-icon{background-color:#d4edda;color:#155724}.summary-card.expense .card-icon{background-color:#f8d7da;color:#721c24}.summary-card.balance .card-icon{background-color:#cce5ff;color:#004085}.summary-card.distribution .card-icon{background-color:#e2d9f3;color:#6f42c1}.card-content{display:flex;flex-direction:column;gap:4px}.card-label{font-size:13px;color:var(--color-fg-muted)}.card-value{font-size:24px;font-weight:600;color:var(--color-fg-default)}.card-value.positive{color:#28a745}.card-value.negative{color:#dc3545}.ledger-table{background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:100px 2fr 1.5fr 100px 60px 120px 40px;gap:16px;padding:14px 20px;background-color:var(--color-canvas-subtle);font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-fg-muted);letter-spacing:.5px;border-bottom:1px solid var(--color-border-default)}.table-row{display:grid;grid-template-columns:100px 2fr 1.5fr 100px 60px 120px 40px;gap:16px;padding:14px 20px;border-bottom:1px solid var(--color-border-muted);align-items:center;border-left:3px solid transparent}.table-row.income{border-left-color:#28a745}.table-row.expense{border-left-color:#dc3545}.entry-date{font-size:13px;color:var(--color-fg-muted)}.entry-description{color:var(--color-fg-default)}.entry-project a,.entry-source a{color:var(--color-accent);text-decoration:none}.entry-project a:hover,.entry-source a:hover{text-decoration:underline}.entry-amount{font-weight:600;font-size:15px;text-align:right}.entry-amount.rd_expense,.entry-amount.member_payout,.entry-amount.bringer_fee,.entry-amount.collective_distribution{color:#6f42c1}.entry-member{color:var(--color-fg-muted);font-size:12px;font-weight:500}.table-row.rd_expense,.table-row.member_payout,.table-row.bringer_fee,.table-row.collective_distribution{background-color:#6f42c10d}.original-currency{display:inline-block;margin-left:6px;font-size:11px;color:var(--color-fg-muted);font-weight:400;cursor:help}.actions-col{display:flex;justify-content:center}.btn-delete-entry{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:4px;opacity:.5;transition:all .15s ease}.table-row:hover .btn-delete-entry{opacity:1}.btn-delete-entry:hover{background-color:#dc35451a;color:#dc3545}.modal-content{background-color:var(--color-canvas-default);padding:30px;border-radius:12px;width:100%;max-width:480px;box-shadow:0 10px 40px #0000004d}.modal-content h2{margin:0 0 24px;font-size:20px;color:var(--color-fg-default)}.form-group input,.form-group select{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-accent)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel{padding:10px 16px;background-color:transparent;color:var(--color-fg-muted);border:1px solid var(--color-border-default);border-radius:6px;font-size:14px;cursor:pointer}.btn-cancel:hover{background-color:var(--color-canvas-subtle)}.receipt-upload{display:flex;align-items:center;gap:8px}.receipt-upload input[type=file]{display:none}.receipt-upload .btn-upload{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--color-canvas-subtle);border:1px dashed var(--color-border-default);border-radius:6px;font-size:14px;color:var(--color-fg-muted);cursor:pointer;transition:all .2s;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-upload .btn-upload:hover{background-color:var(--color-canvas-inset);border-color:var(--color-accent);color:var(--color-fg-default)}.receipt-upload .btn-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background-color:transparent;border:none;border-radius:4px;font-size:18px;color:var(--color-fg-muted);cursor:pointer}.receipt-upload .btn-clear:hover{background-color:var(--color-danger-subtle);color:var(--color-danger-fg)}.help-text{display:block;margin-top:4px;font-size:12px;color:var(--color-fg-muted)}.error-text{margin-top:8px;padding:8px 12px;background-color:var(--color-danger-subtle);border-radius:4px;font-size:13px;color:var(--color-danger-fg)}.entry-receipt{display:flex;align-items:center;justify-content:center}.entry-receipt a{display:flex;align-items:center;justify-content:center;padding:4px;color:var(--color-accent);border-radius:4px;transition:background-color .2s}.entry-receipt a:hover{background-color:var(--color-accent-subtle)}@media(max-width:768px){.summary-cards{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr;gap:8px}}.project-detail{padding:24px;max-width:1200px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-accent);text-decoration:none;font-size:14px;margin-bottom:16px}.detail-header{margin-bottom:24px}.header-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.header-info h1{margin:0 0 4px;font-size:28px;font-weight:600;color:var(--color-fg-default)}.header-info .subtitle{margin:0 0 12px;font-size:16px;color:var(--color-accent)}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.small{padding:2px 8px;font-size:11px}.btn-secondary{display:flex;align-items:center;gap:8px;padding:8px 14px;background-color:transparent;color:var(--color-fg-default);border:1px solid var(--color-border-default);border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background-color:var(--color-canvas-subtle)}.btn-secondary.btn-danger{color:#dc3545}.btn-secondary.btn-danger:hover{background-color:#dc35451a;border-color:#dc3545}.btn-danger{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.header-actions{display:flex;gap:10px}.delete-warning{font-size:15px;color:var(--color-fg-default);margin:0 0 12px}.delete-note{font-size:13px;color:var(--color-fg-muted);margin:0}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:background-color .2s}.header-meta{display:flex;gap:24px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:8px;color:var(--color-fg-muted);font-size:14px}.meta-item svg{color:var(--color-fg-muted)}.tabs-container{border-bottom:1px solid var(--color-border-default);margin-bottom:24px}.tabs{display:flex;gap:4px}.tab{display:flex;align-items:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-fg-muted);font-size:14px;cursor:pointer;transition:all .2s}.tab:hover{color:var(--color-fg-default);background-color:var(--color-canvas-subtle)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-count{padding:2px 8px;background-color:var(--color-canvas-subtle);border-radius:10px;font-size:12px;color:var(--color-fg-muted)}.tab.active .tab-count{background-color:var(--color-accent);color:#fff}.tab-content{min-height:400px}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tab-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-fg-default)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-fg-muted);text-align:center}.empty-state p{margin:0 0 8px;font-size:16px}.empty-state .hint{font-size:13px;color:var(--color-fg-muted)}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.overview-section{padding:20px;background-color:var(--color-canvas-subtle);border-radius:8px}.overview-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.overview-section p{margin:0;font-size:14px;line-height:1.6;color:var(--color-fg-default)}.client-info p{margin-bottom:4px}.client-info .client-name{font-weight:600;font-size:15px}.team-list{display:flex;flex-direction:column;gap:10px}.team-member{display:flex;align-items:center;gap:12px;padding:10px;background-color:var(--color-canvas-default);border-radius:6px}.team-member .member-name{flex:1;font-weight:500;color:var(--color-fg-default)}.team-member .member-role{color:var(--color-fg-muted);font-size:13px}.team-member .member-share{padding:2px 8px;background-color:var(--color-accent);color:#fff;border-radius:4px;font-size:12px;font-weight:500}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item .label{font-size:12px;color:var(--color-fg-muted)}.summary-item .value{font-size:18px;font-weight:600;color:var(--color-fg-default)}.summary-item .value.positive{color:#28a745}.summary-item .value.warning{color:#e67e22}.items-list{display:flex;flex-direction:column;gap:10px}.item-card{display:block;padding:16px;background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:8px;text-decoration:none;color:inherit;transition:border-color .2s}.item-card:hover{border-color:var(--color-accent)}.item-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.item-number{font-weight:600;color:var(--color-fg-default)}.item-meta{display:flex;justify-content:space-between;font-size:13px;color:var(--color-fg-muted)}.item-total{font-weight:500;color:var(--color-fg-default)}.progress-bar{height:4px;background-color:var(--color-border-default);border-radius:2px;margin-top:10px;overflow:hidden}.progress-fill{height:100%;background-color:#28a745;transition:width .3s}.addendum-content{display:flex;flex-direction:column;gap:24px}.signed-date{font-size:14px;color:var(--color-fg-muted)}.shares-section h4,.terms-section h4,.ip-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-fg-default)}.shares-table{background-color:var(--color-canvas-subtle);border-radius:8px;overflow:hidden}.shares-header{display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px;padding:12px 16px;background-color:var(--color-canvas-default);font-size:12px;font-weight:600;color:var(--color-fg-muted);text-transform:uppercase}.shares-row{display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px;padding:12px 16px;border-top:1px solid var(--color-border-muted);font-size:14px}.shares-row .member-name{font-weight:500;color:var(--color-fg-default)}.shares-row .member-role{color:var(--color-fg-muted)}.shares-row .member-share{font-weight:600;color:var(--color-accent)}.terms-section p,.ip-item p{margin:0;font-size:14px;line-height:1.6;color:var(--color-fg-default)}.ip-item{margin-bottom:12px}.ip-label{font-weight:500;color:var(--color-fg-muted);font-size:13px}.budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.budget-card{padding:20px;background-color:var(--color-canvas-subtle);border-radius:8px;display:flex;flex-direction:column;gap:8px}.budget-label{font-size:13px;color:var(--color-fg-muted)}.budget-value{font-size:24px;font-weight:600;color:var(--color-fg-default)}.budget-card.positive .budget-value{color:#28a745}.budget-card.warning .budget-value{color:#e67e22}.budget-card.negative .budget-value{color:#dc3545}.ledger-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--color-fg-default)}.no-transactions{color:var(--color-fg-muted);font-size:14px}.ledger-list{display:flex;flex-direction:column;gap:8px}.ledger-entry{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background-color:var(--color-canvas-subtle);border-radius:6px;border-left:3px solid}.ledger-entry.income{border-left-color:#28a745}.ledger-entry.expense{border-left-color:#dc3545}.entry-info{display:flex;flex-direction:column;gap:4px}.entry-date{font-size:12px;color:var(--color-fg-muted)}.entry-desc{font-size:14px;color:var(--color-fg-default)}.entry-amount{font-size:16px;font-weight:600}.entry-amount.income{color:#28a745}.entry-amount.expense{color:#dc3545}@media(max-width:768px){.overview-grid{grid-template-columns:1fr}.budget-grid{grid-template-columns:repeat(2,1fr)}.header-main{flex-direction:column;gap:16px}}.shares-tab{padding:20px 0}.shares-info h3{margin:0 0 8px;font-size:18px;color:var(--color-fg-default)}.shares-description{margin:0 0 24px;font-size:14px;color:var(--color-fg-muted)}.distribution-breakdown{background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:8px;padding:20px;margin-bottom:24px}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.breakdown-row:first-child{padding-top:0}.breakdown-label{font-size:14px;color:var(--color-fg-default)}.breakdown-label em{color:var(--color-fg-muted);font-style:italic;margin-left:8px}.breakdown-value{font-size:16px;font-weight:600;color:var(--color-fg-default)}.breakdown-divider{height:1px;background-color:var(--color-border-default);margin:10px 0}.member-payouts h4{margin:0 0 16px;font-size:16px;color:var(--color-fg-default)}.payouts-table{border:1px solid var(--color-border-default);border-radius:8px;overflow:hidden}.payout-header,.payout-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr 1fr;gap:12px;padding:12px 16px;font-size:13px}.payout-header{background-color:var(--color-canvas-subtle);font-weight:600;color:var(--color-fg-muted);border-bottom:1px solid var(--color-border-default)}.payout-row{border-bottom:1px solid var(--color-border-muted);color:var(--color-fg-muted)}.payout-row:last-child{border-bottom:none}.member-info{display:flex;flex-direction:column;gap:2px}.member-info strong{color:var(--color-fg-default);font-weight:500}.member-info em{font-size:12px;font-style:normal}.payout-row .positive{color:#28a745;font-weight:500}.payout-total{font-weight:600;color:var(--color-fg-default)}.no-shares-notice{margin-top:24px;padding:16px;background-color:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px}.no-shares-notice p{margin:0;font-size:14px;color:var(--color-fg-muted)}.modal{background-color:var(--color-canvas-default);border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.edit-project-modal{max-width:650px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-default);flex-shrink:0}.modal-body{padding:24px;overflow-y:auto;flex:1}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.form-section h4{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shares-editor{margin-top:16px}.shares-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.shares-header label{font-size:13px;font-weight:500;color:var(--color-fg-default)}.share-total{font-size:13px;font-weight:600;padding:4px 8px;border-radius:4px}.share-total.valid{background-color:#28a74526;color:#28a745}.share-total.invalid{background-color:#dc354526;color:#dc3545}.share-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}.share-row select{flex:2;padding:8px 10px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default)}.share-row input{width:70px;padding:8px 10px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);text-align:right}.percent-label{color:var(--color-fg-muted);font-size:14px}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--color-border-default);border-radius:6px;cursor:pointer;color:var(--color-fg-muted)}.btn-icon:hover{background-color:var(--color-canvas-subtle)}.btn-icon.danger:hover{background-color:#dc35451a;border-color:#dc3545;color:#dc3545}.btn-add-share{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px dashed var(--color-border-default);border-radius:6px;font-size:13px;color:var(--color-fg-muted);cursor:pointer;width:100%;justify-content:center}.btn-add-share:hover{border-color:var(--color-accent);color:var(--color-accent)}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border-default);background-color:var(--color-canvas-subtle);flex-shrink:0}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-accent-emphasis);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.category-option{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--color-canvas-subtle);border:2px solid var(--color-border-default);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s}.category-icon{font-size:18px;line-height:1}.category-option strong{display:block;font-size:13px;color:var(--color-fg-default);margin-bottom:2px}.category-option small{display:block;font-size:11px;color:var(--color-fg-muted);line-height:1.3}.role-input{flex:1;padding:6px 10px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-subtle);color:var(--color-fg-default);font-size:13px}.drive-folder-editor{margin-top:6px}.drive-folder-editor .current-folder{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:6px}.drive-folder-editor .current-folder a{display:flex;align-items:center;gap:4px;color:var(--color-accent);text-decoration:none;font-size:13px}.drive-folder-editor .current-folder a:hover{text-decoration:underline}.btn-small{padding:4px 10px;font-size:12px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-canvas-subtle);color:var(--color-fg-default);cursor:pointer}.btn-small:hover{background:var(--color-canvas-inset);border-color:var(--color-accent)}.folder-picker{margin-top:12px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-canvas-default);overflow:hidden}.folder-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:8px 12px;background:var(--color-canvas-subtle);border-bottom:1px solid var(--color-border-default);font-size:13px}.folder-breadcrumb span{display:flex;align-items:center;gap:4px}.folder-breadcrumb button{background:none;border:none;color:var(--color-accent);cursor:pointer;padding:2px 4px;border-radius:4px}.folder-breadcrumb button:hover{background:var(--color-canvas-inset)}.folder-loading{display:flex;align-items:center;gap:8px;padding:20px;color:var(--color-fg-muted);font-size:13px}.folder-list{max-height:200px;overflow-y:auto}.no-folders{padding:20px;text-align:center;color:var(--color-fg-muted);font-size:13px}.folder-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--color-border-muted)}.folder-item:last-child{border-bottom:none}.folder-item .folder-name{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--color-fg-default);cursor:pointer;padding:4px 8px;border-radius:4px;font-size:13px}.folder-item .folder-name:hover{background:var(--color-canvas-subtle);color:var(--color-accent)}.folder-item .select-btn{background:var(--color-accent);color:#fff;border:none}.folder-item .select-btn:hover{opacity:.9}.folder-picker-actions{padding:8px 12px;background:var(--color-canvas-subtle);border-top:1px solid var(--color-border-default);text-align:right}@media(max-width:768px){.project-detail{padding:16px}.detail-controls{flex-direction:column;gap:12px;align-items:stretch}.actions{flex-wrap:wrap;justify-content:flex-start}.btn-action{flex:1;min-width:100px;justify-content:center}.project-tabs{overflow-x:auto;margin:0 -16px;padding:0 16px;gap:0}.project-tabs button{white-space:nowrap;flex-shrink:0}.tab-content{padding:16px 0}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}}.projects-page{padding:24px;max-width:1400px;margin:0 auto}.page-header h1{margin:0;font-size:28px;font-weight:700;color:var(--color-fg-default)}.btn-primary{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-emphasis));color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.filters-bar{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:10px;flex:1;max-width:400px;padding:10px 16px;background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:10px;transition:border-color .2s,box-shadow .2s}.search-box:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px #6366f11a}.filter-group{display:flex;gap:8px}.filter-group select{padding:10px 16px;font-size:14px;border:1px solid var(--color-border-default);border-radius:10px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);cursor:pointer;outline:none;transition:border-color .2s}.filter-group select:focus{border-color:var(--color-accent)}.projects-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.project-card{display:flex;flex-direction:column;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:16px;text-decoration:none;color:inherit;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}.project-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:16px 0 0 16px}.project-card.category-contract:before{background:linear-gradient(180deg,#3b82f6,#1d4ed8)}.project-card.category-internal:before{background:linear-gradient(180deg,#8b5cf6,#6d28d9)}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f;border-color:transparent}.project-card-header{padding:20px 20px 16px;position:relative}.project-status-bar{position:absolute;top:0;left:0;right:0;height:4px}.project-card-header h3{margin:8px 0 4px;font-size:18px;font-weight:600;color:var(--color-fg-default);line-height:1.3}.project-card-header .project-subtitle{margin:0 0 8px;font-size:13px;color:var(--color-accent);font-weight:500}.project-card-header .project-description{margin:0;font-size:13px;color:var(--color-fg-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-badges{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 16px}.status-badge{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.category-badge{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--color-canvas-subtle);color:var(--color-fg-muted)}.category-badge.contract{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 8px #3b82f64d}.category-badge.internal{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;box-shadow:0 2px 8px #8b5cf64d}.project-card-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--color-canvas-subtle);border-top:1px solid var(--color-border-muted);margin-top:auto}.project-card-footer .client-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-fg-default);font-weight:500}.project-card-footer .client-info svg{color:var(--color-fg-muted)}.project-card-footer .project-meta-info{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--color-fg-muted)}.project-card-footer .currency-tag{padding:3px 8px;background:var(--color-canvas-default);border-radius:4px;font-weight:600;font-size:11px}.chevron{color:var(--color-fg-muted);transition:transform .2s}.project-card:hover .chevron{transform:translate(4px);color:var(--color-accent)}.project-main{display:none}.project-info{flex:1}.project-title{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--color-fg-default)}.project-subtitle{margin:0 0 8px;font-size:13px;color:var(--color-accent);font-weight:500}.project-footer{display:none}.project-description{margin:0;font-size:14px;color:var(--color-fg-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-meta{display:flex;align-items:center;gap:12px}.status-badge{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.chevron{color:var(--color-fg-muted)}.project-footer{display:flex;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-muted);font-size:13px;color:var(--color-fg-muted)}.client-name{font-weight:500;color:var(--color-fg-default)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--color-fg-muted);grid-column:1 / -1;background:var(--color-canvas-subtle);border-radius:16px;border:2px dashed var(--color-border-default)}.empty-state svg{margin-bottom:20px;opacity:.4;color:var(--color-accent)}.empty-state h3{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--color-fg-default)}@media(max-width:768px){.projects-page{padding:16px}.projects-list{grid-template-columns:1fr}.filters-bar{flex-direction:column}.search-box{max-width:100%}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.btn-primary{width:100%;justify-content:center}.project-card{padding:16px}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}}.modal{background-color:var(--color-canvas-default);border-radius:12px;width:100%;max-width:550px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.close-btn:hover{background-color:var(--color-canvas-subtle)}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--color-fg-default);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;font-size:14px;background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-fg-default)}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.client-field{flex:1.5}.client-select-row{display:flex;gap:8px}.client-select-row select{flex:1}.btn-new-client{display:flex;align-items:center;justify-content:center;padding:10px;background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-fg-muted);cursor:pointer;transition:all .15s ease}.btn-new-client:hover{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.category-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.category-badge.contract{background:#cce5ff;color:#004085}.category-badge.internal{background:#e2d9f3;color:#6f42c1}.category-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category-option{display:flex;align-items:flex-start;gap:10px;padding:14px;background:var(--color-canvas-subtle);border:2px solid var(--color-border-default);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s}.category-option:hover{border-color:var(--color-fg-muted)}.category-option.active.contract{border-color:#004085;background:#cce5ff15}.category-option.active.internal{border-color:#6f42c1;background:#e2d9f315}.category-icon{font-size:20px;line-height:1}.category-option strong{display:block;font-size:14px;color:var(--color-fg-default);margin-bottom:2px}.category-option small{display:block;font-size:12px;color:var(--color-fg-muted);line-height:1.3}.drive-folder-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-default)}.drive-folder-options{display:flex;gap:8px;margin-bottom:12px}.drive-option{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:6px;font-size:13px;color:var(--color-fg-muted);cursor:pointer;transition:all .2s}.drive-option:hover{border-color:var(--color-fg-muted);color:var(--color-fg-default)}.drive-option.active{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent)}.drive-folder-picker,.drive-folder-create{margin-top:8px}.folder-select{width:100%;padding:10px 12px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:6px;font-size:14px;color:var(--color-fg-default)}.folder-name-input{width:100%;padding:10px 12px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:6px;font-size:14px;color:var(--color-fg-default);margin-bottom:8px}.parent-folder-group{margin-top:8px}.parent-folder-group label{font-size:12px;color:var(--color-fg-muted)}.folder-create-hint{margin:8px 0 0;font-size:12px;color:var(--color-fg-muted);font-style:italic}.folder-preview-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;background:#4285f410;border:1px solid #4285f440;border-radius:4px;font-size:12px;color:#4285f4;text-decoration:none}.folder-preview-link:hover{background:#4285f420}.loading-folders,.no-folders{padding:12px;text-align:center;color:var(--color-fg-muted);font-size:13px}.drive-not-connected{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-default)}.drive-hint{margin:4px 0 0;font-size:12px;color:var(--color-fg-muted)}.quote-detail{padding:24px;max-width:1000px;margin:0 auto}.not-found{text-align:center;padding:60px 20px}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-accent);text-decoration:none;font-size:14px}.back-link:hover{text-decoration:underline}.detail-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.actions{display:flex;gap:10px}.btn-action{display:flex;align-items:center;gap:8px;padding:8px 14px;background-color:transparent;color:var(--color-fg-default);border:1px solid var(--color-border-default);border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.btn-action:hover{background-color:var(--color-canvas-subtle)}.btn-action.success{border-color:#28a745;color:#28a745}.btn-action.success:hover{background-color:#28a74510}.btn-action.danger{border-color:#dc3545;color:#dc3545}.btn-action.danger:hover{background-color:#dc354510}.btn-primary{display:flex;align-items:center;gap:8px;padding:8px 14px;background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s}.quote-document{background-color:#fff;color:#333;padding:50px;border-radius:8px;box-shadow:0 2px 20px #0003}.doc-header{display:grid;grid-template-columns:2fr 1fr;gap:40px;border-bottom:3px solid #2c3e50;padding-bottom:20px;margin-bottom:30px}.header-left .logo{font-size:24px;font-weight:700;color:#2c3e50;letter-spacing:2px}.header-left h1{margin:0 0 8px;font-size:28px;color:#2c3e50;text-transform:uppercase;letter-spacing:1.5px}.header-left h2{margin:0;font-size:16px;font-weight:400;color:#5d7992}.header-meta{text-align:right;font-size:13px;color:#666;line-height:2}.header-meta p{margin:0}.header-meta strong{color:#333}.status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;margin-top:10px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px}.info-block h3{font-size:12px;text-transform:uppercase;color:#999;border-bottom:1px solid #e0e0e0;margin-bottom:10px;padding-bottom:5px}.info-block p{margin:4px 0;font-size:14px;color:#333}.info-block .name{font-weight:600;font-size:15px}.no-client{color:#999;font-style:italic}section{margin-bottom:35px}section h3{font-size:14px;text-transform:uppercase;color:#2c3e50;border-bottom:2px solid #5D7992;padding-bottom:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px}.project-section p{font-size:14px;line-height:1.7;color:#444}.tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.tier-card{padding:24px;border:2px solid #e0e0e0;border-radius:8px;position:relative;transition:all .2s}.tier-card.selected{border-color:#5d7992;background-color:#f8f9fa}.tier-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.tier-header h4{margin:0;font-size:16px;color:#2c3e50}.tier-price{font-size:18px;font-weight:700;color:#5d7992}.tier-focus{font-size:13px;color:#666;margin-bottom:16px;font-style:italic}.tier-features{list-style:none;padding:0;margin:0}.tier-features li{font-size:13px;margin-bottom:8px;padding-left:16px;position:relative;color:#444}.tier-features li:before{content:"•";position:absolute;left:0;color:#5d7992}.tier-features li strong{color:#333}.selected-badge{position:absolute;top:-10px;right:16px;padding:4px 12px;background-color:#5d7992;color:#fff;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase}.items-table{width:100%;border-collapse:collapse;font-size:14px}.items-table th{text-align:left;padding:12px;background-color:#f4f4f4;border-bottom:2px solid #e0e0e0;font-size:12px;text-transform:uppercase;color:#666}.items-table th:last-child,.items-table td:last-child{text-align:right}.items-table td{padding:14px 12px;border-bottom:1px solid #f0f0f0;vertical-align:top}.item-desc{display:block;font-weight:500;color:#333}.item-details{display:block;font-size:12px;color:#666;margin-top:4px;line-height:1.5}.totals-section{display:flex;justify-content:flex-end;margin-bottom:30px}.totals-box{width:280px;background-color:#f8f8f8;padding:20px;border-radius:6px}.total-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:#666}.total-row.grand-total{border-top:2px solid #e0e0e0;margin-top:8px;padding-top:16px;font-size:18px;font-weight:700;color:#2c3e50}.terms-section ul{padding-left:20px;margin:0}.terms-section li{font-size:14px;color:#444;margin-bottom:8px}.ip-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.ip-grid h4{font-size:13px;color:#666;margin:0 0 8px}.ip-grid p{font-size:14px;color:#444;margin:0;line-height:1.6}.footer-terms{padding:20px;background-color:#f8f8f8;border-radius:6px;border-left:4px solid #5D7992}.footer-terms p{margin:0;font-size:13px;color:#666}@media print{.no-print{display:none!important}.quote-detail{padding:0;max-width:none;margin:0}.quote-document{box-shadow:none;border-radius:0;padding:0;background:#fff}.doc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:2px solid #333;padding-bottom:15px;margin-bottom:25px}.header-left{flex:1}.header-left .logo{font-size:22px}.header-left h1{font-size:24px;margin-bottom:5px}.header-left h2{font-size:14px}.header-meta{text-align:right;flex-shrink:0;min-width:180px;font-size:12px;line-height:1.6}.header-meta p{white-space:nowrap}.status-badge{margin-top:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.info-grid{display:flex;justify-content:space-between;gap:40px;margin-bottom:30px}.info-block{flex:1}.info-block h3{font-size:11px;margin-bottom:8px}.info-block p{font-size:12px;margin:3px 0}.items-table{width:100%;font-size:12px}.tiers-grid{display:flex;gap:20px}.tier-card{flex:1;-webkit-print-color-adjust:exact;print-color-adjust:exact}section{page-break-inside:avoid}}@media(max-width:768px){.doc-header{grid-template-columns:1fr;gap:20px}.header-meta{text-align:left}.info-grid,.tiers-grid,.ip-grid{grid-template-columns:1fr}}.modal{background-color:var(--color-canvas-default);border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-description{margin:0 0 20px;font-size:14px;color:var(--color-fg-muted)}.form-group{margin-bottom:16px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:80px}.invoice-preview{margin-top:20px;padding:16px;background-color:var(--color-canvas-subtle);border-radius:8px;border:1px solid var(--color-border-default)}.invoice-preview h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--color-fg-default)}.invoice-preview ul{margin:0;padding:0;list-style:none}.invoice-preview li{font-size:13px;color:var(--color-fg-muted);padding:4px 0}.btn-danger{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.btn-danger:hover{background-color:#c82333}.modal.small-modal{max-width:400px}.modal.large-modal{max-width:800px}.warning-text{color:#dc3545;font-size:13px;margin-top:8px}.spinning{animation:spin 1s linear infinite}.btn-action.success{background-color:var(--color-success-subtle);border-color:var(--color-success-emphasis);color:var(--color-success-fg)}.btn-action:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.quote-detail{padding:16px}.detail-controls{flex-direction:column;gap:12px;align-items:stretch}.actions{flex-wrap:wrap;justify-content:flex-start}.btn-action{flex:1;min-width:100px;justify-content:center}.quote-document{padding:20px;margin:0 -16px;border-radius:0}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}.line-item-row{grid-template-columns:1fr;gap:8px}.line-total{text-align:left;margin-top:4px}}.quotes-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-content{display:flex;align-items:center;gap:16px}.header-content svg{color:var(--color-accent)}.page-header h1{margin:0;font-size:24px;font-weight:600;color:var(--color-fg-default)}.header-subtitle{margin:4px 0 0;font-size:14px;color:var(--color-fg-muted)}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:var(--color-accent-emphasis)}.filters-bar{display:flex;gap:16px;margin-bottom:20px}.search-box{display:flex;align-items:center;gap:10px;flex:1;max-width:400px;padding:8px 14px;background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:6px}.search-box svg{color:var(--color-fg-muted)}.search-box input{flex:1;border:none;background:transparent;font-size:14px;color:var(--color-fg-default);outline:none}.search-box input::placeholder{color:var(--color-fg-muted)}.filter-group select{padding:8px 14px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);cursor:pointer;outline:none}.quotes-table{background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:140px 2fr 1.5fr 100px 120px 100px;gap:16px;padding:14px 20px;background-color:var(--color-canvas-subtle);font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-fg-muted);letter-spacing:.5px;border-bottom:1px solid var(--color-border-default)}.table-row{display:grid;grid-template-columns:140px 2fr 1.5fr 100px 120px 100px;gap:16px;padding:14px 20px;border-bottom:1px solid var(--color-border-muted);text-decoration:none;color:inherit;transition:background-color .2s;align-items:center}.table-row:last-child{border-bottom:none}.table-row:hover{background-color:var(--color-canvas-subtle)}.quote-number{font-weight:600;color:var(--color-accent)}.project-name{color:var(--color-fg-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-name{color:var(--color-fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-date{color:var(--color-fg-muted);font-size:13px}.quote-total{font-weight:500;color:var(--color-fg-default)}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;text-transform:capitalize}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--color-fg-muted)}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state h3{margin:0 0 8px;font-size:18px;color:var(--color-fg-default)}.empty-state p{margin:0;font-size:14px}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-canvas-default);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-content.large-modal{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-default)}.modal-header h2{margin:0;font-size:18px;color:var(--color-fg-default)}.close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--color-fg-muted);cursor:pointer}.close-btn:hover{background-color:var(--color-canvas-subtle);color:var(--color-fg-default)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border-default);background-color:var(--color-canvas-subtle)}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-group{flex:1;min-width:0}.form-group.full-width{flex:1 0 100%}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--color-fg-default)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;border:1px solid var(--color-border-default);border-radius:6px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group textarea{resize:vertical}.btn-secondary{padding:10px 16px;background-color:transparent;color:var(--color-fg-muted);border:1px solid var(--color-border-default);border-radius:6px;font-size:14px;cursor:pointer}.btn-secondary:hover{background-color:var(--color-canvas-default)}.btn-secondary.small{padding:6px 10px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.line-items-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border-default)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;font-size:14px;font-weight:600;color:var(--color-fg-default)}.line-items-table{display:flex;flex-direction:column;gap:8px}.line-item-header{display:grid;grid-template-columns:1fr 70px 100px 90px 32px;gap:8px;padding:0 0 8px;font-size:12px;font-weight:500;color:var(--color-fg-muted);text-transform:uppercase;border-bottom:1px solid var(--color-border-muted)}.line-item-row{display:grid;grid-template-columns:1fr 70px 100px 90px 32px;gap:8px;align-items:center}.line-item-row input{padding:8px 10px;font-size:13px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-fg-default)}.line-item-row input:focus{outline:none;border-color:var(--color-accent)}.line-total{font-size:13px;font-weight:500;color:var(--color-fg-default);text-align:right}.remove-btn{padding:6px;background:none;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.remove-btn:hover:not(:disabled){background-color:#dc35451a;color:#dc3545}.remove-btn:disabled{opacity:.3;cursor:not-allowed}.subtotal-row{display:flex;justify-content:flex-end;gap:16px;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border-default);font-size:15px;font-weight:600;color:var(--color-fg-default)}.modal-content.xl-modal{max-width:900px;max-height:90vh}.modal-header .header-actions{display:flex;align-items:center;gap:12px}.quote-mode-tabs{display:flex;gap:4px;padding:12px 24px;background-color:var(--color-canvas-subtle);border-bottom:1px solid var(--color-border-default)}.mode-tab{padding:10px 20px;border:none;background:transparent;color:var(--color-fg-muted);font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s}.mode-tab:hover{color:var(--color-fg-default);background-color:var(--color-canvas-default)}.mode-tab.active{background-color:var(--color-canvas-default);color:var(--color-accent);box-shadow:0 1px 3px #0000001a}.advanced-form{display:flex;flex-direction:column;gap:24px}.form-section{padding:16px;background-color:var(--color-canvas-subtle);border-radius:8px;border:1px solid var(--color-border-default)}.form-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--color-fg-default);text-transform:uppercase;letter-spacing:.5px}.form-section .section-header{margin-bottom:16px}.form-section .section-header h3{margin:0}.tier-block{padding:16px;margin-bottom:12px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:6px}.tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tier-number{font-size:12px;font-weight:600;color:var(--color-accent);text-transform:uppercase}.small-input{max-width:150px}.features-section{margin-top:12px}.features-section>label{display:block;margin-bottom:8px;font-size:12px;font-weight:500;color:var(--color-fg-muted)}.feature-row{display:grid;grid-template-columns:150px 1fr;gap:8px;margin-bottom:8px}.feature-row input{padding:8px 10px;font-size:13px;background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-fg-default)}.feature-row input:focus{outline:none;border-color:var(--color-accent)}.btn-text{padding:4px 8px;background:none;border:none;color:var(--color-accent);font-size:12px;cursor:pointer}.btn-text:hover{text-decoration:underline}.methodology-row{margin-bottom:12px}.methodology-row input{width:100%;padding:8px 10px;margin-bottom:8px;font-size:13px;font-weight:500;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-fg-default)}.methodology-row textarea{width:100%;padding:8px 10px;font-size:13px;font-family:inherit;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-fg-default);resize:vertical}.methodology-row input:focus,.methodology-row textarea:focus{outline:none;border-color:var(--color-accent)}.roadmap-row{display:grid;grid-template-columns:100px 1fr 1fr;gap:8px;margin-bottom:8px}.roadmap-row input{padding:8px 10px;font-size:13px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-fg-default)}.roadmap-row input:focus{outline:none;border-color:var(--color-accent)}.deliverable-row{margin-bottom:8px}.deliverable-row input{width:100%;padding:8px 10px;font-size:13px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-fg-default)}.deliverable-row input:focus{outline:none;border-color:var(--color-accent)}.payment-schedule-row{margin-bottom:8px}.payment-schedule-row input{width:100%;padding:8px 10px;font-size:13px;background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-fg-default)}.payment-schedule-row input:focus{outline:none;border-color:var(--color-accent)}@media(max-width:768px){.quotes-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.filters-bar{flex-direction:column}.search-box{max-width:100%}.quotes-table{border-radius:0;margin:0 -16px;border-left:none;border-right:none}.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:8px;padding:16px}.quote-number{font-size:15px}.project-name{font-size:14px;white-space:normal}.client-name{font-size:13px}.quote-status{width:fit-content}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}.form-row{flex-direction:column;gap:0}.methodology-row,.roadmap-row,.deliverable-row,.payment-schedule-row{margin-bottom:12px}.roadmap-row{grid-template-columns:1fr}}.contacts-page{padding:24px;max-width:1000px;margin:0 auto;overflow-x:hidden;box-sizing:border-box}.contacts-page *{max-width:100%;box-sizing:border-box}.contacts-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.contacts-page .header-content{display:flex;align-items:center;gap:16px}.contacts-page .header-content svg{color:var(--color-accent)}.contacts-page .page-header h1{margin:0;font-size:24px;font-weight:600;color:var(--color-fg-default)}.contacts-page .header-subtitle{margin:4px 0 0;font-size:14px;color:var(--color-fg-muted)}.contacts-page .header-actions{display:flex;align-items:center;gap:12px}.view-toggle{display:flex;border:1px solid var(--color-border-default);border-radius:6px;overflow:hidden}.toggle-btn{padding:8px 14px;background:var(--color-canvas-subtle);border:none;font-size:13px;color:var(--color-fg-muted);cursor:pointer;transition:all .15s}.toggle-btn.active{background:var(--color-accent);color:#fff}.toggle-btn:not(:last-child){border-right:1px solid var(--color-border-default)}.contacts-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:10px;gap:4px}.stat-value{font-size:28px;font-weight:700;color:var(--color-fg-default)}.stat-label{font-size:12px;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.stat-card.worked .stat-value{color:#28a745}.stat-card.priority .stat-value{color:#e67e22}.stat-card.filtered .stat-value{color:var(--color-accent)}.contacts-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.contacts-filters .search-box{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:6px;flex:1;min-width:200px}.contacts-filters .search-box input{background:transparent;border:none;outline:none;color:var(--color-fg-default);width:100%;font-size:14px}.contacts-filters .search-box svg{color:var(--color-fg-muted);flex-shrink:0}.contacts-filters select{padding:8px 12px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-default);color:var(--color-fg-default);cursor:pointer}.contacts-table{background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px;overflow:hidden}.contacts-table .table-header{display:grid;grid-template-columns:2.5fr 1.2fr 1fr 1fr .7fr .7fr .6fr .7fr 60px;padding:12px 16px;background:var(--color-canvas-subtle);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-fg-muted)}.contacts-table .table-header span{cursor:pointer;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.contacts-table .table-row{display:grid;grid-template-columns:2.5fr 1.2fr 1fr 1fr .7fr .7fr .6fr .7fr 60px;padding:14px 16px;align-items:center;border-top:1px solid var(--color-border-default);cursor:pointer;transition:background .15s;font-size:14px}.contacts-table .table-row:hover{background:var(--color-canvas-subtle)}.contacts-table .table-row.expanded{background:var(--color-canvas-subtle);border-bottom:none}.institution-name{font-weight:500;color:var(--color-fg-default)}.col-location{display:flex;align-items:center;gap:4px;color:var(--color-fg-muted);font-size:13px}.col-contact{color:var(--color-fg-muted);font-size:13px}.field-tags{display:flex;flex-wrap:wrap;gap:4px}.field-tag{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.field-tag.digital-arts{background:#cce5ff;color:#004085}.field-tag.storytelling{background:#fff3cd;color:#856404}.field-tag.neurosciences{background:#e2d9f3;color:#6f42c1}.field-tag.ai{background:#d1ecf1;color:#0c5460}.field-tag.ecology{background:#d4edda;color:#155724}.field-tag.phenomenology{background:#f8d7da;color:#721c24}.size-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.size-badge.small{background:#e9ecef;color:#495057}.size-badge.medium{background:#fff3cd;color:#856404}.size-badge.large{background:#cce5ff;color:#004085}.priority-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600}.priority-badge.high{background:#f8d7da;color:#721c24}.priority-badge.mid{background:#fff3cd;color:#856404}.priority-badge.low{background:#e9ecef;color:#495057}.worked-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px}.worked-badge.yes{background:#d4edda;color:#155724}.worked-badge.no{background:var(--color-canvas-subtle);color:var(--color-fg-muted)}.client-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.client-badge.yes{background:#dbeafe;color:#1d4ed8}.btn-make-client{padding:4px 8px;font-size:11px;background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:4px;color:var(--color-fg-muted);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-make-client:hover{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.btn-remove-client{padding:4px 8px;font-size:11px;background:#10b98126;border:1px solid #10b981;border-radius:4px;color:#10b981;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-remove-client:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.contact-detail{padding:16px 24px 20px;background:var(--color-canvas-subtle);border-top:1px solid var(--color-border-default)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-section h4{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:600;text-transform:uppercase;color:var(--color-fg-muted);letter-spacing:.5px}.detail-role{margin:0 0 12px;font-size:14px;color:var(--color-fg-default);font-style:italic}.detail-item{margin-bottom:10px}.detail-label{font-size:11px;font-weight:600;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.3px}.detail-item p{margin:2px 0 0;font-size:14px;color:var(--color-fg-default)}.contact-link a{color:var(--color-accent);text-decoration:none;display:flex;align-items:center;gap:6px}.contact-link a:hover{text-decoration:underline}.contacts-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.contact-card{background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s}.contact-card:hover{border-color:var(--color-accent)}.card-header-row{display:flex;justify-content:space-between;align-items:flex-start}.contact-card h3{margin:0;font-size:16px;font-weight:600;color:var(--color-fg-default);line-height:1.3}.card-role{margin:0;font-size:13px;color:var(--color-fg-muted);font-style:italic;line-height:1.4}.card-meta{display:flex;gap:16px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--color-fg-muted)}.card-relevance{margin:0;font-size:13px;color:var(--color-fg-default);line-height:1.5;border-left:3px solid var(--color-accent);padding-left:10px}.card-footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px;border-top:1px solid var(--color-border-default)}.card-footer .worked-badge{width:auto;height:auto;border-radius:12px;padding:2px 10px;font-size:11px}.card-contact-info{font-size:13px}.card-contact-info a{color:var(--color-accent);text-decoration:none;display:flex;align-items:center;gap:6px}.card-contact-info a:hover{text-decoration:underline}.col-actions{display:flex;gap:4px;align-items:center}.card-actions{display:flex;gap:4px}.contacts-page .btn-edit-entry,.contacts-page .btn-delete-entry{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:4px;opacity:.4;transition:all .15s ease}.contacts-page .btn-edit-entry:hover{opacity:1;color:var(--color-accent)}.contacts-page .btn-delete-entry:hover{opacity:1;color:#dc3545}.contacts-page .empty-state{padding:60px 20px;text-align:center;color:var(--color-fg-muted)}.contacts-page .empty-state h3{margin:12px 0 4px}.contact-modal{max-width:680px;max-height:85vh;overflow-y:auto}.contact-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.contact-modal .modal-header h2{margin:0}.contact-modal .close-btn{background:none;border:none;color:var(--color-fg-muted);cursor:pointer;padding:4px}.contact-form .form-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border-default)}.contact-form .form-section:last-of-type{border-bottom:none}.contact-form .form-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-fg-default)}.contact-form .form-group{margin-bottom:12px}.contact-form .form-group label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--color-fg-muted)}.contact-form .form-group input,.contact-form .form-group select,.contact-form .form-group textarea{width:100%;padding:8px 12px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-subtle);color:var(--color-fg-default);box-sizing:border-box}.contact-form .form-group textarea{resize:vertical}.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.field-checkbox{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-border-default);border-radius:20px;font-size:13px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.field-checkbox input{display:none}.field-checkbox.checked{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.contact-form .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.contact-form .btn-cancel{padding:10px 16px;border:1px solid var(--color-border-default);border-radius:6px;background:transparent;color:var(--color-fg-default);cursor:pointer;font-size:14px}.contact-form .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.contact-form .btn-primary:hover{background-color:var(--color-accent-emphasis)}@media(max-width:1024px){.contacts-stats{grid-template-columns:repeat(2,1fr)}.contacts-table .table-header,.contacts-table .table-row{grid-template-columns:2fr 1fr 1fr 1fr .7fr .7fr 40px}.col-worked{display:none}}@media(max-width:768px){.contacts-page{padding:16px;width:100%;max-width:100vw}.contacts-filters{flex-direction:column}.contacts-filters .search-box{min-width:0;width:100%}.contacts-cards,.detail-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.contacts-stats{width:100%;grid-template-columns:1fr 1fr;gap:8px}.contacts-stats .stat-card{min-width:0;padding:12px}.contacts-table{margin:0 -16px;border-radius:0;border-left:none;border-right:none}.contacts-table .table-header{display:none}.contacts-table .table-row{display:block;padding:16px}.contacts-table .table-row .institution-name{font-size:16px;font-weight:600;margin-bottom:8px;display:block}.contacts-table .table-row .field-tags{margin-bottom:8px}.contacts-table .table-row .col-location,.contacts-table .table-row .col-contact{display:block;font-size:13px;color:var(--color-fg-muted);margin-bottom:4px}.contacts-table .table-row .size-badge,.contacts-table .table-row .priority-badge{margin-right:8px;margin-top:8px}.contacts-table .table-row .btn-make-client,.contacts-table .table-row .btn-remove-client{margin-top:12px;display:inline-block}.contacts-table .table-row .col-worked,.contacts-table .table-row .worked-badge{display:none}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}}.comms-page{padding:24px;max-width:1000px;margin:0 auto;overflow-x:hidden;box-sizing:border-box}.comms-page *{max-width:100%;box-sizing:border-box}.comms-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;color:var(--color-text-secondary, #8b949e)}.comms-page .loading-state .spin{animation:spin 1s linear infinite}.comms-page .error-banner{background:#f851491a;border:1px solid var(--color-danger, #f85149);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-danger, #f85149)}.comms-page .error-banner button{background:transparent;border:1px solid var(--color-danger, #f85149);color:var(--color-danger, #f85149);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.comms-page .error-banner button:hover{background:#f8514933}.comms-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.comms-page .header-content{display:flex;align-items:center;gap:14px}.comms-page .header-content svg{color:var(--color-accent, #58a6ff)}.comms-page h1{font-size:24px;font-weight:600;color:var(--color-fg-default, #c9d1d9);margin:0;line-height:1.2}.comms-page .header-subtitle{font-size:13px;color:var(--color-fg-muted, #8b949e);margin:2px 0 0}.contacts-link{color:var(--color-accent, #58a6ff);text-decoration:none;font-size:13px}.contacts-link:hover{text-decoration:underline}.comms-stats{display:flex;gap:12px;margin-bottom:20px}.comms-stats .stat-card{flex:1;background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:10px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:2px}.comms-stats .stat-card.accent{border-color:#d29922}.comms-stats .stat-value{font-size:26px;font-weight:700;color:var(--color-fg-default, #c9d1d9)}.comms-stats .stat-card.accent .stat-value{color:#d29922}.comms-stats .stat-label{font-size:12px;color:var(--color-fg-muted, #8b949e);text-transform:uppercase;letter-spacing:.5px}.comms-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.comms-toolbar .search-bar{display:flex;align-items:center;gap:8px;background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:6px;padding:6px 10px;flex:1;min-width:180px;max-width:280px}.comms-toolbar .search-bar svg{color:var(--color-fg-muted, #8b949e);flex-shrink:0}.comms-toolbar .search-bar input{background:transparent;border:none;outline:none;color:var(--color-fg-default, #c9d1d9);font-size:13px;width:100%}.comms-toolbar .filter-group{display:flex;align-items:center;gap:8px}.comms-toolbar .filter-group svg{color:var(--color-fg-muted, #8b949e)}.comms-toolbar select{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:6px;color:var(--color-fg-default, #c9d1d9);font-size:13px;padding:6px 10px;cursor:pointer}.comms-table-wrap{overflow-x:auto;border:1px solid var(--color-border-default, #30363d);border-radius:8px}.comms-table{width:100%;border-collapse:collapse;font-size:13px}.comms-table thead th{background:var(--color-canvas-subtle, #161b22);color:var(--color-fg-muted, #8b949e);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.3px;padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border-default, #30363d);white-space:nowrap}.comms-table tbody tr{border-bottom:1px solid var(--color-border-default, #30363d);transition:background .1s}.comms-table tbody tr:last-child{border-bottom:none}.comms-table tbody tr:hover{background:#58a6ff0a}.comms-table tbody tr.row-overdue{background:#f851490f}.comms-table td{padding:10px 12px;color:var(--color-fg-default, #c9d1d9);vertical-align:top}.td-contact{min-width:140px}.td-contact .contact-name{display:block;font-weight:500;color:var(--color-fg-default, #c9d1d9)}.td-contact .contact-org{display:block;font-size:12px;color:var(--color-fg-muted, #8b949e);margin-top:1px}.td-purpose{min-width:160px;max-width:240px;color:var(--color-fg-muted, #8b949e)}.status-select{background:transparent;border:1px solid var(--color-border-default, #30363d);border-radius:6px;font-size:12px;font-weight:500;padding:4px 8px;cursor:pointer}.status-select option{background:var(--color-canvas-subtle, #161b22);color:var(--color-fg-default, #c9d1d9)}.member-chip{font-size:12px;color:var(--color-fg-muted, #8b949e);white-space:nowrap}.td-date{white-space:nowrap;min-width:100px}.date-cell{display:flex;flex-direction:column;gap:1px}.date-abs{font-size:12px;color:var(--color-fg-muted, #8b949e)}.date-rel{font-size:11px;color:var(--color-fg-muted, #8b949e);opacity:.7}.overdue-text{color:#f85149!important;font-weight:600;opacity:1}.td-overdue .date-abs{color:#f85149}.td-note{max-width:200px;font-size:12px;color:var(--color-fg-muted, #8b949e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-actions{white-space:nowrap;text-align:right}.td-actions .btn-icon{background:transparent;border:none;color:var(--color-fg-muted, #8b949e);cursor:pointer;padding:4px;border-radius:4px}.td-actions .btn-icon:hover{color:var(--color-fg-default, #c9d1d9);background:var(--color-canvas-subtle, #161b22)}.td-actions .btn-icon.danger:hover{color:#f85149}.empty-row{text-align:center;color:var(--color-fg-muted, #8b949e);padding:40px 12px!important}.comms-page .btn-primary{display:flex;align-items:center;gap:6px;background:var(--color-accent, #58a6ff);color:#fff;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer}.comms-page .btn-primary:hover{filter:brightness(1.1)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.comm-modal{background:var(--color-canvas-default, #0d1117);border:1px solid var(--color-border-default, #30363d);border-radius:12px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto}.comm-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--color-border-default, #30363d)}.comm-modal .modal-header h2{font-size:16px;font-weight:600;color:var(--color-fg-default, #c9d1d9);margin:0}.comm-modal .modal-header .btn-icon{background:transparent;border:none;color:var(--color-fg-muted, #8b949e);cursor:pointer;padding:4px;border-radius:4px}.comm-modal .modal-header .btn-icon:hover{color:var(--color-fg-default, #c9d1d9)}.comm-modal .modal-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}.comm-modal .form-group{display:flex;flex-direction:column;gap:5px}.comm-modal label{font-size:12px;font-weight:500;color:var(--color-fg-muted, #8b949e);text-transform:uppercase;letter-spacing:.3px}.comm-modal .label-link{font-size:11px;color:var(--color-accent, #58a6ff);text-decoration:none;text-transform:none;letter-spacing:0;float:right}.comm-modal .label-link:hover{text-decoration:underline}.comm-modal input[type=text],.comm-modal input[type=date],.comm-modal textarea,.comm-modal select{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:6px;color:var(--color-fg-default, #c9d1d9);font-size:13px;padding:8px 10px}.comm-modal textarea{resize:vertical;font-family:inherit}.comm-modal .form-row{display:flex;gap:12px}.comm-modal .flex-1{flex:1}.contact-picker{position:relative}.contact-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:6px;margin-top:4px;z-index:10;max-height:180px;overflow-y:auto}.contact-option{padding:8px 10px;cursor:pointer;display:flex;gap:8px;align-items:baseline}.contact-option:hover{background:#58a6ff1a}.contact-option .co-name{font-size:13px;color:var(--color-fg-default, #c9d1d9)}.contact-option .co-org{font-size:12px;color:var(--color-fg-muted, #8b949e)}.comm-modal .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--color-border-default, #30363d)}.comm-modal .btn-secondary{background:transparent;border:1px solid var(--color-border-default, #30363d);border-radius:6px;color:var(--color-fg-muted, #8b949e);padding:8px 14px;font-size:13px;cursor:pointer}.comm-modal .btn-secondary:hover{color:var(--color-fg-default, #c9d1d9)}.comm-modal .btn-primary{background:var(--color-accent, #58a6ff);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer}.comm-modal .btn-primary:hover{filter:brightness(1.1)}@media(max-width:900px){.comms-toolbar{flex-direction:column;align-items:stretch}.comms-toolbar .search-bar{max-width:none;min-width:0}.comm-modal .form-row{flex-direction:column}}@media(max-width:768px){.comms-page{padding:16px;width:100%;max-width:100vw}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.comms-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.comms-stats .stat-card{min-width:0;padding:12px}.comms-list{margin:0 -16px;border-radius:0;border-left:none;border-right:none}.comm-row{padding:12px 16px;flex-direction:column;gap:8px;align-items:flex-start}.comm-modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}}.equipment-page{padding:24px;max-width:1400px;margin:0 auto}.equipment-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;color:var(--color-text-secondary, #8b949e)}.equipment-page .loading-state .spin{animation:spin 1s linear infinite}.equipment-page .error-banner{background:#f851491a;border:1px solid var(--color-danger, #f85149);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-danger, #f85149)}.equipment-page .error-banner button{background:transparent;border:1px solid var(--color-danger, #f85149);color:var(--color-danger, #f85149);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.equipment-page .error-banner button:hover{background:#f8514933}.equipment-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.equipment-page .header-content{display:flex;align-items:center;gap:12px}.equipment-page .header-content svg{color:var(--color-accent, #58a6ff)}.equipment-page h1{font-size:24px;font-weight:700;color:var(--color-fg-default, #c9d1d9);margin:0}.equipment-page .header-subtitle{font-size:13px;color:var(--color-fg-muted, #8b949e);margin:2px 0 0}.equipment-page .header-actions{display:flex;gap:8px;flex-shrink:0}.eq-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.eq-stats .stat-card{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:10px;padding:16px;text-align:center}.eq-stats .stat-card.accent{border-color:#f8514930;background:#f8514908}.eq-stats .stat-value{font-size:28px;font-weight:700;color:var(--color-fg-default, #c9d1d9);display:block}.eq-stats .stat-card.accent .stat-value{color:#f85149}.eq-stats .stat-label{font-size:12px;color:var(--color-fg-muted, #8b949e);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;display:block}.eq-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.equipment-page .search-bar{display:flex;align-items:center;gap:8px;background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:8px;padding:6px 12px;flex:1;min-width:200px}.equipment-page .search-bar svg{color:var(--color-fg-muted, #8b949e);flex-shrink:0}.equipment-page .search-bar input{background:transparent;border:none;outline:none;color:var(--color-fg-default, #c9d1d9);font-size:13px;width:100%}.equipment-page .filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.equipment-page .filter-group svg{color:var(--color-fg-muted, #8b949e)}.equipment-page .filter-group select,.sort-select{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);color:var(--color-fg-default, #c9d1d9);border-radius:6px;padding:6px 10px;font-size:13px;cursor:pointer}.toolbar-right{display:flex;align-items:center;gap:8px;margin-left:auto}.equipment-page .view-toggle{display:flex;border:1px solid var(--color-border-default, #30363d);border-radius:8px;overflow:hidden;flex-shrink:0}.equipment-page .view-toggle button{background:var(--color-canvas-subtle, #161b22);border:none;color:var(--color-fg-muted, #8b949e);padding:6px 14px;font-size:13px;cursor:pointer;transition:all .15s}.equipment-page .view-toggle button.active{background:var(--color-accent, #58a6ff);color:#fff}.equipment-page .view-toggle button:not(:last-child){border-right:1px solid var(--color-border-default, #30363d)}.eq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.eq-card{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:10px;padding:16px;transition:all .15s;display:flex;flex-direction:column;gap:8px}.eq-card:hover{border-color:var(--color-fg-muted, #484f58);box-shadow:0 2px 8px #0003}.eq-card.overdue{border-color:#f8514940}.eq-card-header{display:flex;justify-content:space-between;align-items:center}.eq-cat-icon{font-size:20px}.eq-availability{font-size:11px;font-weight:600;padding:2px 10px;border-radius:10px;border:1px solid;text-transform:uppercase;letter-spacing:.3px}.eq-card-name{font-size:15px;font-weight:600;color:var(--color-fg-default, #c9d1d9);margin:0;cursor:pointer;line-height:1.3}.eq-card-name:hover{color:var(--color-accent, #58a6ff)}.eq-card-desc{font-size:12px;color:var(--color-fg-muted, #8b949e);line-height:1.5;margin:0;opacity:.85}.eq-card-meta{display:flex;flex-direction:column;gap:4px}.eq-meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--color-fg-muted, #8b949e)}.condition-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.eq-checkout-info{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:6px;background:var(--color-canvas-default, #0d1117);font-size:12px;color:var(--color-fg-muted, #8b949e);flex-wrap:wrap}.eq-checkout-info svg{flex-shrink:0}.overdue-info{background:#f8514910;border:1px solid #f8514930;color:#f85149}.reserved-info{background:#a371f708;border:1px solid #a371f720}.return-date{margin-left:auto;font-size:11px;opacity:.8}.eq-card-actions{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;border-top:1px solid var(--color-border-default, #30363d)}.btn-checkout,.btn-return{display:flex;align-items:center;gap:5px;padding:5px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.btn-checkout{background:var(--color-accent, #58a6ff);color:#fff}.btn-checkout:hover{opacity:.9}.btn-checkout.sm,.btn-return.sm{padding:4px 10px;font-size:11px}.btn-return{background:#3fb95020;color:#3fb950;border:1px solid #3fb95030}.btn-return:hover{background:#3fb95030}.equipment-page .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-fg-muted, #8b949e);cursor:pointer;transition:all .15s}.equipment-page .btn-icon:hover{background:var(--color-canvas-default, #0d1117);color:var(--color-fg-default, #c9d1d9)}.equipment-page .btn-icon.sm{width:26px;height:26px}.equipment-page .btn-icon.danger:hover{color:#f85149;background:#f8514910}.eq-history{background:var(--color-canvas-default, #0d1117);border:1px solid var(--color-border-default, #30363d);border-radius:8px;padding:10px 12px;margin-top:4px}.history-title{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--color-fg-muted, #8b949e);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.history-empty{font-size:12px;color:var(--color-fg-muted, #8b949e);opacity:.6;margin:0}.history-entry{display:grid;grid-template-columns:60px 80px 80px 1fr;gap:8px;align-items:baseline;font-size:11px;padding:4px 0;border-bottom:1px solid var(--color-border-default, #30363d)}.history-entry:last-child{border-bottom:none}.h-action{font-weight:600}.h-checkout .h-action{color:#d29922}.h-return .h-action{color:#3fb950}.h-repair .h-action{color:#f85149}.h-member{color:var(--color-fg-default, #c9d1d9);font-weight:500}.h-date{color:var(--color-fg-muted, #8b949e)}.h-notes{color:var(--color-fg-muted, #8b949e);opacity:.7;font-style:italic}.eq-list{overflow-x:auto}.eq-list table{width:100%;border-collapse:collapse;font-size:13px}.eq-list th{text-align:left;padding:10px 12px;color:var(--color-fg-muted, #8b949e);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border-default, #30363d);white-space:nowrap}.eq-list td{padding:10px 12px;border-bottom:1px solid var(--color-border-default, #30363d);vertical-align:middle}.eq-list tr:hover td{background:var(--color-canvas-subtle, #161b22)}.overdue-row td{background:#f8514906!important}.cat-icon-cell{font-size:18px;width:40px;text-align:center}.eq-name-cell{min-width:200px}.eq-name-text{font-weight:600;color:var(--color-fg-default, #c9d1d9);cursor:pointer;display:block}.eq-name-text:hover{color:var(--color-accent, #58a6ff)}.eq-serial{font-size:11px;color:var(--color-fg-muted, #8b949e);display:block;opacity:.7}.eq-loc-cell{display:flex;align-items:center;gap:4px;color:var(--color-fg-muted, #8b949e);white-space:nowrap}.condition-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500}.availability-badge{font-weight:600;font-size:12px}.overdue-tag{display:inline-block;font-size:10px;background:#f8514920;color:#f85149;padding:1px 6px;border-radius:8px;margin-left:6px;font-weight:600}.eq-value-cell{white-space:nowrap;color:var(--color-fg-muted, #8b949e);font-size:12px}.eq-actions-cell{display:flex;gap:4px;white-space:nowrap;align-items:center}.eq-empty{text-align:center;color:var(--color-fg-muted, #8b949e);padding:48px 24px;grid-column:1 / -1;font-size:14px;opacity:.6}.equipment-page .member-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-accent, #58a6ff);color:#fff;font-size:11px;font-weight:700}.equipment-page .member-avatar.sm{width:22px;height:22px;font-size:10px}.equipment-page .modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.eq-modal,.checkout-modal{background:var(--color-canvas-default, #0d1117);border:1px solid var(--color-border-default, #30363d);border-radius:12px;width:100%;max-height:85vh;overflow-y:auto}.eq-modal{max-width:640px}.checkout-modal{max-width:440px}.equipment-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-default, #30363d)}.equipment-page .modal-header h2{font-size:18px;font-weight:700;color:var(--color-fg-default, #c9d1d9);margin:0}.equipment-page .modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.checkout-item-name{font-size:15px;font-weight:600;color:var(--color-fg-default, #c9d1d9);margin:0;padding-bottom:12px;border-bottom:1px solid var(--color-border-default, #30363d)}.equipment-page .form-row{display:flex;gap:12px}.equipment-page .form-group{display:flex;flex-direction:column;gap:6px}.equipment-page .form-group.flex-1{flex:1}.equipment-page .form-group.flex-2{flex:2}.equipment-page .form-group label{font-size:12px;font-weight:600;color:var(--color-fg-muted, #8b949e);text-transform:uppercase;letter-spacing:.3px}.equipment-page .form-group input[type=text],.equipment-page .form-group input[type=url],.equipment-page .form-group input[type=date],.equipment-page .form-group input[type=number],.equipment-page .form-group textarea,.equipment-page .form-group select{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:6px;padding:8px 12px;color:var(--color-fg-default, #c9d1d9);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.equipment-page .form-group input:focus,.equipment-page .form-group textarea:focus,.equipment-page .form-group select:focus{border-color:var(--color-accent, #58a6ff)}.equipment-page .member-selector{display:flex;flex-wrap:wrap;gap:6px}.equipment-page .member-btn{font-size:12px;padding:5px 12px;border-radius:14px;border:1px solid var(--color-border-default, #30363d);background:transparent;color:var(--color-fg-muted, #8b949e);cursor:pointer;transition:all .15s}.equipment-page .member-btn:hover{border-color:var(--color-fg-muted, #8b949e)}.equipment-page .member-btn.active{background:var(--color-accent, #58a6ff);color:#fff;border-color:var(--color-accent, #58a6ff)}.equipment-page .modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.equipment-page .btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;background:var(--color-accent, #58a6ff);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.equipment-page .btn-primary:hover{opacity:.9}.equipment-page .btn-primary:disabled{opacity:.4;cursor:not-allowed}.equipment-page .btn-secondary{padding:8px 16px;border:1px solid var(--color-border-default, #30363d);border-radius:8px;background:transparent;color:var(--color-fg-muted, #8b949e);font-size:13px;cursor:pointer;transition:all .15s}.equipment-page .btn-secondary:hover{color:var(--color-fg-default, #c9d1d9);border-color:var(--color-fg-muted, #8b949e)}@media(max-width:768px){.equipment-page{padding:16px}.eq-stats{grid-template-columns:repeat(2,1fr)}.eq-toolbar{flex-direction:column;align-items:stretch}.toolbar-right{margin-left:0}.equipment-page .filter-group{flex-wrap:wrap}.eq-grid{grid-template-columns:1fr}.equipment-page .form-row{flex-direction:column}.history-entry{grid-template-columns:1fr 1fr}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}.eq-card{margin:0}}.opportunities-page{padding:24px;max-width:1400px;margin:0 auto}.opportunities-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.opportunities-page .header-content{display:flex;align-items:center;gap:12px}.opportunities-page .header-content svg{color:var(--color-accent, #58a6ff)}.opportunities-page h1{font-size:24px;font-weight:700;color:var(--color-fg-default, #c9d1d9);margin:0}.header-subtitle{font-size:13px;color:var(--color-fg-muted, #8b949e);margin:2px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.urgent-badge{background:#da363440;color:#f85149;padding:1px 7px;border-radius:10px;font-size:12px;font-weight:600}.last-scan{opacity:.7;font-size:12px}.header-actions{display:flex;gap:8px;flex-shrink:0}.btn-scan{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--color-border-default, #30363d);border-radius:8px;background:var(--color-canvas-subtle, #161b22);color:var(--color-fg-muted, #8b949e);font-size:13px;cursor:pointer;transition:all .15s}.btn-scan:hover{color:var(--color-fg-default, #c9d1d9);border-color:var(--color-fg-muted, #8b949e)}.btn-scan.discovering{background:var(--color-accent-subtle, #1f2a3a);border-color:var(--color-accent, #58a6ff);color:var(--color-accent, #58a6ff);cursor:wait}.btn-scan .spin{animation:spin 1s linear infinite}.discovery-message{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px}.discovery-message.success{background:#1a4d2e;color:#3fb950;border:1px solid #238636}.discovery-message.error{background:#4d1a1a;color:#f85149;border:1px solid #da3633}.discovery-message .dismiss-btn{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;padding:2px;opacity:.7}.discovery-message .dismiss-btn:hover{opacity:1}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;background:var(--color-accent, #58a6ff);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.9}.opp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.opp-stats .stat-card{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:10px;padding:16px;text-align:center}.opp-stats .stat-card.accent{border-color:#f8514930;background:#f8514908}.stat-value{font-size:28px;font-weight:700;color:var(--color-fg-default, #c9d1d9);display:block}.stat-card.accent .stat-value{color:#f85149}.stat-label{font-size:12px;color:var(--color-fg-muted, #8b949e);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;display:block}.opp-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-bar{display:flex;align-items:center;gap:8px;background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:8px;padding:6px 12px;flex:1;min-width:200px}.search-bar svg{color:var(--color-fg-muted, #8b949e);flex-shrink:0}.search-bar input{background:transparent;border:none;outline:none;color:var(--color-fg-default, #c9d1d9);font-size:13px;width:100%}.filter-group{display:flex;align-items:center;gap:8px}.filter-group svg{color:var(--color-fg-muted, #8b949e)}.filter-group select{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);color:var(--color-fg-default, #c9d1d9);border-radius:6px;padding:6px 10px;font-size:13px;cursor:pointer}.view-toggle{display:flex;border:1px solid var(--color-border-default, #30363d);border-radius:8px;overflow:hidden;flex-shrink:0}.view-toggle button{background:var(--color-canvas-subtle, #161b22);border:none;color:var(--color-fg-muted, #8b949e);padding:6px 14px;font-size:13px;cursor:pointer;transition:all .15s}.view-toggle button.active{background:var(--color-accent, #58a6ff);color:#fff}.view-toggle button:not(:last-child){border-right:1px solid var(--color-border-default, #30363d)}.opp-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:16px;min-height:400px}.board-column{flex:1;min-width:250px;max-width:320px;display:flex;flex-direction:column}.board-column.drop-target{opacity:.95}.column-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:3px solid;background:var(--color-canvas-subtle, #161b22);border-radius:8px 8px 0 0;border-left:1px solid var(--color-border-default, #30363d);border-right:1px solid var(--color-border-default, #30363d)}.column-title{font-size:13px;font-weight:600;color:var(--color-fg-default, #c9d1d9);flex:1}.column-count{font-size:12px;color:var(--color-fg-muted, #8b949e);background:var(--color-canvas-default, #0d1117);padding:1px 8px;border-radius:10px}.column-cards{flex:1;display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--color-canvas-default, #0d1117);border:1px solid var(--color-border-default, #30363d);border-top:none;border-radius:0 0 8px 8px;min-height:100px}.column-empty{color:var(--color-fg-muted, #8b949e);font-size:13px;text-align:center;padding:24px 12px;opacity:.6}.opp-card{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:8px;padding:12px;cursor:grab;transition:all .15s}.opp-card:hover{border-color:var(--color-fg-muted, #484f58);box-shadow:0 2px 8px #0000004d}.opp-card:active{cursor:grabbing;opacity:.8}.card-top{display:flex;align-items:center;gap:6px;margin-bottom:8px}.card-top .relevance-score{margin-left:auto}.source-badge{color:#d29922;display:flex}.card-title{font-size:14px;font-weight:600;color:var(--color-fg-default, #c9d1d9);margin:0 0 3px;cursor:pointer;line-height:1.3}.card-title:hover{color:var(--color-accent, #58a6ff)}.card-org{font-size:12px;color:var(--color-fg-muted, #8b949e);display:block;margin-bottom:6px}.card-desc{font-size:12px;color:var(--color-fg-muted, #8b949e);line-height:1.5;margin:0 0 8px;opacity:.8}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.meta-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-fg-muted, #8b949e)}.card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.tag-chip{font-size:10px;padding:2px 7px;border-radius:10px;background:var(--color-canvas-default, #0d1117);color:var(--color-fg-muted, #8b949e);border:1px solid var(--color-border-default, #30363d)}.tag-chip.more{opacity:.7}.card-footer{display:flex;justify-content:space-between;align-items:center}.card-assignees{display:flex;gap:3px}.card-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.opp-card:hover .card-actions{opacity:1}.card-notes{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-default, #30363d);font-size:11px;color:#d2992280;display:flex;align-items:flex-start;gap:5px;line-height:1.4}.member-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-accent, #58a6ff);color:#fff;font-size:11px;font-weight:700}.member-avatar.sm{width:20px;height:20px;font-size:10px}.category-badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.cat-residency{background:#a371f720;color:#a371f7}.cat-festival{background:#f778ba20;color:#f778ba}.cat-grant{background:#3fb95020;color:#3fb950}.cat-commission{background:#58a6ff20;color:#58a6ff}.cat-exhibition{background:#d2992220;color:#d29922}.cat-workshop{background:#79c0ff20;color:#79c0ff}.cat-other{background:#8b949e20;color:#8b949e}.relevance-score{font-size:11px;font-weight:700;padding:2px 6px;border-radius:6px}.score-high{background:#3fb95018;color:#3fb950}.score-mid{background:#d2992218;color:#d29922}.score-low{background:#8b949e18;color:#8b949e}.deadline-urgent .meta-item,.deadline-urgent .deadline-rel{color:#f85149;font-weight:600}.deadline-soon .meta-item,.deadline-soon .deadline-rel{color:#d29922}.deadline-far .meta-item,.deadline-far .deadline-rel{color:var(--color-fg-muted, #8b949e)}.deadline-passed .meta-item,.deadline-passed .deadline-rel{color:#8b949e;opacity:.5;text-decoration:line-through}.opp-list{overflow-x:auto}.opp-list table{width:100%;border-collapse:collapse;font-size:13px}.opp-list th{text-align:left;padding:10px 12px;color:var(--color-fg-muted, #8b949e);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border-default, #30363d);white-space:nowrap}.opp-list td{padding:10px 12px;border-bottom:1px solid var(--color-border-default, #30363d);vertical-align:middle}.opp-list tr:hover td{background:var(--color-canvas-subtle, #161b22)}.opp-title-cell{min-width:220px}.opp-title-wrap{display:flex;flex-direction:column;gap:2px}.opp-title-text{font-weight:600;color:var(--color-fg-default, #c9d1d9)}.opp-org{font-size:11px;color:var(--color-fg-muted, #8b949e)}.opp-location{display:flex;align-items:center;gap:4px;color:var(--color-fg-muted, #8b949e);white-space:nowrap}.opp-deadline{white-space:nowrap}.deadline-date{font-size:12px;color:var(--color-fg-muted, #8b949e);display:block}.deadline-rel{font-size:11px;display:block}.status-select{background:transparent;border:1px solid var(--color-border-default, #30363d);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;cursor:pointer}.opp-assigned{display:flex;gap:3px}.opp-actions-cell{display:flex;gap:4px;white-space:nowrap}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-fg-muted, #8b949e);cursor:pointer;transition:all .15s;text-decoration:none}.btn-icon:hover{background:var(--color-canvas-subtle, #161b22);color:var(--color-fg-default, #c9d1d9)}.btn-icon.danger:hover{color:#f85149;background:#f8514910}.btn-icon.sm{width:22px;height:22px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.opp-modal{background:var(--color-canvas-default, #0d1117);border:1px solid var(--color-border-default, #30363d);border-radius:12px;width:100%;max-width:640px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-default, #30363d)}.modal-header h2{font-size:18px;font-weight:700;color:var(--color-fg-default, #c9d1d9);margin:0}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.flex-1{flex:1}.form-group.flex-2{flex:2}.form-group label{font-size:12px;font-weight:600;color:var(--color-fg-muted, #8b949e);text-transform:uppercase;letter-spacing:.3px}.form-group input[type=text],.form-group input[type=url],.form-group input[type=date],.form-group textarea,.form-group select{background:var(--color-canvas-subtle, #161b22);border:1px solid var(--color-border-default, #30363d);border-radius:6px;padding:8px 12px;color:var(--color-fg-default, #c9d1d9);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-accent, #58a6ff)}.form-group input[type=range]{accent-color:var(--color-accent, #58a6ff)}.tag-selector{display:flex;flex-wrap:wrap;gap:6px}.tag-pill{font-size:12px;padding:4px 10px;border-radius:14px;border:1px solid var(--color-border-default, #30363d);background:transparent;color:var(--color-fg-muted, #8b949e);cursor:pointer;transition:all .15s}.tag-pill:hover{border-color:var(--color-fg-muted, #8b949e)}.tag-pill.active{background:var(--color-accent, #58a6ff);color:#fff;border-color:var(--color-accent, #58a6ff)}.member-btn{font-size:12px;padding:5px 12px;border-radius:14px;border:1px solid var(--color-border-default, #30363d);background:transparent;color:var(--color-fg-muted, #8b949e);cursor:pointer;transition:all .15s}.member-btn:hover{border-color:var(--color-fg-muted, #8b949e)}.member-btn.active{background:var(--color-accent, #58a6ff);color:#fff;border-color:var(--color-accent, #58a6ff)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.btn-secondary{padding:8px 16px;border:1px solid var(--color-border-default, #30363d);border-radius:8px;background:transparent;color:var(--color-fg-muted, #8b949e);font-size:13px;cursor:pointer;transition:all .15s}.btn-secondary:hover{color:var(--color-fg-default, #c9d1d9);border-color:var(--color-fg-muted, #8b949e)}@media(max-width:1100px){.opp-board{flex-wrap:nowrap}.board-column{min-width:230px}}@media(max-width:768px){.opportunities-page{padding:16px}.opp-stats{grid-template-columns:repeat(2,1fr)}.opp-toolbar{flex-direction:column;align-items:stretch}.filter-group{flex-wrap:wrap}.form-row,.opp-board{flex-direction:column}.board-column{max-width:none}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}}.timeline-page{padding:24px;max-width:1500px;margin:0 auto;overflow-x:hidden}.timeline-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.timeline-page .header-content{display:flex;align-items:center;gap:16px}.timeline-page .header-content svg{color:var(--color-accent)}.timeline-page .page-header h1{margin:0;font-size:24px;font-weight:600;color:var(--color-fg-default)}.timeline-page .header-subtitle{margin:4px 0 0;font-size:14px;color:var(--color-fg-muted)}.timeline-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.timeline-stats .stat-card{display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:10px;gap:4px}.timeline-stats .stat-value{font-size:28px;font-weight:700;color:var(--color-fg-default)}.timeline-stats .stat-label{font-size:12px;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.timeline-stats .stat-card.completed .stat-value{color:#22c55e}.timeline-stats .stat-card.upcoming .stat-value{color:#3b82f6}.timeline-stats .stat-card.overdue .stat-value{color:#ef4444}.timeline-filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.timeline-filters select{padding:8px 12px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-default);color:var(--color-fg-default);cursor:pointer}.focused-project-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-left:4px solid;border-radius:8px;margin-bottom:16px;font-size:14px}.focused-project-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.focused-project-name{font-weight:600;color:var(--color-fg-default)}.focused-project-label{font-size:12px;color:var(--color-fg-muted);background:var(--color-border-default);padding:2px 8px;border-radius:10px}.btn-clear-focus{margin-left:auto;display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-default);color:var(--color-fg-default);font-size:13px;cursor:pointer;transition:all .15s}.btn-clear-focus:hover{background:var(--color-canvas-subtle);border-color:var(--color-fg-muted)}.gantt-container{background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px;overflow:hidden;margin-bottom:32px;max-width:100%}.gantt-header{display:flex;border-bottom:2px solid var(--color-border-default);background:var(--color-canvas-subtle)}.gantt-label-col{width:220px;min-width:220px;padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-fg-muted);border-right:1px solid var(--color-border-default)}.gantt-timeline-col{flex:1;position:relative;overflow:hidden}.month-headers{display:flex;height:100%}.month-header{display:flex;align-items:center;justify-content:center;padding:10px 4px;font-size:11px;font-weight:600;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.3px;border-right:1px solid var(--color-border-default)}.month-header:last-child{border-right:none}.gantt-lane{display:flex;border-bottom:1px solid var(--color-border-default);min-height:52px}.gantt-lane:last-child{border-bottom:none}.gantt-lane .gantt-label-col{display:flex;align-items:center;padding:8px 12px}.lane-label{display:flex;align-items:center;gap:10px;width:100%}.lane-color{width:4px;height:28px;border-radius:2px;flex-shrink:0}.lane-title-group{cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px;transition:background .15s;flex:1;min-width:0}.lane-title-group:hover{background:var(--color-border-default)}.lane-title{display:block;font-size:13px;font-weight:600;color:var(--color-fg-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.gantt-lane.focused{background:var(--color-canvas-subtle)}.lane-category{display:block;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.lane-category.contract{color:#3b82f6}.lane-category.internal{color:#8b5cf6}.btn-add-lane{margin-left:auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border-default);border-radius:4px;background:transparent;color:var(--color-fg-muted);cursor:pointer;opacity:0;transition:all .15s;flex-shrink:0}.gantt-lane:hover .btn-add-lane{opacity:1}.btn-add-lane:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.gantt-lane .gantt-timeline-col{display:flex;align-items:center;overflow:hidden}.lane-track{position:relative;width:100%;height:100%;min-height:44px;overflow:hidden}.month-gridline{position:absolute;top:0;bottom:0;border-right:1px solid var(--color-border-default);pointer-events:none}.month-gridline:nth-child(odd){background:transparent}.month-gridline:nth-child(2n){background:#80808008}.today-marker{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:5;pointer-events:none}.today-marker:before{content:"";position:absolute;top:-1px;left:-3px;width:8px;height:8px;border-radius:50%;background:#ef4444}.activity-span{position:absolute;top:50%;transform:translateY(-50%);height:6px;border-radius:3px;border:1px solid;z-index:2}.activity-dot{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10;cursor:pointer}.dot-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid;transition:transform .15s}.activity-dot:hover .dot-icon{transform:scale(1.3)}.activity-dot.completed .dot-icon{border-color:#22c55e!important}.activity-dot.overdue .dot-icon{animation:pulse-overdue 2s infinite}@keyframes pulse-overdue{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.gantt-range-slider{position:relative;height:16px;background:var(--color-canvas-subtle);border-top:1px solid var(--color-border-default);-webkit-user-select:none;user-select:none;cursor:default;flex-shrink:0}.gantt-range-thumb{position:absolute;top:3px;bottom:3px;background:var(--color-border-muted, #c8d0da);border-radius:3px;display:flex;align-items:stretch;cursor:grab;transition:background .1s}.gantt-range-thumb:hover{background:var(--color-fg-muted)}.gantt-range-thumb:active{cursor:grabbing;background:var(--color-fg-muted)}.gantt-range-handle{width:9px;flex-shrink:0;background:var(--color-fg-default);opacity:.5;cursor:ew-resize;border-radius:2px;transition:opacity .1s}.gantt-range-handle:hover,.gantt-range-handle:active{opacity:.9}.gantt-range-handle-left{border-radius:3px 1px 1px 3px}.gantt-range-handle-right{border-radius:1px 3px 3px 1px;margin-left:auto}.activity-list-section{margin-top:8px}.activity-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.activity-list-header h2{font-size:18px;font-weight:600;color:var(--color-fg-default);margin:0}.hide-completed-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-fg-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.hide-completed-toggle input{accent-color:var(--color-accent-emphasis);cursor:pointer}.hide-completed-toggle:hover{color:var(--color-fg-default)}.activity-list-section h2{font-size:18px;font-weight:600;color:var(--color-fg-default);margin:0 0 16px}.activity-list{display:flex;flex-direction:column;gap:8px}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:10px;transition:border-color .15s}.activity-item:hover{border-color:var(--color-fg-muted)}.activity-item.overdue{border-left:3px solid #ef4444}.activity-item.today{border-left:3px solid #3b82f6}.activity-item.completed{opacity:.6}.activity-check{background:none;border:none;cursor:pointer;padding:2px;flex-shrink:0;margin-top:1px}.check-pending{color:var(--color-fg-muted);transition:color .15s}.check-pending:hover,.check-done{color:#22c55e}.activity-type-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.activity-info{flex:1;min-width:0}.activity-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.activity-title{font-size:14px;font-weight:500;color:var(--color-fg-default)}.activity-title.done{text-decoration:line-through;color:var(--color-fg-muted)}.activity-type-badge{padding:1px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.activity-type-badge.milestone{background:#fef3c7;color:#92400e}.activity-type-badge.task{background:#dbeafe;color:#1e40af}.activity-type-badge.meeting{background:#e0e7ff;color:#3730a3}.activity-type-badge.delivery{background:#d1fae5;color:#065f46}.activity-type-badge.start{background:#cffafe;color:#155e75}.activity-type-badge.end{background:#fce7f3;color:#9d174d}.activity-description{margin:4px 0 0;font-size:13px;color:var(--color-fg-muted);line-height:1.4}.activity-meta{display:flex;gap:16px;margin-top:6px;font-size:12px}.activity-project{display:flex;align-items:center;gap:6px;font-weight:500}.project-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.activity-date{display:flex;align-items:center;gap:4px;color:var(--color-fg-muted)}.activity-date.overdue{color:#ef4444}.activity-date.today{color:#3b82f6;font-weight:600}.today-label{padding:1px 6px;background:#dbeafe;color:#1e40af;border-radius:8px;font-size:10px;font-weight:600}.overdue-label{padding:1px 6px;background:#fee2e2;color:#991b1b;border-radius:8px;font-size:10px;font-weight:600}.activity-meet-link{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;text-decoration:none;border-radius:12px;font-size:11px;font-weight:600;transition:all .15s;box-shadow:0 1px 3px #10b9814d}.activity-meet-link:hover{background:linear-gradient(135deg,#047857,#059669);transform:translateY(-1px);box-shadow:0 2px 6px #10b98166}.activity-meet-link svg:first-child{flex-shrink:0}.activity-meet-link svg:last-child{opacity:.7}.btn-edit-activity{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:4px;opacity:0;transition:all .15s;flex-shrink:0;margin-top:2px}.activity-item:hover .btn-edit-activity{opacity:.5}.btn-edit-activity:hover{opacity:1!important;color:#3b82f6}.btn-delete-activity{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:4px;opacity:0;transition:all .15s;flex-shrink:0;margin-top:2px}.activity-item:hover .btn-delete-activity{opacity:.5}.btn-delete-activity:hover{opacity:1!important;color:#ef4444}.activity-modal{max-width:560px}.activity-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.activity-modal .modal-header h2{margin:0}.activity-modal .close-btn{background:none;border:none;color:var(--color-fg-muted);cursor:pointer;padding:4px}.activity-form .form-group{margin-bottom:14px}.activity-form .form-group label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--color-fg-muted)}.activity-form .form-group input,.activity-form .form-group select,.activity-form .form-group textarea{width:100%;padding:8px 12px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-subtle);color:var(--color-fg-default);box-sizing:border-box}.activity-form .form-group textarea{resize:vertical}.activity-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-selector{display:flex;flex-wrap:wrap;gap:6px}.type-option{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--color-border-default);border-radius:20px;background:var(--color-canvas-subtle);color:var(--color-fg-muted);font-size:12px;cursor:pointer;transition:all .15s}.type-option:hover{border-color:var(--color-fg-muted)}.type-option.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.activity-form .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.activity-form .btn-cancel{padding:10px 16px;border:1px solid var(--color-border-default);border-radius:6px;background:transparent;color:var(--color-fg-default);cursor:pointer;font-size:14px}.activity-form .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.activity-form .btn-primary:hover{background-color:var(--color-accent-emphasis)}.activity-form .btn-primary:disabled{opacity:.7;cursor:not-allowed}.calendar-sync-note{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-fg-muted);margin-top:12px;justify-content:center}.calendar-sync-note svg{color:#3b82f6}.dot-assignees{display:flex;gap:1px;position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:2px;white-space:nowrap}.dot-avatar{width:14px;height:14px;border-radius:50%;background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--color-fg-default)}.dot-avatar.more{font-size:7px;background:var(--color-border-default)}.activity-assignees{display:flex;align-items:center;gap:6px;color:var(--color-fg-muted)}.assignee-avatars{display:flex;gap:4px;flex-wrap:wrap}.assignee-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:12px;background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);font-size:11px;font-weight:500;color:var(--color-fg-default)}.assignee-chip .member-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.member-selector{display:flex;flex-wrap:wrap;gap:6px}.member-option{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--color-border-default);border-radius:20px;background:var(--color-canvas-subtle);color:var(--color-fg-muted);font-size:12px;cursor:pointer;transition:all .15s}.member-option:hover{border-color:var(--color-fg-muted)}.member-option.active{color:var(--color-fg-default)}.member-option .member-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.timeline-page .empty-state{padding:60px 20px;text-align:center;color:var(--color-fg-muted)}.timeline-page .empty-state h3{margin:12px 0 4px}@media(max-width:1024px){.timeline-stats{grid-template-columns:repeat(2,1fr)}.gantt-label-col{width:160px;min-width:160px}.lane-title{max-width:80px}}@media(max-width:768px){.timeline-filters{flex-direction:column}.gantt-label-col{width:120px;min-width:120px}.activity-form .form-row{grid-template-columns:1fr}}.meeting-integration{margin-top:8px;padding:12px;background:var(--color-canvas-subtle);border-radius:8px;border:1px solid var(--color-border-default)}.btn-google-meet,.btn-connect-google{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;width:100%;justify-content:center}.btn-google-meet{background:#1a73e8;color:#fff}.btn-google-meet:hover:not(:disabled){background:#1557b0}.btn-google-meet:disabled{opacity:.7;cursor:not-allowed}.btn-connect-google{background:var(--color-canvas-default);color:var(--color-fg-default);border:1px solid var(--color-border-default)}.btn-connect-google:hover{background:var(--color-canvas-subtle);border-color:var(--color-border-muted)}.meet-link-display{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#e8f5e9;border-radius:6px;color:#2e7d32}.meet-link-display a{flex:1;color:#1a73e8;text-decoration:none;font-size:13px;word-break:break-all}.meet-link-display a:hover{text-decoration:underline}.google-status.loading{display:flex;align-items:center;gap:8px;color:var(--color-fg-muted);font-size:14px}.form-hint{display:block;margin-top:4px;font-size:12px;color:var(--color-fg-muted)}.timezone-select{width:100%}.timezone-select optgroup{font-weight:600;color:var(--color-fg-default)}.spin{animation:spin 1s linear infinite}.activity-todos{margin-top:10px;padding:8px 10px;background:var(--color-canvas-subtle);border-radius:6px;border:1px solid var(--color-border-default)}.activity-todos-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-fg-muted);margin-bottom:6px}.activity-todos-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.activity-todo-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-fg-default)}.activity-todo-item.done{color:var(--color-fg-muted)}.activity-todo-item.done .todo-title{text-decoration:line-through}.activity-todo-item .todo-check{color:var(--color-fg-muted);flex-shrink:0}.activity-todo-item .todo-check.done{color:#22c55e}.activity-todo-item .todo-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-todo-item .todo-priority{font-size:10px;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:500}.activity-todo-item .todo-priority.low{background:#dbeafe;color:#3b82f6}.activity-todo-item .todo-priority.medium{background:#fef3c7;color:#f59e0b}.activity-todo-item .todo-priority.high{background:#fee2e2;color:#ef4444}.activity-todo-item .todo-priority.urgent{background:#fecdd3;color:#dc2626}@media(max-width:768px){.timeline-page{padding:16px;max-width:100%;width:100%}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.timeline-stats{grid-template-columns:1fr 1fr;width:100%}.gantt-container{margin:0 -16px;border-radius:0;border-left:none;border-right:none;max-width:calc(100% + 32px);-webkit-overflow-scrolling:touch}.activity-list-section{margin:0 -16px}.activity-list-header,.activity-list{padding:0 16px}.activity-item{flex-wrap:wrap;padding:12px;gap:8px}.activity-type-icon{width:28px;height:28px}.activity-info{width:calc(100% - 80px);min-width:unset}.activity-title-row{flex-direction:column;align-items:flex-start;gap:4px}.activity-meta{flex-direction:column;gap:6px}.activity-project{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-assignees{order:3;width:100%;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-default);justify-content:flex-start}.btn-edit-activity,.btn-delete-activity{opacity:1}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}}.todos-page{padding:24px;max-width:1200px;margin:0 auto}.todos-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.todos-page .header-content{display:flex;align-items:center;gap:16px}.todos-page .header-content svg{color:var(--color-accent)}.todos-page .page-header h1{margin:0;font-size:24px;font-weight:600;color:var(--color-fg-default)}.todos-page .header-subtitle{margin:4px 0 0;font-size:14px;color:var(--color-fg-muted)}.todo-stats{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.todo-stats .stat-card{display:flex;flex-direction:column;align-items:center;padding:14px 20px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:10px;gap:2px;min-width:80px}.todo-stats .stat-value{font-size:24px;font-weight:700;color:var(--color-fg-default)}.todo-stats .stat-label{font-size:11px;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.todo-stats .stat-card.in-progress .stat-value{color:#3b82f6}.todo-stats .stat-card.done .stat-value{color:#22c55e}.todo-stats .stat-card.blocked .stat-value{color:#ef4444}.todo-stats .stat-card.overdue .stat-value{color:#dc2626}.todo-stats .stat-card.late .stat-value{color:#f97316}.todo-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.todo-filters select{padding:8px 12px;font-size:13px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-default);color:var(--color-fg-default);cursor:pointer}.todo-filters .sort-select{margin-left:auto}.todo-list{display:flex;flex-direction:column;gap:8px}.todo-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:10px;transition:border-color .15s,box-shadow .15s}.todo-item:hover{border-color:var(--color-fg-muted);box-shadow:0 1px 4px #0000000f}.todo-item.overdue{border-left:3px solid #ef4444}.todo-item.due-today{border-left:3px solid #3b82f6}.todo-item.done{opacity:.55}.todo-status-btn{background:none;border:none;cursor:pointer;padding:2px;flex-shrink:0;margin-top:2px;transition:transform .15s}.todo-status-btn:hover{transform:scale(1.15)}.todo-priority{flex-shrink:0;margin-top:4px}.todo-content{flex:1;min-width:0}.todo-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.todo-title{font-size:14px;font-weight:500;color:var(--color-fg-default)}.todo-title.done{text-decoration:line-through;color:var(--color-fg-muted)}.todo-status-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.late-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:4px;animation:pulse-late 2s ease-in-out infinite}@keyframes pulse-late{0%,to{opacity:1}50%{opacity:.7}}.todo-description{margin:4px 0 0;font-size:13px;color:var(--color-fg-muted);line-height:1.4}.todo-link{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;font-size:12px;color:#3b82f6;background:#3b82f61a;border-radius:4px;text-decoration:none;transition:background .15s}.todo-link:hover{background:#3b82f633;text-decoration:none}.todo-meta{display:flex;gap:14px;margin-top:8px;font-size:12px;flex-wrap:wrap;align-items:center}.todo-project{display:flex;align-items:center;gap:5px;font-weight:500}.todo-project .project-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.todo-activity-link{display:flex;align-items:center;gap:4px;color:var(--color-fg-muted);font-style:italic}.todo-due{display:flex;align-items:center;gap:4px;color:var(--color-fg-muted)}.todo-due.overdue{color:#ef4444;font-weight:600}.todo-due.today{color:#3b82f6;font-weight:600}.label-today{padding:1px 6px;background:#dbeafe;color:#1e40af;border-radius:8px;font-size:10px;font-weight:600}.label-overdue{padding:1px 6px;background:#fee2e2;color:#991b1b;border-radius:8px;font-size:10px;font-weight:600}.todo-assignees{display:flex;align-items:center;gap:5px;color:var(--color-fg-muted);flex-wrap:wrap}.todo-member-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:12px;background:var(--color-canvas-subtle);border:1px solid var(--color-border-default);font-size:11px;font-weight:500;color:var(--color-fg-default)}.todo-member-chip .member-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.todo-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.status-quick-select{padding:4px 8px;font-size:11px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-canvas-subtle);color:var(--color-fg-default);cursor:pointer;opacity:0;transition:opacity .15s}.todo-item:hover .status-quick-select{opacity:1}.btn-delete-todo{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:4px;opacity:0;transition:all .15s}.todo-item:hover .btn-delete-todo{opacity:.5}.btn-delete-todo:hover{opacity:1!important;color:#ef4444}.btn-edit-todo{display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;color:var(--color-fg-muted);cursor:pointer;border-radius:4px;opacity:0;transition:all .15s}.todo-item:hover .btn-edit-todo{opacity:.5}.btn-edit-todo:hover{opacity:1!important;color:#3b82f6}.btn-link-todo{display:flex;align-items:center;justify-content:center;padding:6px 10px;background:#3b82f626;border:none;color:#3b82f6;cursor:pointer;border-radius:4px;text-decoration:none;transition:all .15s}.btn-link-todo:hover{background:#3b82f640}.todo-modal{max-width:580px}.todo-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.todo-modal .modal-header h2{margin:0}.todo-modal .close-btn{background:none;border:none;color:var(--color-fg-muted);cursor:pointer;padding:4px}.todo-form .form-group{margin-bottom:14px}.todo-form .form-group label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--color-fg-muted)}.todo-form .form-group input,.todo-form .form-group select,.todo-form .form-group textarea{width:100%;padding:8px 12px;font-size:14px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-subtle);color:var(--color-fg-default);box-sizing:border-box}.todo-form .form-group textarea{resize:vertical}.todo-form .form-group select:disabled{opacity:.5;cursor:not-allowed}.todo-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.priority-selector{display:flex;flex-wrap:wrap;gap:6px}.priority-option{display:flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--color-border-default);border-radius:20px;background:var(--color-canvas-subtle);color:var(--color-fg-muted);font-size:12px;cursor:pointer;transition:all .15s}.priority-option:hover{border-color:var(--color-fg-muted)}.priority-option.active{font-weight:600}.todo-form .member-selector{display:flex;flex-wrap:wrap;gap:6px}.todo-form .member-option{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--color-border-default);border-radius:20px;background:var(--color-canvas-subtle);color:var(--color-fg-muted);font-size:12px;cursor:pointer;transition:all .15s}.todo-form .member-option:hover{border-color:var(--color-fg-muted)}.todo-form .member-option.active{color:var(--color-fg-default)}.todo-form .member-option .member-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff}.todo-form .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.todo-form .btn-cancel{padding:10px 16px;border:1px solid var(--color-border-default);border-radius:6px;background:transparent;color:var(--color-fg-default);cursor:pointer;font-size:14px}.todo-form .btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.todo-form .btn-primary:hover{background-color:var(--color-accent-emphasis)}.todos-page .empty-state{padding:60px 20px;text-align:center;color:var(--color-fg-muted)}.todos-page .empty-state h3{margin:12px 0 4px}@media(max-width:768px){.todo-filters{flex-direction:column}.todo-filters .sort-select{margin-left:0}.todo-form .form-row{grid-template-columns:1fr}.todo-actions{flex-direction:column}}.view-toggle{display:flex;gap:2px;margin-left:8px;background:var(--color-canvas-subtle);border-radius:6px;padding:2px}.view-toggle .view-btn{display:flex;align-items:center;justify-content:center;padding:6px 10px;background:transparent;border:none;border-radius:4px;color:var(--color-fg-muted);cursor:pointer;transition:all .15s}.view-toggle .view-btn:hover{color:var(--color-fg-default);background:var(--color-canvas-default)}.view-toggle .view-btn.active{color:var(--color-accent);background:var(--color-canvas-default);box-shadow:0 1px 2px #0000001a}.calendar-view{background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px;overflow:hidden}.calendar-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border-default);background:var(--color-canvas-subtle)}.calendar-month{margin:0;font-size:18px;font-weight:600;color:var(--color-fg-default);min-width:180px;text-align:center}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-fg-default);cursor:pointer;transition:all .15s}.calendar-nav-btn:hover{background:var(--color-canvas-subtle);border-color:var(--color-border-muted)}.btn-today{margin-left:auto;padding:6px 14px;background:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:6px;color:var(--color-fg-default);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn-today:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.calendar-grid{padding:8px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.weekday-header{padding:8px 4px;text-align:center;font-size:11px;font-weight:600;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{min-height:100px;background:var(--color-canvas-subtle);border-radius:8px;padding:8px;display:flex;flex-direction:column;transition:all .15s}.calendar-day:not(.empty):hover{background:var(--color-canvas-default);box-shadow:0 2px 8px #00000014}.calendar-day.empty{background:transparent}.calendar-day.today{background:var(--color-accent-subtle);border:2px solid var(--color-accent)}.calendar-day.has-overdue{background:#fef2f2}.calendar-day.today.has-overdue{background:var(--color-accent-subtle)}.day-number{font-size:13px;font-weight:600;color:var(--color-fg-muted);margin-bottom:6px}.calendar-day.today .day-number{color:var(--color-accent)}.day-todos{display:flex;flex-direction:column;gap:3px;flex:1;overflow:hidden}.calendar-todo{display:flex;align-items:center;gap:5px;padding:3px 6px;background:var(--color-canvas-default);border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s;overflow:hidden}.calendar-todo:hover{background:var(--color-canvas-inset)}.calendar-todo.done{opacity:.5;text-decoration:line-through}.calendar-todo.overdue{background:#fee2e2}.calendar-todo .todo-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.calendar-todo .todo-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-fg-default);flex:1}.calendar-todo-members{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:auto}.calendar-member-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.calendar-member-more{font-size:8px;color:var(--color-fg-muted);margin-left:1px}.more-todos{font-size:10px;color:var(--color-fg-muted);text-align:center;padding:2px}.no-date-todos{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--color-canvas-subtle);border-top:1px solid var(--color-border-default);font-size:13px}.no-date-label{color:var(--color-fg-muted)}.no-date-count{color:var(--color-fg-default);font-weight:500}@media(max-width:900px){.calendar-day{min-height:80px;padding:6px}.calendar-todo .todo-text{font-size:10px}}@media(max-width:600px){.calendar-day{min-height:60px;padding:4px}.day-number{font-size:11px}.calendar-todo{padding:2px 4px}.weekday-header{font-size:10px}}.grouped-priority-view{display:flex;flex-direction:column;gap:24px}.priority-section{background:var(--color-canvas-default);border-radius:12px;border:1px solid var(--color-border-default);overflow:hidden}.priority-section-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-left:4px solid;background:var(--color-canvas-subtle)}.priority-header-left{display:flex;align-items:center;gap:10px}.priority-section-header h3{margin:0;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.priority-count{background:var(--color-canvas-default);padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;color:var(--color-fg-muted)}.priority-done-count{font-size:12px;color:var(--color-fg-muted)}.priority-section-content{padding:12px;display:flex;flex-direction:column;gap:8px}.priority-empty{padding:20px;text-align:center;color:var(--color-fg-muted);font-size:13px;font-style:italic}.priority-section.urgent .priority-section-header{border-color:#ef4444;background:#ef444414}.priority-section.high .priority-section-header{border-color:#f97316;background:#f9731614}.priority-section.medium .priority-section-header{border-color:#f59e0b;background:#f59e0b14}.priority-section.low .priority-section-header{border-color:#6b7280;background:#6b728014}.grouped-todo-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-canvas-subtle);border-radius:8px;border:1px solid var(--color-border-default);transition:all .15s ease}.grouped-todo-item:hover{background:var(--color-canvas-default);border-color:var(--color-border-muted)}.grouped-todo-item.done{opacity:.6}.grouped-todo-item.overdue{border-left:3px solid #ef4444}.grouped-todo-item.due-today{border-left:3px solid #3b82f6}.grouped-todo-item .todo-status-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.grouped-todo-item .todo-status-btn:hover{background:var(--color-canvas-default)}.grouped-todo-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.grouped-todo-title-row{display:flex;align-items:center;gap:8px}.grouped-todo-title{font-size:14px;font-weight:500;color:var(--color-fg-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grouped-todo-title.done{text-decoration:line-through;color:var(--color-fg-muted)}.grouped-todo-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.todo-project-chip{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.todo-due-chip{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-fg-muted);padding:2px 8px;border-radius:10px;background:var(--color-canvas-default)}.todo-due-chip.overdue{background:#fee2e2;color:#dc2626}.todo-due-chip.today{background:#dbeafe;color:#2563eb}.todo-activity-chip{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-fg-muted);padding:2px 8px;border-radius:10px;background:var(--color-canvas-default)}.todo-assignee-avatars{display:flex;gap:-4px}.mini-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;border:2px solid var(--color-canvas-subtle);margin-left:-4px}.mini-avatar:first-child{margin-left:0}.mini-avatar.more{background:var(--color-fg-muted);font-size:9px}.grouped-todo-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.status-mini-select{font-size:11px;padding:4px 8px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-canvas-default);color:var(--color-fg-default);cursor:pointer}.btn-icon-sm{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--color-fg-muted);transition:all .15s ease}.btn-icon-sm:hover{background:var(--color-canvas-default);color:var(--color-fg-default)}.btn-icon-sm.danger:hover{background:#fee2e2;color:#dc2626}.btn-icon-sm.link{background:#3b82f626;color:#3b82f6;text-decoration:none}.btn-icon-sm.link:hover{background:#3b82f640}@media(max-width:768px){.grouped-todo-item{flex-wrap:wrap}.grouped-todo-content{order:1;width:calc(100% - 40px)}.grouped-todo-actions{order:2;width:100%;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-default)}.todos-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.modal-body{padding:16px;max-height:calc(100vh - 140px);overflow-y:auto}.gantt-label-col{width:100px;min-width:100px}}.clients-page{padding:24px;max-width:1000px;margin:0 auto;overflow-x:hidden;box-sizing:border-box}.clients-page *{max-width:100%;box-sizing:border-box}.clients-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;color:var(--color-text-secondary, #8b949e)}.clients-page .loading-state .spin{animation:spin 1s linear infinite}.clients-page .error-banner{background:#f851491a;border:1px solid var(--color-danger, #f85149);border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-danger, #f85149)}.clients-page .error-banner button{background:transparent;border:1px solid var(--color-danger, #f85149);color:var(--color-danger, #f85149);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px}.clients-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.clients-page .header-content{display:flex;align-items:center;gap:14px}.clients-page .header-content svg{color:var(--color-accent, #f97316)}.clients-page h1{margin:0;font-size:24px;font-weight:600}.clients-page .header-subtitle{margin:4px 0 0;color:var(--color-text-secondary, #8b949e);font-size:13px}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer;text-decoration:none;transition:all .15s}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-color-hover, var(--border-color))}.clients-stats{display:flex;gap:12px;margin-bottom:20px}.clients-stats .stat-card{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:4px}.clients-stats .stat-card.accent{border-color:var(--color-success, #3fb950);background:#3fb95014}.clients-stats .stat-value{font-size:24px;font-weight:700;color:var(--text-primary)}.clients-stats .stat-label{font-size:12px;color:var(--color-text-secondary, #8b949e);text-transform:uppercase;letter-spacing:.3px}.clients-toolbar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.clients-toolbar .search-box{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:8px 12px}.clients-toolbar .search-box input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:14px;outline:none}.clients-toolbar .search-box svg{color:var(--color-text-secondary, #8b949e)}.clients-toolbar select{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer}.clients-page .empty-state{text-align:center;padding:60px 20px;color:var(--color-text-secondary, #8b949e)}.clients-page .empty-state svg{opacity:.4;margin-bottom:16px}.clients-page .empty-state h3{margin:0 0 8px;color:var(--text-primary);font-size:18px}.clients-page .empty-state p{margin:0 0 20px;font-size:14px}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--color-accent, #3b82f6);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none}.clients-list{display:flex;flex-direction:column;gap:12px}.client-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;transition:border-color .2s}.client-card:hover{border-color:var(--border-color-hover, #484f58)}.client-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;gap:16px}.client-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.client-avatar{width:44px;height:44px;border-radius:10px;background:#f9731626;color:#f97316;display:flex;align-items:center;justify-content:center;flex-shrink:0}.client-info{flex:1;min-width:0}.client-name{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-contact{display:block;font-size:13px;color:var(--color-text-secondary, #8b949e);margin-top:2px}.client-location{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-secondary, #8b949e);margin-top:4px}.client-meta{display:flex;align-items:center;gap:16px}.status-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.active{background:#3fb95026;color:#3fb950}.status-badge.inactive{background:#8b949e26;color:#8b949e}.client-numbers{display:flex;align-items:center;gap:16px}.client-numbers span{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--color-text-secondary, #8b949e)}.client-numbers .revenue{color:var(--color-success, #3fb950);font-weight:500}.expand-btn{background:transparent;border:none;color:var(--color-text-secondary, #8b949e);cursor:pointer;padding:4px;display:flex;align-items:center}.client-details{padding:0 20px 20px;border-top:1px solid var(--border-color);background:var(--bg-canvas, #0d1117)}.detail-section{padding:16px 0;border-bottom:1px solid var(--border-color)}.detail-section:last-child{border-bottom:none;padding-bottom:0}.detail-section h4{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary, #8b949e)}.contact-details{display:flex;flex-wrap:wrap;gap:16px}.contact-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-accent, #58a6ff);text-decoration:none}.contact-item:hover{text-decoration:underline}.projects-list{display:flex;flex-direction:column;gap:8px}.project-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;text-decoration:none;transition:border-color .15s}.project-item:hover{border-color:var(--color-accent, #58a6ff)}.project-title{font-size:14px;color:var(--text-primary);font-weight:500}.project-status{font-size:11px;padding:3px 8px;border-radius:10px;font-weight:500;text-transform:capitalize}.project-status.status-active,.project-status.status-in-progress{background:#3fb95026;color:#3fb950}.project-status.status-completed{background:#58a6ff26;color:#58a6ff}.project-status.status-draft,.project-status.status-planning{background:#8b949e26;color:#8b949e}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-secondary);border-radius:6px}.summary-item .label{font-size:11px;color:var(--color-text-secondary, #8b949e);text-transform:uppercase}.summary-item .value{font-size:16px;font-weight:600;color:var(--text-primary)}.summary-item .value.positive{color:var(--color-success, #3fb950)}.client-notes{margin:0;font-size:14px;color:var(--color-text-secondary, #8b949e);line-height:1.5}.client-actions{display:flex;gap:12px;padding-top:12px;border-top:1px solid var(--border-color)}.client-actions .btn-remove-client{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--color-text-secondary, #8b949e);font-size:13px;cursor:pointer;transition:all .15s}.client-actions .btn-remove-client:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}@media(max-width:768px){.clients-page{padding:16px;width:100%;max-width:100vw}.clients-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.clients-stats .stat-card{min-width:0;padding:12px}.clients-toolbar{flex-direction:column}.clients-toolbar .search-box{min-width:0;width:100%}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.clients-list{margin:0 -16px;border-radius:0;border-left:none;border-right:none}.client-card{padding:0}.client-header{padding:16px;flex-direction:column;align-items:flex-start;gap:12px}.client-main{width:100%}.client-meta{width:100%;flex-wrap:wrap;gap:8px;justify-content:flex-start}.client-numbers{gap:12px;flex-wrap:wrap}.client-numbers span{font-size:12px}.client-location{display:block;white-space:normal;word-break:break-word}.client-details{padding:16px}.contact-details{flex-direction:column;gap:12px}.summary-grid{grid-template-columns:1fr}.client-actions{position:static;margin-top:12px;justify-content:flex-start;flex-wrap:wrap}.modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}}.settings-page{flex:1;padding:32px;max-width:800px;margin:0 auto;width:100%}.settings-header{margin-bottom:32px}.settings-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.settings-header p{font-size:14px;color:var(--text-secondary)}.settings-sections{display:flex;flex-direction:column;gap:32px}.settings-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:24px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--text-primary)}.section-title h2{font-size:18px;font-weight:600;margin:0}.section-description{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.setting-info h3{font-size:15px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.setting-info p{font-size:13px;color:var(--text-secondary)}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:20px;padding:4px;cursor:pointer;transition:all .3s ease}.toggle-track{display:flex;align-items:center;width:52px;height:24px;position:relative}.toggle-icon{position:absolute;color:var(--text-secondary);transition:all .3s ease}.toggle-icon.sun{left:6px}.toggle-icon.moon{right:6px}.theme-toggle.dark .toggle-icon.sun,.theme-toggle.light .toggle-icon.moon{opacity:.3}.toggle-thumb{position:absolute;width:20px;height:20px;background:var(--accent-primary);border-radius:50%;transition:all .3s ease;left:2px}.theme-toggle.light .toggle-thumb{left:30px}.member-colors-grid{display:flex;flex-direction:column;gap:16px}.member-color-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-tertiary);border-radius:8px}.member-info{display:flex;align-items:center;gap:12px}.member-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.member-name{font-size:15px;font-weight:500;color:var(--text-primary)}.color-picker-wrapper{display:flex;align-items:center;gap:12px}.color-input{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;padding:0;background:transparent}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border-radius:6px;border:2px solid var(--border-primary)}.preset-colors{display:flex;gap:6px}.preset-color{width:20px;height:20px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:all .2s}.preset-color:hover{transform:scale(1.1)}.preset-color.active{border-color:#fff;box-shadow:0 0 0 2px var(--accent-primary)}.save-section{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-primary)}.save-message{font-size:14px}.save-message.success{color:#10b981}.save-message.error{color:#ef4444}.save-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.save-button:hover:not(:disabled){background:var(--accent-hover)}.save-button:disabled{opacity:.6;cursor:not-allowed}.about-info{display:flex;flex-direction:column;gap:12px}.about-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.about-label{font-size:14px;color:var(--text-secondary)}.about-value{font-size:14px;color:var(--text-primary);font-weight:500}.about-value.api-url{font-family:monospace;font-size:12px;background:var(--bg-tertiary);padding:4px 8px;border-radius:4px}.loading{color:var(--text-secondary);font-size:14px;padding:20px 0}@media(max-width:768px){.settings-page{padding:16px}.member-color-item{flex-direction:column;gap:12px;align-items:flex-start}.preset-colors{flex-wrap:wrap}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header h1{font-size:20px}.settings-card{padding:16px}}.google-icon{width:20px;height:20px}.google-connected,.google-disconnected{display:flex;flex-direction:column;gap:16px}.connection-status{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-weight:500}.connection-status.connected{background:#10b9811a;color:#10b981}.connection-status.disconnected{background:#ef44441a;color:#ef4444}.google-features{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:var(--bg-tertiary);border-radius:8px}.feature-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.feature-item svg{color:#10b981;flex-shrink:0}.connect-hint{font-size:14px;color:var(--text-secondary);margin:0}.connect-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#4285f4;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;align-self:flex-start}.connect-button:hover{background:#3367d6}.connect-button:disabled{opacity:.7;cursor:not-allowed}.disconnect-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;color:#ef4444;border:1px solid #ef4444;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;align-self:flex-start}.disconnect-button:hover{background:#ef44441a}.disconnect-button:disabled{opacity:.7;cursor:not-allowed}.calendar-sync-section{margin:20px 0;padding:16px;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-primary)}.sync-header{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.sync-description{font-size:13px;color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.sync-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.sync-button:hover{background:#2563eb}.sync-button:disabled{opacity:.7;cursor:not-allowed}.sync-button .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-result{margin-top:12px;padding:10px 12px;border-radius:6px;font-size:13px}.sync-result.success{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.sync-result.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.current-user-info{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-tertiary);border-radius:10px;margin-bottom:20px}.user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{font-size:15px;font-weight:600;color:var(--text-primary)}.user-email{font-size:13px;color:var(--text-secondary)}.notification-toggles{display:flex;flex-direction:column;gap:4px}.notification-toggle{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:16px;padding:3px;cursor:pointer;transition:all .3s ease;width:48px;height:26px}.notification-toggle .toggle-track{display:flex;align-items:center;width:100%;height:100%;position:relative}.notification-toggle .toggle-thumb{position:absolute;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-secondary);transition:all .3s ease}.notification-toggle.active{background:#3b82f6;border-color:#3b82f6}.notification-toggle.active .toggle-thumb{left:calc(100% - 20px);background:#fff}.notification-warning{font-size:13px;color:#f59e0b;margin-top:16px;padding:12px;background:#f59e0b1a;border-radius:8px}.no-user-warning{padding:16px;background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);font-size:14px}.no-user-warning .hint{font-size:13px;color:var(--text-tertiary);margin-top:8px}.notification-groups{display:flex;flex-direction:column;gap:24px;margin-bottom:20px}.notification-group{padding:16px;background:var(--bg-tertiary);border-radius:10px}.notification-group-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.notification-group-desc{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.checkbox-group{display:flex;gap:20px;flex-wrap:wrap}.checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text-primary)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.checkbox-label{-webkit-user-select:none;user-select:none}.checkbox-standalone{margin-bottom:12px;padding:10px 12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-primary)}.member-selector{padding:20px;background:var(--bg-tertiary);border-radius:10px;text-align:center}.selector-prompt{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.selector-hint{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.member-dropdown-wrapper{position:relative;display:inline-block;width:100%;max-width:300px}.member-dropdown{width:100%;padding:12px 40px 12px 16px;font-size:14px;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.member-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.member-dropdown option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}.dropdown-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}
