*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0e1a;--bg-deep: #070b14;--bg-panel: #0d1320;--bg-card: #121a2b;--bg-hover: #1a2438;--border: rgba(99, 102, 241, .15);--border-hover: rgba(99, 102, 241, .35);--text: #e2e8f0;--text-muted: #64748b;--accent: #6366f1;--accent-glow: rgba(99, 102, 241, .4);--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--radius: 10px;--radius-lg: 14px;--font: "Outfit", system-ui, sans-serif;--mono: "JetBrains Mono", monospace}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg-deep);color:var(--text);overflow:hidden;-webkit-font-smoothing:antialiased}.app{height:100%;position:relative;overflow:hidden}.garden-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.garden-bg canvas{display:block;width:100%!important;height:100%!important}.project-color-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;--proj-bg-base: var(--bg-deep);--proj-bg-foot: #0a0e1a;background:radial-gradient(ellipse 85% 65% at 15% 8%,color-mix(in srgb,var(--project-accent) 38%,transparent),transparent 55%),radial-gradient(ellipse 75% 55% at 88% 92%,color-mix(in srgb,var(--project-accent) 22%,transparent),transparent 50%),linear-gradient(155deg,color-mix(in srgb,var(--project-accent) 14%,var(--proj-bg-base)) 0%,var(--proj-bg-base) 42%,color-mix(in srgb,var(--project-accent) 10%,var(--proj-bg-foot)) 100%);transition:background .6s ease}.project-color-bg--tint-a{--proj-bg-base: color-mix(in srgb, var(--bg-deep) 46%, transparent);--proj-bg-foot: color-mix(in srgb, #0a0e1a 46%, transparent)}.app--garden .garden-bg{filter:brightness(.7) saturate(.8) contrast(1.02)}.app-ui{position:relative;z-index:1;flex:1;min-width:0;height:100%;display:flex;flex-direction:column;pointer-events:none;transition:flex .28s ease}.app-shell{position:relative;z-index:1;display:flex;height:100%;overflow:hidden}.app-ui>*{pointer-events:auto}.app--celebrate .garden-bg,.app--celebrate .project-color-bg{animation:celebrate-flash 1s ease}@keyframes celebrate-flash{0%,to{filter:brightness(1)}25%{filter:brightness(1.5) saturate(1.3)}50%{filter:brightness(1.2)}}.app-main{flex:1 1 0;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.board-section{flex:1 1 0;min-height:0;min-width:0;position:relative;overflow:hidden}.board-section>*{position:absolute;top:0;right:16px;bottom:16px;left:16px;min-height:0;min-width:0}.board-section>.scheduling-section,.board-section>.team-section{top:0;right:0;bottom:0;left:0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;min-height:57px;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:#0a0e1a47;position:relative;z-index:250;overflow:visible}.header-left{display:flex;align-items:center;gap:24px;min-width:0;flex:1 1 auto;overflow:visible}.logo{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.logo-icon{color:var(--accent);font-size:1.1rem}.project-trigger-icon{font-size:1.15rem;line-height:1;flex-shrink:0}.project-trigger{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px 14px 6px 10px;cursor:pointer;font-family:var(--font);color:var(--text);transition:all .2s}.project-trigger:hover{background:#6366f126;border-color:#6366f166;box-shadow:0 0 20px #6366f133}.project-trigger-name{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-trigger-chevron{font-size:.75rem;color:var(--text-muted);margin-left:2px}.module-drawer-trigger{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;padding:0;cursor:pointer;transition:box-shadow .2s,transform .2s}.module-drawer-trigger:hover,.module-drawer-trigger.is-active{transform:scale(1.05);box-shadow:0 0 0 2px #6366f173}.module-drawer{flex:0 0 0;width:0;overflow:hidden;transition:flex-basis .28s ease,width .28s ease;border-right:1px solid transparent;background:var(--bg-card)}.module-drawer.is-open{flex:0 0 260px;width:260px;border-right-color:var(--border)}.module-drawer-inner{width:260px;height:100%;display:flex;flex-direction:column;pointer-events:auto}.module-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.module-drawer-title{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.module-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer}.module-drawer-close:hover{background:#ffffff0f;color:var(--text)}.module-drawer-nav{display:flex;flex-direction:column;gap:4px;padding:12px 10px;overflow-y:auto}.module-drawer-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:.9375rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease}.module-drawer-item:hover{background:#ffffff0f}.module-drawer-item.is-active{background:#6366f129;color:var(--accent)}.module-drawer-item-label{flex:1;min-width:0}.module-icon{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.module-icon svg{display:block}.module-icon--md{width:32px;height:32px}.module-icon--md svg{width:16px;height:16px}.module-icon--sm{width:24px;height:24px}.module-icon--sm svg{width:13px;height:13px}.module-icon--projects{background:linear-gradient(135deg,var(--accent),#818cf8)}.module-icon--finance{background:linear-gradient(135deg,#059669,#34d399)}.module-icon--sales{background:linear-gradient(135deg,#d97706,#fbbf24)}.module-icon--portfolio{background:linear-gradient(135deg,#0891b2,#22d3ee)}.module-icon--scheduling{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.module-icon--team{background:linear-gradient(135deg,#059669,#34d399)}.module-icon--risks{background:linear-gradient(135deg,#dc2626,#f87171)}.module-icon--clients{background:linear-gradient(135deg,#0e7490,#22d3ee)}.module-icon--requests{background:linear-gradient(135deg,#0369a1,#38bdf8)}.project-client-select{width:100%;max-width:360px;margin-bottom:4px}.clients-panel-subtitle{margin:2px 0 0;font-size:.74rem;color:var(--text-muted)}.clients-search{padding:0 0 12px}.clients-search input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.85rem}.client-row{cursor:default;gap:12px}.client-row-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.client-row-open:hover .backlog-row-title{color:var(--accent)}.client-row-avatar{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,#22d3ee 16%,transparent);border:1px solid color-mix(in srgb,#0e7490 40%,var(--border));color:#0e7490;font-size:.82rem;font-weight:700}.client-row-website{flex-shrink:0;font-size:.76rem;color:var(--text-muted)}.client-row-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.client-row-contact-count{font-size:.76rem;color:var(--text-muted)}.client-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 24px 24px;display:flex;flex-direction:column;gap:20px}.client-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:0;margin:0}.client-modal-grid .modal-sidebar-field{gap:6px}.client-modal-grid .modal-sidebar-field input{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.85rem}.client-contacts-list{display:flex;flex-direction:column;gap:6px}.client-contact-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px;align-items:center}.client-contact-input{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.82rem}.client-contact-input--name{font-weight:600}.client-contact-remove{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.78rem;cursor:pointer}.client-contact-remove:hover{color:#ef4444;border-color:color-mix(in srgb,#ef4444 45%,var(--border))}.client-contact-quick-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}.client-contact-quick-add input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.85rem}.client-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0 0;margin:0}.client-modal-actions-right{display:flex;align-items:center;gap:10px;margin-left:auto}.client-contact-block{display:flex;flex-direction:column;gap:6px}.client-contact-portal{display:flex;flex-direction:column;gap:6px;padding:0 2px 8px;border-bottom:1px dashed var(--border)}.client-contact-portal-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.client-portal-status{font-size:.72rem;color:var(--text-muted);padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.client-portal-status--active{color:#4ade80;border-color:color-mix(in srgb,#4ade80 40%,var(--border));background:color-mix(in srgb,#4ade80 10%,transparent)}.client-contact-portal-row .btn-secondary{padding:4px 10px;font-size:.75rem}.client-portal-hint{font-size:.72rem;color:var(--text-muted)}.client-portal-revoke:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.client-portal-info{margin:0;font-size:.75rem;color:#4ade80}.client-portal-error{margin:0;font-size:.75rem;color:var(--danger)}.client-portal-password{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.client-portal-password-head{font-size:.75rem;color:var(--text)}.client-portal-password-row{display:flex;align-items:center;gap:8px}.client-portal-password-row code{font-size:.95rem;letter-spacing:.04em;padding:6px 10px;border-radius:6px;background:var(--bg-card, rgba(0, 0, 0, .3));border:1px solid var(--border);-webkit-user-select:all;user-select:all}.client-portal-password-hint{font-size:.72rem;color:var(--text-muted)}.client-portal-password-hint code{font-size:.72rem}.portal{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 600px at 20% -10%,rgba(99,102,241,.16),transparent),var(--bg)}.portal--dashboard{flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.portal--dashboard .portal-header{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.portal-card{width:min(420px,100%);display:flex;flex-direction:column;gap:14px;padding:32px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--bg) 60%,rgba(99,102,241,.06));box-shadow:0 24px 60px #00000073}.portal-brand{display:flex;align-items:center;gap:10px}.portal-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;font-size:.8rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),#818cf8)}.portal-brand-name{font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.portal-title{margin:4px 0 0;font-size:1.4rem;color:var(--text)}.portal-subtitle{margin:0;font-size:.85rem;line-height:1.5;color:var(--text-muted)}.portal-form{display:flex;flex-direction:column;gap:12px;margin-top:6px}.portal-field{display:flex;flex-direction:column;gap:5px}.portal-field span{font-size:.75rem;color:var(--text-muted)}.portal-field input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card, rgba(0, 0, 0, .25));color:var(--text);font-family:var(--font);font-size:.9rem}.portal-field input:focus{outline:none;border-color:var(--accent)}.portal-btn{padding:11px 14px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent),#818cf8);color:#fff;font-family:var(--font);font-size:.9rem;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}.portal-btn:disabled{opacity:.6;cursor:default}.portal-btn--link{display:block}.portal-link-btn{background:none;border:none;padding:4px;color:var(--accent);font-family:var(--font);font-size:.8rem;cursor:pointer}.portal-error{margin:0;font-size:.8rem;color:var(--danger)}.portal-notice{margin:0;font-size:.8rem;color:#4ade80}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px;border-bottom:1px solid var(--border);flex-wrap:wrap}.portal-header-left{display:flex;align-items:center;gap:28px;flex-wrap:wrap;min-width:0}.portal-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.portal-nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:.85rem;font-weight:500;padding:8px 12px;border-radius:8px;cursor:pointer}.portal-nav-link:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.portal-nav-link.is-active{color:var(--text);background:color-mix(in srgb,var(--accent) 18%,transparent)}.portal-header-user{display:flex;align-items:center;gap:12px}.portal-header-name{font-size:.85rem;color:var(--text)}.portal-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.portal-project-card{padding:20px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,rgba(99,102,241,.05));display:flex;flex-direction:column;gap:16px}.portal-project-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.portal-project-card-head h2{margin:2px 0 0;font-size:1.1rem;color:var(--text)}.portal-project-code{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.portal-project-badges,.portal-payment-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid var(--border);font-size:.7rem;color:var(--text-muted);text-transform:capitalize;white-space:nowrap}.portal-badge--green{color:#4ade80;border-color:color-mix(in srgb,#4ade80 40%,var(--border));background:color-mix(in srgb,#4ade80 10%,transparent)}.portal-badge--orange{color:#fb923c;border-color:color-mix(in srgb,#fb923c 40%,var(--border));background:color-mix(in srgb,#fb923c 10%,transparent)}.portal-badge--red{color:#f87171;border-color:color-mix(in srgb,#f87171 40%,var(--border));background:color-mix(in srgb,#f87171 10%,transparent)}.portal-badge--pay-planned{color:#fbbf24;border-color:color-mix(in srgb,#fbbf24 40%,var(--border))}.portal-badge--pay-paid{color:#4ade80;border-color:color-mix(in srgb,#4ade80 40%,var(--border))}.portal-project-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-project-meta p{margin:4px 0 0;font-size:.88rem;color:var(--text)}.portal-meta-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.portal-meta-aside,.portal-muted{color:var(--text-muted);font-weight:400}.portal-section{display:flex;flex-direction:column;gap:12px}.portal-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.portal-section-head h2{margin:0;font-size:1.1rem;color:var(--text);display:flex;align-items:center;gap:10px}.portal-section-head span{font-size:.8rem;color:var(--text-muted)}.portal-subsection-title{margin:8px 0 0;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.portal-empty{margin:0;padding:18px;border:1px dashed var(--border);border-radius:10px;color:var(--text-muted);font-size:.88rem}.portal-payment-list,.portal-stage-list,.portal-release-list{display:flex;flex-direction:column;gap:8px}.portal-release-list{flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:10px}.portal-release-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 70%,rgba(99,102,241,.04));min-width:0}.portal-release-chip strong{color:var(--text);font-size:.88rem;white-space:nowrap}.portal-release-chip-date{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.portal-payment-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 70%,rgba(99,102,241,.04));flex-wrap:wrap}.portal-payment-main{display:flex;flex-direction:column;gap:2px;min-width:0}.portal-payment-main strong{color:var(--text);font-size:.9rem}.portal-payment-main span{font-size:.8rem;color:var(--text-muted)}.portal-payment-project{color:var(--accent)!important}.portal-payment-side{justify-content:flex-end}.portal-payment-amount{font-weight:600;color:var(--text)!important;font-size:.95rem!important}.portal-stage-bar{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 70%,rgba(99,102,241,.04))}.portal-stage-bar--in-progress{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 12%,transparent)}.portal-stage-bar--closed{opacity:.7}.portal-stage-bar-top,.portal-stage-bar-dates{display:flex;align-items:center;justify-content:space-between;gap:10px}.portal-stage-bar-top strong{color:var(--text);font-size:.9rem}.portal-stage-bar-top span,.portal-stage-bar-dates{font-size:.78rem;color:var(--text-muted);text-transform:capitalize}.portal-stage-bar-dates{margin-top:6px;justify-content:flex-start}.portal-main{width:min(960px,100%);margin:0 auto;padding:40px 28px 60px;display:flex;flex-direction:column;gap:28px}.portal-main--wide{width:min(1100px,100%)}.portal-timeline{display:flex;flex-direction:column;gap:14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,rgba(99,102,241,.04));overflow:hidden}.portal-timeline-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:8px}.portal-timeline-canvas{position:relative;min-height:80px}.portal-timeline-ruler{position:relative;border-bottom:1px solid var(--border)}.portal-timeline-month{position:absolute;top:10px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.portal-timeline-today{position:absolute;top:0;bottom:0;width:2px;background:color-mix(in srgb,#f87171 80%,transparent);z-index:2;pointer-events:none}.portal-timeline-track{position:relative;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.portal-timeline-bar{position:absolute;top:10px;height:calc(100% - 20px);display:flex;align-items:center;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text);font-family:var(--font);cursor:pointer;text-align:left;overflow:hidden;z-index:1}.portal-timeline-bar:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 34%,transparent)}.portal-timeline-bar.is-active{border-color:color-mix(in srgb,#4ade80 55%,var(--border));background:color-mix(in srgb,#4ade80 22%,transparent)}.portal-timeline-bar-label{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-stage-unscheduled{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px}.portal-stage-unscheduled h4{margin:0;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}button.portal-stage-bar{width:100%;text-align:left;cursor:pointer;font-family:var(--font);-webkit-appearance:none;-moz-appearance:none;appearance:none}.portal-stage-modal{max-width:560px}.portal-stage-modal-body{padding:8px 20px 24px;display:flex;flex-direction:column;gap:12px}.portal-stage-modal-body h2{margin:0;font-size:1.25rem;color:var(--text)}.portal-stage-modal-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted)}.portal-stage-description{min-height:80px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--text);font-size:.9rem;line-height:1.5;white-space:pre-wrap}.portal-welcome h1{margin:0 0 8px;font-size:1.7rem;color:var(--text)}.portal-welcome-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.portal-welcome-row .portal-btn{width:auto;padding-inline:18px}.portal-request-row{width:100%;text-align:left;cursor:pointer;font-family:var(--font);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:color-mix(in srgb,var(--bg) 70%,rgba(99,102,241,.04))}.portal-request-description{margin:0;white-space:pre-wrap;color:var(--text);font-size:.9rem;line-height:1.5}.portal-field textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card, rgba(0, 0, 0, .25));color:var(--text);font-family:var(--font);font-size:.9rem;resize:vertical;min-height:100px}.request-filters{display:flex;align-items:center;gap:10px;padding:0 4px 10px;flex-wrap:wrap}.request-filters select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font)}.request-row{align-items:center}.request-row-open{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:var(--font);color:inherit}.request-row-client{font-size:.75rem;color:var(--text-muted)}.request-row-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.78rem;color:var(--text-muted)}.request-status{padding:2px 8px;border-radius:999px;border:1px solid var(--border);text-transform:capitalize}.request-status--open{color:#fbbf24;border-color:color-mix(in srgb,#fbbf24 40%,var(--border))}.request-status--in_progress{color:#60a5fa;border-color:color-mix(in srgb,#60a5fa 40%,var(--border))}.request-status--waiting{color:#fb923c;border-color:color-mix(in srgb,#fb923c 40%,var(--border))}.request-status--resolved,.request-status--closed{color:#4ade80;border-color:color-mix(in srgb,#4ade80 40%,var(--border))}.request-modal-body{padding:8px 20px 20px;display:flex;flex-direction:column;gap:14px}.request-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.request-comments{display:flex;flex-direction:column;gap:10px}.request-comment{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg) 70%,transparent)}.request-comment-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;font-size:.75rem;color:var(--text-muted)}.request-comment-head strong{color:var(--text);font-size:.82rem}.request-comment p{margin:0;white-space:pre-wrap;color:var(--text);font-size:.88rem}.request-comment-pill{padding:1px 6px;border-radius:999px;border:1px solid var(--border);font-size:.68rem}.request-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}.request-comment-form input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font)}.portal-welcome p{margin:0;font-size:.95rem;color:var(--text-muted)}.portal-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.portal-tile{padding:20px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,rgba(99,102,241,.05))}.portal-tile h3{margin:0 0 8px;font-size:.95rem;color:var(--text)}.portal-tile p{margin:0;font-size:.82rem;line-height:1.5;color:var(--text-muted)}@media(max-width:720px){.client-modal-grid{grid-template-columns:1fr}.client-contact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.client-contact-row .client-contact-remove{justify-self:end}.client-row-meta{flex-wrap:wrap}}.risks-panel-subtitle{margin:2px 0 0;font-size:.74rem;color:var(--text-muted)}.risk-row{cursor:default;gap:12px}.risk-row--closed{opacity:.55}.risk-row--closed .backlog-row-title{text-decoration:line-through}.risk-row-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.risk-row-open:hover .backlog-row-title{color:var(--accent)}.risk-row-score{flex-shrink:0;min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--risk-score-color, var(--text-muted)) 18%,transparent);border:1px solid color-mix(in srgb,var(--risk-score-color, var(--border)) 45%,var(--border));color:var(--risk-score-color, var(--text));font-size:.78rem;font-weight:700}.risk-row-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.risk-row-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid color-mix(in srgb,var(--risk-status-color, var(--border)) 45%,var(--border));border-radius:999px;font-size:.74rem;font-weight:600;color:var(--risk-status-color, var(--text-muted));white-space:nowrap}.risk-row-status-dot{width:8px;height:8px;border-radius:50%;background:var(--risk-status-color, var(--text-muted))}.risk-row-owner,.risk-row-level{font-size:.74rem;color:var(--text-muted);white-space:nowrap}.risk-row-task-count{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.risk-modal{max-width:860px;min-height:0}.risk-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 24px 24px;display:flex;flex-direction:column;gap:20px}.risk-modal-body .modal-title-input{padding:12px 0 4px;margin:0}.risk-modal-body .modal-field{margin:0;gap:8px}.risk-modal-body .modal-field label{padding:0;margin:0}.risk-modal-body .modal-field--inset{margin-top:0}.risk-modal-body .modal-field .formatted-textarea{width:100%;margin:0;gap:8px}.risk-modal-body .modal-field .formatted-textarea-toolbar{padding:0 2px}.risk-modal-body .modal-field .formatted-textarea-editor{width:100%;margin:0;padding:12px 14px;max-height:14em;box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:.9rem;line-height:1.55;overflow-y:auto;white-space:pre-wrap;word-break:break-word;cursor:text}.risk-modal-body .modal-field .formatted-textarea-editor:focus{border-color:var(--accent);outline:none}.risk-modal-body .modal-field .formatted-textarea-editor strong,.risk-modal-body .modal-field .formatted-textarea-editor b{font-weight:700;color:var(--text)}.risk-modal-body .modal-field .formatted-textarea-editor em,.risk-modal-body .modal-field .formatted-textarea-editor i{font-style:italic}.risk-modal-body .modal-field .formatted-textarea-editor u{text-decoration:underline}.risk-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;padding:0;margin:0}.risk-modal-grid .modal-sidebar-field{gap:6px}.risk-tasks-section{margin:0;padding-top:4px;flex-shrink:0}.risk-modal-body .epic-issues-section.risk-tasks-section{margin:0;border:1px solid var(--border);border-radius:var(--radius);background:#0000001f;overflow:visible}.risk-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0 0;margin:0}.risk-tasks-list{display:flex;flex-direction:column}.risk-task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}.risk-task-row:last-child{border-bottom:none}.risk-task-row--done .epic-issue-title{color:var(--text-muted);text-decoration:line-through}.risk-task-project{font-size:.72rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em}.risk-task-status-select,.risk-task-assignee-select{min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.78rem}.risk-task-status-select{color:var(--issue-status-color, var(--text));border-color:color-mix(in srgb,var(--issue-status-color, var(--border)) 45%,var(--border))}.risk-task-quick-add{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-top:12px}.risk-task-quick-add input,.risk-task-quick-add select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.86rem}@media(max-width:720px){.risk-task-row,.risk-task-quick-add{grid-template-columns:1fr}}.risk-modal-form{display:flex;flex-direction:column;gap:16px;padding:0 0 20px}.risk-modal-grid .modal-sidebar-field select{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.86rem}.risk-score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:34px;border-radius:8px;background:color-mix(in srgb,var(--risk-score-color, var(--text-muted)) 18%,transparent);border:1px solid color-mix(in srgb,var(--risk-score-color, var(--border)) 45%,var(--border));color:var(--risk-score-color, var(--text));font-weight:700}.risk-status-select{font-weight:600;color:var(--risk-status-color, var(--text));border-color:color-mix(in srgb,var(--risk-status-color, var(--border)) 45%,var(--border))}.risk-modal-actions-right{display:flex;align-items:center;gap:10px;margin-left:auto}@media(max-width:720px){.risk-modal-grid{grid-template-columns:1fr}.risk-row-meta{flex-wrap:wrap}}.portfolio-row{cursor:default;flex-wrap:wrap;row-gap:8px}.portfolio-row-open{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 220px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.portfolio-row-open:hover .backlog-row-title{color:var(--accent)}.portfolio-row-icon{flex-shrink:0;font-size:1rem}.portfolio-row-status{display:flex;align-items:center;gap:12px;flex-shrink:0}.portfolio-row-stage{min-width:64px;text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.portfolio-row-stage.is-empty{opacity:.6;font-style:italic;text-transform:none;letter-spacing:0;font-size:.72rem}.portfolio-health{display:inline-flex;align-items:center;gap:6px;padding-left:9px;border:1px solid color-mix(in srgb,var(--health-color, var(--border)) 40%,var(--border));border-radius:999px;background:var(--bg-card)}.portfolio-health:focus-within{border-color:var(--health-color, var(--accent))}.portfolio-health-dot{width:9px;height:9px;border-radius:50%;background:var(--health-color, var(--text-muted));box-shadow:0 0 6px color-mix(in srgb,var(--health-color, transparent) 60%,transparent);flex-shrink:0}.portfolio-health-select{padding:4px 8px 4px 2px;border:none;border-radius:999px;background:transparent;color:var(--health-color, var(--text));font-family:var(--font);font-size:.78rem;font-weight:600;cursor:pointer}.portfolio-health-select:focus{outline:none}.stage-active-badge{margin-left:8px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;padding:2px 8px;vertical-align:middle}.stage-kind-tag{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.stage-row{cursor:default;gap:12px}.stage-row--active{border-left:2px solid var(--accent)}.stage-row-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.stage-row-open:hover .backlog-row-title{color:var(--accent)}.stage-row-status-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--stage-status-color, var(--text-muted));box-shadow:0 0 6px color-mix(in srgb,var(--stage-status-color, transparent) 60%,transparent)}.stage-row-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.stage-row-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid color-mix(in srgb,var(--stage-status-color, var(--border)) 45%,var(--border));border-radius:999px;font-size:.74rem;font-weight:600;color:var(--stage-status-color, var(--text-muted));white-space:nowrap}.stage-row-dates,.stage-row-checklist{font-size:.74rem;color:var(--text-muted);white-space:nowrap}.release-active-badge{margin-left:8px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#10b981;border:1px solid color-mix(in srgb,#10b981 45%,transparent);border-radius:999px;padding:2px 8px;vertical-align:middle}.release-row{cursor:default;gap:10px;flex-wrap:wrap}.release-row--active{border-left:2px solid #10b981}.release-row-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.release-row-open:hover .backlog-row-title{color:#10b981}.release-row-meta{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap}.release-row-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid color-mix(in srgb,var(--release-status-color, var(--border)) 45%,var(--border));border-radius:999px;font-size:.74rem;font-weight:600;color:var(--release-status-color, var(--text-muted));white-space:nowrap}.release-row-status-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--release-status-color, var(--text-muted));box-shadow:0 0 6px color-mix(in srgb,var(--release-status-color, transparent) 60%,transparent)}.release-row-date,.release-row-effort,.release-row-progress-label{font-size:.74rem;color:var(--text-muted);white-space:nowrap}.release-row-progress{width:100%;flex-basis:100%;padding:0 4px 2px}.release-row-progress-bar,.release-detail-progress-bar{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.release-row-progress-fill,.release-detail-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#10b981,#34d399);transition:width .2s ease}.release-detail-modal{max-width:640px}.release-detail-body{display:flex;flex-direction:column;gap:16px;padding:18px 20px;overflow-y:auto}.release-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.release-detail-field{display:flex;flex-direction:column;gap:6px}.release-detail-field label{font-size:.78rem;color:var(--text-muted)}.release-detail-field select,.release-detail-field input[type=date],.release-detail-field input[type=number]{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.88rem}.release-detail-field-hint{font-size:.72rem;color:var(--text-muted)}.release-detail-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.82rem}.release-detail-status{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--release-status-color, var(--text-muted))}.release-detail-date,.release-detail-effort,.release-detail-progress{color:var(--text-muted)}.release-detail-issues-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.release-detail-issues-header h4{margin:0;font-size:.92rem}.release-detail-issues-count{font-size:.74rem;color:var(--text-muted);background:#ffffff0f;border-radius:999px;padding:2px 8px}.release-detail-issues-empty{margin:0;font-size:.82rem;color:var(--text-muted)}.release-detail-issues-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.release-issue-row{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font:inherit;text-align:left;cursor:pointer}.release-issue-row:hover{border-color:color-mix(in srgb,#10b981 45%,var(--border))}.release-issue-id{flex-shrink:0;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.release-issue-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-issue-effort{flex-shrink:0;font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.release-issue-status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:.72rem;color:var(--text-muted)}.release-detail-actions{display:flex;justify-content:flex-start;padding-top:4px}.release-delete-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.82rem;color:var(--text-muted)}.stage-detail-modal{max-width:560px}.stage-detail-body{display:flex;flex-direction:column;gap:16px;padding:18px 20px;overflow-y:auto}.stage-detail-title{margin:0;font-size:1.25rem}.stage-detail-name-input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:1.1rem;font-weight:600}.stage-detail-name-input:focus{outline:none;border-color:var(--accent)}.stage-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.stage-detail-field{display:flex;flex-direction:column;gap:6px}.stage-detail-field>span{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.stage-detail-field input[type=date],.stage-detail-select{padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.86rem;cursor:pointer}.stage-detail-select{font-weight:600;color:var(--stage-status-color, var(--text));border-color:color-mix(in srgb,var(--stage-status-color, var(--border)) 40%,var(--border))}.stage-detail-field input[type=date]:focus,.stage-detail-select:focus{outline:none;border-color:var(--accent)}.stage-detail-description{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.88rem;resize:vertical}.stage-detail-description:focus{outline:none;border-color:var(--accent)}.stage-detail-checklist{display:flex;flex-direction:column;gap:2px}.stage-detail-empty{margin:0;font-size:.84rem;color:var(--text-muted);font-style:italic}.stage-detail-checklist-add{margin-top:6px;padding:7px 10px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text);font-family:var(--font);font-size:.86rem}.stage-detail-checklist-add:focus{outline:none;border-color:var(--accent)}.stage-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.stage-detail-actions-right{display:flex;align-items:center;gap:10px;margin-left:auto}@media(max-width:640px){.stage-detail-grid{grid-template-columns:1fr}.stage-row-meta{flex-wrap:wrap}}.stage-check-row{cursor:default;display:flex;align-items:center;gap:10px;padding:5px 0}.stage-check-row.is-done .stage-check-title{opacity:.55;text-decoration:line-through}.stage-check-box{flex-shrink:0;width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.stage-check-title{margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:text;white-space:normal}.stage-check-edit{flex:1;min-width:0;padding:4px 8px;border:1px solid var(--border-hover);border-radius:6px;background:var(--bg-card);color:var(--text);font:inherit;font-size:.88rem}.stage-check-remove{flex-shrink:0;padding:0 6px;border:none;background:transparent;color:var(--text-muted);font-size:1rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s,color .12s}.stage-check-row:hover .stage-check-remove{opacity:1}.stage-check-remove:hover{color:var(--danger)}.portfolio-row-progress{margin-top:0;width:130px}.portfolio-row--closed .portfolio-row-open,.portfolio-row--closed .portfolio-row-status{opacity:.55}.portfolio-row--closed .backlog-row-title{text-decoration:line-through}.portfolio-row-close{white-space:nowrap}.portfolio-row-assignments{display:flex;align-items:center;gap:14px;flex-shrink:0}.portfolio-assign{display:inline-flex;align-items:center;gap:6px}.portfolio-assign-label{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.portfolio-assign-select{max-width:150px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.78rem;cursor:pointer}.portfolio-assign-select:hover{border-color:var(--border-hover)}.portfolio-assign-select:focus{outline:none;border-color:var(--accent)}@media(max-width:900px){.portfolio-row-assignments{width:100%;justify-content:flex-start;flex-wrap:wrap}}.sales-offer-row{cursor:default}.sales-offer-row-open{flex:1;min-width:0;display:flex;align-items:center;gap:12px;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.sales-offer-row-meta{flex-wrap:wrap;row-gap:6px}.sales-offer-row-public.is-public{color:#059669}.sales-offer-row-expiry{display:inline-flex;align-items:center;gap:6px}.sales-offer-row-expiry-label{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.sales-offer-row-expiry .date-picker-trigger{min-height:0;padding:2px 8px;font-size:.72rem;font-family:var(--mono);border-radius:6px}.sales-offer-row-action{padding:0;border:none;background:none;color:var(--text-muted);font-family:var(--font);font-size:.75rem;cursor:pointer;white-space:nowrap}.sales-offer-row-action:hover{color:var(--text)}.sales-offer-row-action--primary{color:var(--accent)}.sales-offer-row-action--primary:hover{color:color-mix(in srgb,var(--accent) 80%,white)}.sales-offer-row-action--primary:disabled{opacity:.45;cursor:not-allowed}.sales-offer-row-action--danger:hover{color:var(--danger)}.sales-offer-row-error{width:100%;font-size:.72rem;color:var(--danger)}.sales-offer-form .field textarea{min-height:140px;resize:vertical}.sales-offer-proposal-block{display:flex;flex-direction:column;gap:8px}.sales-offer-proposal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sales-offer-proposal-header .field-label{font-size:.85rem;color:var(--text-muted)}.sales-offer-proposal-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-secondary--compact{padding:6px 10px;font-size:.8rem}.sales-offer-proposal-empty{margin:0;padding:14px 16px;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:.9rem}.sales-offer-proposal-editor{width:100%;min-height:320px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-deep);color:var(--text);font-family:var(--mono);font-size:.8rem;line-height:1.5;resize:vertical}.sales-offer-publish{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-deep) 70%,var(--bg-elevated))}.sales-offer-publish-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sales-offer-publish-status{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sales-offer-publish-status.is-live{color:#059669}.sales-offer-publish-meta{margin:0;font-size:.85rem;color:var(--text-muted)}.sales-offer-publish-hint{margin:0;font-size:.9rem;color:var(--text-muted)}.sales-offer-publish-link{display:flex;gap:8px;align-items:center}.sales-offer-publish-link input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-deep);color:var(--text-muted);font-family:var(--mono);font-size:.75rem}.sales-offer-publish-actions{display:flex;gap:8px;flex-wrap:wrap}.sales-offer-template-picker{display:flex;flex-direction:column;gap:12px}.sales-offer-template-options{display:grid;gap:10px}.sales-offer-template-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);cursor:pointer;transition:border-color .15s,background .15s}.sales-offer-template-option:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--bg-hover)}.sales-offer-template-option strong{font-size:.95rem}.sales-offer-template-option span{color:var(--text-muted);font-size:.85rem}.sales-proposal-template{display:flex;flex-direction:column;gap:12px}.sales-proposal-template-shell{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-deep);max-height:52vh;overflow:auto}.sales-proposal-template-static{color:var(--text)}.sales-proposal-template-goal{display:flex;flex-direction:column;gap:8px;margin:0;padding:12px 14px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated))}.sales-proposal-template-goal span{font-weight:600}.sales-proposal-template-note{margin:0}.sales-proposal-template-field{display:flex;flex-direction:column;gap:8px}.sales-proposal-template-field-heading{margin:0;font-size:1.05rem}.sales-proposal-template-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text);font-family:inherit;font-size:.92rem;line-height:1.5;resize:vertical}.sales-proposal-template-input--inline{border:none;background:transparent;padding:0;min-height:48px}.sales-proposal-template-preview{border:1px dashed var(--border);border-radius:var(--radius-md);padding:10px 12px}.sales-proposal-template-preview summary{cursor:pointer;color:var(--text-muted);font-size:.85rem}.sales-proposal-template-preview-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.sales-offer-modal{width:min(820px,96vw);max-height:92vh;overflow:auto}.public-offer-page{position:fixed;top:0;right:0;bottom:0;left:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:40px 20px 64px;background:radial-gradient(circle at top,color-mix(in srgb,var(--accent) 8%,transparent),transparent 55%),var(--bg-deep)}.public-offer-card{max-width:760px;margin:0 auto;padding:32px 36px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:0 18px 48px color-mix(in srgb,#000 18%,transparent)}.public-offer-card--loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted)}.public-offer-header{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border)}.public-offer-eyebrow{margin:0 0 8px;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.public-offer-header h1{margin:0;font-size:clamp(1.6rem,4vw,2.2rem)}.public-offer-value{margin:12px 0 0;font-family:var(--mono);color:var(--accent)}.proposal-markdown{color:var(--text);line-height:1.65}.proposal-markdown h1,.proposal-markdown h2,.proposal-markdown h3,.proposal-markdown h4{margin:1.4em 0 .6em;line-height:1.25}.proposal-markdown h1:first-child,.proposal-markdown h2:first-child,.proposal-markdown h3:first-child{margin-top:0}.proposal-markdown p{margin:0 0 1em}.proposal-markdown ul,.proposal-markdown ol{margin:0 0 1em;padding-left:1.4em}.proposal-markdown blockquote{margin:0 0 1em;padding:12px 16px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-deep));color:var(--text-muted)}.proposal-markdown hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.proposal-markdown code{font-family:var(--mono);font-size:.9em;padding:2px 6px;border-radius:4px;background:var(--bg-deep)}.proposal-markdown img{max-width:100%;height:auto;border-radius:var(--radius-md)}.proposal-aside{margin:1.2em 0;padding:14px 16px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--bg-deep))}.proposal-checklist{list-style:none;padding-left:0}.proposal-checklist-item{position:relative;padding-left:1.4em}.proposal-checklist-item:before{content:"☐";position:absolute;left:0;color:var(--text-muted)}.proposal-checklist-item.is-checked:before{content:"☑";color:var(--accent)}.module-brand-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;overflow:hidden;background:transparent}.module-brand-mark--md{width:32px;height:32px}.module-brand-mark--sm{width:24px;height:24px}.module-brand-mark-image{display:block;width:100%;height:100%;object-fit:contain}.module-switcher-option{display:inline-flex;align-items:center;gap:10px}.view-tabs{display:flex;gap:4px;background:var(--bg-card);padding:3px;border-radius:8px;border:1px solid var(--border)}.header-dropdown{position:relative}.header-dropdown-trigger{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer;font-family:var(--font);font-size:.85rem;font-weight:500;color:var(--text);transition:all .2s;white-space:nowrap}.header-dropdown-trigger:hover{border-color:var(--border-hover);background:var(--bg-hover)}.header-dropdown-chevron{font-size:.7rem;color:var(--text-muted)}.header-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;margin:0;padding:4px;list-style:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 40px #00000073;z-index:300}.header-dropdown-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:8px 12px;font-family:var(--font);font-size:.85rem;color:var(--text);cursor:pointer;transition:background .15s;white-space:nowrap}.header-dropdown-item:hover{background:var(--bg-hover)}.header-dropdown-item.active{background:#6366f133;color:var(--accent)}.header-dropdown-label{min-width:0}.header-dropdown-option-row{display:flex;align-items:center;gap:8px}.header-dropdown--sidebar{width:100%}.header-dropdown--sidebar .header-dropdown-trigger{width:100%;justify-content:flex-start;padding:8px 10px}.header-dropdown--sidebar .header-dropdown-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.header-dropdown--sidebar .header-dropdown-chevron{margin-left:auto;flex-shrink:0}.header-dropdown--sidebar .header-dropdown-menu{width:100%;max-height:220px;overflow-y:auto}.header-dropdown--sidebar .header-dropdown-item{display:flex;align-items:center}.modal-sidebar-dropdown{position:relative}.modal-sidebar-dropdown.is-open{z-index:30}.modal-sidebar-dropdown .header-dropdown-menu{z-index:120}.header-dropdown-menu--fixed{position:fixed;z-index:6000;width:auto;max-height:min(320px,calc(100vh - 80px));overflow-y:auto}.date-picker.is-open{position:relative;z-index:30}.date-picker-popover--fixed{position:fixed;z-index:5000;width:252px}.header-section-switcher.header-dropdown--minimal .header-dropdown-trigger{font-weight:600;font-size:.85rem;color:var(--text);min-width:0;padding:2px 4px 2px 0}.header-section-switcher.header-dropdown--minimal .header-dropdown-trigger[aria-expanded=true]{color:var(--text)}.header-section-switcher.header-dropdown--minimal .header-dropdown-chevron{opacity:.7}.header-toolbar{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:nowrap}.header-avatar-filter{display:inline-flex;align-items:center;margin-left:4px;padding-left:4px}.header-avatar-filter-btn{display:inline-flex;align-items:center;justify-content:center;height:28px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font);transition:background .15s,border-color .15s,color .15s,transform .15s}.header-avatar-filter-btn{width:28px;padding:0;margin-left:-11px}.header-avatar-filter-btn:first-child{margin-left:0}.header-avatar-filter-btn .user-avatar{width:22px;height:22px}.header-avatar-filter-btn:hover{background:#ffffff12;color:var(--text);transform:translateY(-1px);z-index:2}.header-avatar-filter-btn.is-active{border-color:#6366f194;background:#6366f12e;color:var(--text);box-shadow:0 0 0 1px #6366f126,0 0 12px #6366f138;z-index:1}.header-toolbar-sep{width:1px;height:14px;margin:0 8px;background:#ffffff1a;flex-shrink:0}.header-search-minimal{display:flex;align-items:center;gap:6px;min-width:0}.header-search-minimal-icon{color:var(--text-muted);font-size:.9rem;line-height:1;opacity:.7;flex-shrink:0}.header-search-minimal-input{width:120px;background:none;border:none;color:var(--text);font-family:var(--font);font-size:.8125rem;font-weight:400;padding:2px 0;outline:none;transition:width .2s}.header-search-minimal-input::placeholder{color:var(--text-muted);opacity:.85}.header-search-minimal-input:focus{width:168px}.header-search-minimal-input::-webkit-search-cancel-button{display:none}.header-search-minimal-clear{background:none;border:none;color:var(--text-muted);font-size:.95rem;line-height:1;padding:0 2px;cursor:pointer;opacity:.6}.header-search-minimal-clear:hover{opacity:1;color:var(--text)}.header-filter-chip{display:inline-flex;align-items:center;gap:5px;background:none;border:none;border-radius:0;padding:2px 6px;cursor:pointer;font-family:var(--font);font-size:.8125rem;font-weight:400;color:var(--text-muted);white-space:nowrap;transition:color .15s}.header-filter-chip:hover{color:var(--text)}.header-filter-chip.is-on{color:var(--accent);font-weight:500}.header-filter-chip-count{font-size:.7rem;font-weight:500;color:inherit;opacity:.75;font-variant-numeric:tabular-nums}.header-filter-chip.is-on .header-filter-chip-count{opacity:1}.header-dropdown--minimal .header-dropdown-trigger{background:none;border:none;border-radius:0;padding:2px 6px;gap:4px;font-size:.8125rem;font-weight:400;color:var(--text-muted);min-width:0}.header-dropdown--minimal .header-dropdown-trigger:hover{background:none;color:var(--text)}.header-user-filter.is-filtered.header-dropdown--minimal .header-dropdown-trigger{color:var(--accent);font-weight:500}.header-user-filter.header-dropdown--minimal .header-dropdown-trigger{min-width:0}.header-dropdown--minimal .header-dropdown-trigger[aria-expanded=true]{color:var(--text)}.header-dropdown--minimal .header-dropdown-chevron{font-size:.55rem;opacity:.65}.header-filters{display:flex;align-items:center;gap:6px}.header-filter-btn{display:flex;align-items:center;gap:6px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer;font-family:var(--font);font-size:.85rem;font-weight:500;color:var(--text-muted);transition:all .2s;white-space:nowrap}.header-filter-btn:hover{color:var(--text);border-color:var(--border-hover)}.header-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.filter-badge{background:var(--danger);color:#fff;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.header-filter-btn.active .filter-badge{background:#ffffff40}.header-user-filter .header-dropdown-trigger{min-width:108px}.placeholder-section{display:flex;align-items:center;justify-content:center;height:100%;min-height:320px}.placeholder-section-inner{text-align:center;max-width:360px;padding:32px}.placeholder-section-icon{display:block;font-size:2rem;color:var(--text-muted);margin-bottom:12px;opacity:.5}.placeholder-section-inner h2{font-size:1.25rem;font-weight:600;margin-bottom:8px}.placeholder-section-inner p{color:var(--text-muted);font-size:.95rem;line-height:1.5}.project-settings{display:flex;justify-content:center;height:100%;min-height:320px;padding:24px 16px 48px;overflow-y:auto;-webkit-overflow-scrolling:touch}.project-settings-inner{width:100%;max-width:440px}.project-settings-header{margin-bottom:24px}.project-settings-header h2{font-size:1.25rem;font-weight:600;margin-bottom:4px}.project-settings-project-name{color:var(--text-muted);font-size:.95rem}.project-settings-project-code{margin-top:4px;color:var(--text-muted);font-size:.85rem;font-family:var(--mono);letter-spacing:.04em}.project-settings-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:18px 20px}.project-settings-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.project-settings-section-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:14px;line-height:1.45}.project-settings-inner--wide{max-width:520px}.project-access-desc{margin-top:0;margin-bottom:12px}.project-access-panel{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.project-access-title{margin:0 0 12px;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.project-access-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px;max-height:min(52vh,520px);overflow-y:auto;-webkit-overflow-scrolling:touch}.project-access-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card)}.project-access-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.project-access-copy strong{font-size:.88rem}.project-access-copy span{font-size:.78rem;color:var(--text-muted)}.project-access-remove{background:none;border:none;color:#f87171;cursor:pointer;font-family:var(--font);font-size:.82rem;flex-shrink:0}.project-access-role{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.project-access-add-form{display:flex;gap:8px;flex-wrap:wrap}.project-access-error{margin:10px 0 0;color:#f87171;font-size:.85rem}.project-card-private-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fbbf24;background:#fbbf241f;padding:2px 7px;border-radius:999px}.project-settings-type-hint{font-size:.8rem;color:var(--text-muted);margin-top:12px;line-height:1.45}.view-tab{background:none;border:none;color:var(--text-muted);font-family:var(--font);font-size:.85rem;font-weight:500;padding:6px 14px;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.view-tab:hover{color:var(--text)}.view-tab.active{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.tab-badge{background:var(--danger);color:#fff;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.view-tab.active .tab-badge{background:#ffffff40}.board-search{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:0 10px;min-width:200px;max-width:280px;transition:border-color .2s,box-shadow .2s}.board-search:focus-within{border-color:#6366f180;box-shadow:0 0 0 3px #6366f11f}.board-search-icon{color:var(--text-muted);font-size:1rem;line-height:1;flex-shrink:0}.board-search-input{flex:1;min-width:0;background:none;border:none;color:var(--text);font-family:var(--font);font-size:.85rem;padding:7px 0;outline:none}.board-search-input::placeholder{color:var(--text-muted)}.board-search-input::-webkit-search-cancel-button{display:none}.board-search-clear{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:4px;border-radius:4px;line-height:1;flex-shrink:0}.board-search-clear:hover{color:var(--text);background:#ffffff14}.header-right{display:flex;align-items:center;gap:14px;flex:0 0 auto;overflow:visible}.header-sync-status{font-size:.72rem;color:var(--text-muted);white-space:nowrap;max-width:min(42vw,320px);overflow:hidden;text-overflow:ellipsis}.header-sync-status--error{color:#f87171;cursor:help}.header-sync-status--loading,.header-sync-status--syncing,.header-sync-status--fetching{color:var(--text-muted)}.garden-hud{display:flex;align-items:center;gap:10px;flex:0 0 232px;height:34px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:6px 12px}.garden-hud-label{width:84px;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.garden-hud-bar{width:80px;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.garden-hud-fill{height:100%;background:linear-gradient(90deg,#4ade80,#6366f1);border-radius:2px;transition:width .6s cubic-bezier(.18,.67,.6,1.22)}.garden-hud-count{width:38px;font-size:.7rem;font-family:var(--mono);color:var(--text-muted);white-space:nowrap;text-align:right}.reset-timer{font-size:.8rem;color:var(--text-muted);font-family:var(--mono)}.work-timer{background:none;border:none;padding:0;margin:0;font-size:.8rem;color:var(--text-muted);font-family:var(--mono);cursor:pointer;transition:color .15s}.work-timer:hover,.work-timer--running{color:var(--text)}.work-timer-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.work-timer-toast{font-size:.72rem;color:var(--success);font-weight:500;max-width:220px;text-align:right;line-height:1.3;animation:fade-in .25s ease}.work-timer--break.work-timer--running{color:#38bdf8}.work-timer--holding{opacity:.65;transform:scale(.97)}.profile-menu{position:relative;z-index:301}.profile-menu-trigger{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;transition:box-shadow .2s,transform .2s}.profile-menu-trigger:hover{transform:scale(1.05);box-shadow:0 0 0 2px #6366f173}.profile-menu-trigger .assignee-avatar,.profile-menu-trigger .user-avatar--md{width:32px;height:32px;font-size:.85rem}.user-avatar--image{border-radius:50%;object-fit:cover;display:block}.user-avatar--sm{width:20px;height:20px;font-size:.65rem}.user-avatar--md{width:32px;height:32px}.user-avatar--lg{width:64px;height:64px}.profile-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px;box-shadow:0 12px 40px #00000073;animation:fade-in .15s ease;z-index:300}.profile-menu-user{display:flex;align-items:center;gap:10px;padding:8px 10px}.profile-menu-user strong{display:block;font-size:.9rem;font-weight:600}.profile-menu-user span{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px}.profile-menu-divider{height:1px;background:var(--border);margin:4px 0}.profile-menu-item{display:block;width:100%;background:none;border:none;color:var(--text);font-family:var(--font);font-size:.85rem;text-align:left;padding:10px 12px;border-radius:var(--radius);cursor:pointer;transition:background .15s}.profile-menu-item:hover{background:var(--bg-hover)}.profile-menu-dropdown--wide{min-width:240px}.profile-menu-item--submenu{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-menu-chevron{font-size:.7rem;color:var(--text-muted)}.profile-menu-group{display:flex;flex-direction:column}.profile-menu-projects{list-style:none;margin:0 0 4px;padding:0 4px 4px 8px;display:flex;flex-direction:column;gap:2px}.profile-menu-project-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius);background:none;color:var(--text);font-family:var(--font);font-size:.82rem;text-align:left;cursor:pointer;transition:background .15s}.profile-menu-project-item:hover{background:var(--bg-hover)}.profile-menu-project-item.is-active{background:#6366f11f}.profile-menu-project-item--new{color:var(--text-muted)}.profile-menu-project-icon{width:1.4rem;text-align:center;flex-shrink:0}.profile-menu-project-copy{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.profile-menu-project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-project-code{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.profile-menu-project-check{color:var(--accent);font-size:.75rem;flex-shrink:0}.fab-add{position:fixed;right:24px;bottom:24px;z-index:90;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent),#818cf8);color:#fff;font-size:1.75rem;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 4px 24px var(--accent-glow),0 8px 32px #00000059;transition:transform .2s,box-shadow .2s}.fab-add:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 28px var(--accent-glow),0 12px 40px #0006}.fab-add:active{transform:translateY(0) scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--accent),#818cf8);color:#fff;border:none;padding:8px 18px;border-radius:8px;font-family:var(--font);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 12px var(--accent-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px var(--accent-glow)}.btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border);padding:8px 18px;border-radius:8px;font-family:var(--font);font-size:.85rem;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--border-hover)}.btn-danger{background:transparent;color:var(--danger);border:1px solid rgba(239,68,68,.3);padding:8px 18px;border-radius:8px;font-family:var(--font);font-size:.85rem;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#ef44441a}.kanban-board{display:flex;gap:12px;height:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;padding-top:12px}.kanban-column{flex:1;min-width:220px;max-width:280px;min-height:0;display:flex;flex-direction:column;background:#0a0e1a14;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);box-shadow:none;transition:all .25s cubic-bezier(.18,.67,.6,1.22)}.kanban-column--over{border-color:#6366f18c;box-shadow:0 0 16px var(--accent-glow);transform:scale(1.01);background:#0a0e1a24}.column-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#0000001f;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.column-header h3{font-size:.85rem;font-weight:600;flex:1;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 1px 6px rgba(0,0,0,.9)}.column-dot{width:8px;height:8px;border-radius:50%;background:var(--col-color);box-shadow:0 0 8px var(--col-color)}.column-count{font-size:.75rem;color:var(--text-muted);font-family:var(--mono);background:#ffffff0f;padding:2px 8px;border-radius:10px}.column-body{flex:1;overflow:hidden;padding:8px;display:flex;flex-direction:column;min-height:0}.column-drop-zone{flex:1;display:flex;flex-direction:column;gap:8px;min-height:120px;border-radius:var(--radius);transition:background .2s,outline .2s;overflow-y:auto}.column-drop-zone--over{background:#6366f114;outline:1px dashed rgba(99,102,241,.45);outline-offset:-1px}.column-empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:100px;text-align:center;color:var(--text-muted);font-size:.8rem;padding:24px 12px;border:1px dashed rgba(255,255,255,.15);border-radius:var(--radius);opacity:.55;pointer-events:none}.kanban-column--over .column-empty{border-color:var(--accent);opacity:.9;color:var(--accent)}.column-quick-add{padding:8px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;background:#0000001a;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.column-quick-add input{width:100%;background:#00000040;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text);font-family:var(--font);font-size:.8rem;padding:8px 10px;outline:none;transition:all .2s}.column-quick-add input::placeholder{color:var(--text-muted)}.column-quick-add input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);background:#00000059}.task-card{background:#0000002e;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);cursor:grab;transition:all .2s;touch-action:none}.task-card:hover{border-color:#6366f166;background:#00000047;transform:translateY(-1px);box-shadow:0 2px 12px #0003}.task-card--dragging{opacity:.35}.task-card--overlay{cursor:grabbing;width:248px;box-shadow:0 12px 40px #6366f166,0 0 0 2px var(--accent);border-color:var(--accent);background:#080c16eb;transform:rotate(2deg)}.task-card-content{padding:10px 12px;cursor:pointer}.task-card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.task-card-meta-left{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.task-card-id{flex-shrink:0;font-family:var(--mono);font-size:.68rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.task-priority{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:none;border-radius:4px;color:var(--priority-color);font-family:var(--mono);font-size:.92rem;font-weight:800;line-height:1;min-width:18px;min-height:18px;padding:1px 2px;background:transparent}.task-priority-arrow,.priority-arrow{color:var(--priority-color, var(--accent));font-family:var(--mono);font-weight:800;line-height:1;text-shadow:0 0 8px color-mix(in srgb,var(--priority-color, var(--accent)) 45%,transparent)}.task-priority--highest .task-priority-arrow{letter-spacing:-.14em}.priority-option{display:inline-flex;align-items:center;gap:8px}.priority-option .priority-arrow{width:18px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.task-card-title{font-size:.85rem;font-weight:500;line-height:1.4;margin-bottom:4px;text-shadow:0 1px 4px rgba(0,0,0,.7)}.task-card-epic{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:120px;color:var(--task-epic-color, var(--text-muted));font-size:.7rem;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-epic-dot,.header-epic-filter-dot{width:7px;height:7px;border-radius:50%;background:var(--task-epic-color, var(--epic-filter-color, var(--accent)));box-shadow:0 0 8px var(--task-epic-color, var(--epic-filter-color, var(--accent-glow)));flex-shrink:0}.header-epic-option{display:inline-flex;align-items:center;gap:8px}.task-subtask-progress{display:flex;align-items:center;gap:8px;margin-bottom:6px}.task-subtask-progress-bar{flex:1;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.task-subtask-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#10b981);border-radius:2px;transition:width .25s ease}.task-subtask-progress-label{font-size:.6rem;font-family:var(--mono);color:var(--text-muted);flex-shrink:0}.task-card-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4;margin-bottom:8px}.task-card-footer{display:flex;align-items:center;justify-content:space-between}.task-due{font-size:.7rem;font-family:var(--mono);color:var(--text-muted)}.task-due.due-today{color:var(--warning)}.task-due.due-overdue{color:var(--danger)}.task-card.due-overdue{border-left:3px solid var(--danger)}.task-card.due-today{border-left:3px solid var(--warning)}.assignee-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#818cf8);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:#fff}.assignee-avatar.small{width:20px;height:20px;font-size:.65rem}.assignee-badge{display:flex;align-items:center;gap:8px;font-size:.85rem}.due-now-list{display:flex;flex-direction:column;gap:10px;padding-top:16px;overflow-y:auto;height:100%;max-width:700px}.due-now-item{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#0a0e1a8c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:16px 20px;cursor:pointer;text-align:left;color:var(--text);font-family:var(--font);transition:all .2s;width:100%;box-shadow:0 4px 24px #0000004d}.due-now-item:hover{border-color:#6366f166;background:#0a0e1ab3;transform:translate(4px)}.due-now-item.overdue{border-left:4px solid var(--danger)}.due-now-item.today{border-left:4px solid var(--warning)}.due-now-status{font-size:.65rem;font-weight:700;letter-spacing:.08em;font-family:var(--mono)}.due-now-item.overdue .due-now-status{color:var(--danger)}.due-now-item.today .due-now-status{color:var(--warning)}.due-now-item h4{font-size:1rem;margin:4px 0}.due-now-item p{font-size:.8rem;color:var(--text-muted)}.due-now-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:.75rem;color:var(--text-muted);font-family:var(--mono);flex-shrink:0}.due-now-column{text-transform:capitalize;background:var(--bg-card);padding:2px 8px;border-radius:4px}.due-now-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted)}.due-now-icon{width:48px;height:48px;border-radius:50%;background:#10b98126;color:var(--success);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 4vh;z-index:100;animation:fade-in .2s ease;overflow-y:auto;overscroll-behavior:contain}.modal-overlay--project{z-index:350}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.task-modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:640px;max-height:min(90vh,88vh);padding:0;display:flex;flex-direction:column;overflow:hidden;animation:slide-up .25s cubic-bezier(.18,.67,.6,1.22);box-shadow:0 24px 80px #00000080}.task-modal--wide{max-width:920px}.task-modal-layout,.task-modal-body{flex:1 1 auto;min-height:0}.task-modal-body{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.task-modal-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:start;overflow:visible}.task-modal-main{min-width:0;min-height:0;max-height:min(90vh,88vh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 20px 20px}.task-modal-sidebar{padding:20px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:18px;align-self:stretch;overflow:visible;position:relative;z-index:2}.modal-issue-id{font-size:.95rem;color:var(--text);font-family:var(--mono);font-weight:600;letter-spacing:.02em}.modal-sidebar-field{display:flex;flex-direction:column;gap:8px}.modal-sidebar-field label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.modal-sidebar-input{width:100%;min-width:0}.date-picker{position:relative}.date-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.date-picker-trigger--empty{color:var(--text-muted)}.date-picker-trigger-icon{color:var(--text-muted);font-size:.8rem}.date-picker-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:252px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:#080c16fa;box-shadow:0 18px 50px #00000073,0 0 0 1px #ffffff0a}.date-picker-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.date-picker-header strong{font-size:.85rem;font-weight:600}.date-picker-header button,.date-picker-actions button{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text);cursor:pointer;font-family:var(--font);font-size:.82rem;padding:5px 8px}.date-picker-header button:hover,.date-picker-actions button:hover{background:#ffffff1a;border-color:#ffffff2e}.date-picker-weekdays,.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-picker-weekdays{margin-bottom:4px}.date-picker-weekdays span{color:var(--text-muted);font-family:var(--mono);font-size:.65rem;text-align:center}.date-picker-day{aspect-ratio:1;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--text);cursor:pointer;font-family:var(--mono);font-size:.75rem}.date-picker-day:hover{background:#ffffff14;border-color:#ffffff24}.date-picker-day--muted{color:#ffffff47}.date-picker-day--today{border-color:#6366f180}.date-picker-day--selected{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 14px var(--accent-glow)}.date-picker-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.modal-status-value{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:500;color:var(--text)}.modal-status-dot{width:8px;height:8px;border-radius:50%;background:var(--status-color, var(--accent));flex-shrink:0}.modal-sidebar-meta{display:flex;flex-direction:column;gap:6px;padding-top:4px;font-size:.75rem;color:var(--text-muted);font-family:var(--mono)}.modal-sidebar-actions{margin-top:auto;padding-top:12px}.modal-delete-btn{background:none;border:none;color:var(--text-muted);font-family:var(--font);font-size:.75rem;cursor:pointer;padding:0;transition:color .15s}.modal-delete-btn:hover{color:var(--text)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:grid;place-items:center;padding:24px;background:#00000094;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{width:min(420px,100%);padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:0 24px 80px #00000080}.confirm-dialog h3{margin:0 0 8px;font-size:1.1rem}.confirm-dialog p{margin:0;color:var(--text-muted);line-height:1.45}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.task-modal-main .modal-field textarea{width:100%;margin:0;box-sizing:border-box}.task-modal-main .subtasks-section,.task-modal-main .task-comments{margin:0;padding-top:16px;border-top:1px solid var(--border)}@media(max-width:720px){.task-modal-layout{grid-template-columns:1fr}.task-modal-sidebar{border-left:none;border-top:1px solid var(--border)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-type{font-size:.8rem;color:var(--text-muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}.modal-header-actions{display:flex;align-items:center;gap:4px}.modal-share-btn,.modal-watch-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s}.modal-share-btn:hover,.modal-watch-btn:hover{color:var(--text);background:var(--bg-hover)}.modal-share-btn--copied,.modal-share-btn--copied:hover{color:var(--success)}.modal-watch-btn--active,.modal-watch-btn--active:hover{color:var(--accent)}.modal-close-btn{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s}.modal-close-btn:hover{color:var(--text);background:var(--bg-hover)}.modal-title-input{width:100%;background:none;border:none;color:var(--text);font-family:var(--font);font-size:1.4rem;font-weight:600;padding:16px 0 8px;outline:none;box-sizing:border-box}.modal-title-input::placeholder{color:var(--text-muted)}.modal-meta{display:flex;gap:24px;padding:12px 20px;border-bottom:1px solid var(--border)}.modal-field{display:flex;flex-direction:column;gap:6px}.modal-field--inset{margin-top:8px}.modal-field label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.modal-date-input{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--mono);font-size:.85rem;padding:6px 10px;outline:none}.modal-date-input:focus{border-color:var(--accent)}.modal-select{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font);font-size:.85rem;padding:6px 10px;outline:none;min-width:140px}.modal-select:focus{border-color:var(--accent)}.modal-field textarea{width:calc(100% - 40px);margin:12px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:.9rem;padding:12px;resize:vertical;outline:none;line-height:1.5}.modal-field textarea:focus{border-color:var(--accent)}.formatted-textarea{display:flex;flex-direction:column;gap:6px}.modal-field .formatted-textarea{width:calc(100% - 40px);margin:12px 20px}.modal-field .formatted-textarea textarea,.modal-field .formatted-textarea-editor{width:100%;margin:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:.9rem;padding:12px;resize:vertical;outline:none;line-height:1.5}.modal-field .formatted-textarea-editor{overflow-y:auto;white-space:pre-wrap;word-break:break-word;cursor:text}.modal-field .formatted-textarea-editor:focus{border-color:var(--accent)}.modal-field .formatted-textarea-editor.is-empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;float:left;height:0}.modal-field .formatted-textarea-editor strong,.modal-field .formatted-textarea-editor b{font-weight:700}.modal-field .formatted-textarea-editor em,.modal-field .formatted-textarea-editor i{font-style:italic}.modal-field .formatted-textarea-editor u{text-decoration:underline}.modal-field .formatted-textarea-editor ul,.modal-field .formatted-textarea-editor ol{margin:.35em 0;padding-left:1.4em}.modal-field .formatted-textarea-editor p{margin:0 0 .5em}.modal-field .formatted-textarea-editor p:last-child{margin-bottom:0}.modal-field .formatted-textarea-editor img,.formatted-textarea-editor img.formatted-textarea-image{display:block;max-width:100%;height:auto;margin:.5em 0;border-radius:calc(var(--radius) - 2px);border:1px solid var(--border)}.modal-field .formatted-textarea textarea:focus{border-color:var(--accent)}.formatted-textarea-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:0 0 2px}.formatted-textarea-btn--bold{font-weight:800}.formatted-textarea-btn--italic{font-style:italic;font-weight:600}.formatted-textarea-btn--underline{text-decoration:underline;font-weight:600}.formatted-textarea-preview{margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--bg-card) 88%,var(--bg-panel));color:var(--text);font-size:.88rem;line-height:1.5}.formatted-textarea-btn{min-width:28px;height:26px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-muted);font-family:var(--font);font-size:.72rem;font-weight:700;cursor:pointer}.formatted-textarea-btn:hover{border-color:var(--border-hover);color:var(--text)}.formatted-textarea-hints{margin-left:auto;font-size:.68rem;color:var(--text-muted);white-space:nowrap}.stage-detail-description-wrap textarea,.stage-detail-description-wrap .formatted-textarea-editor{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.88rem;resize:vertical;outline:none;line-height:1.5}.stage-detail-description-wrap .formatted-textarea-editor{overflow-y:auto;white-space:pre-wrap;word-break:break-word;cursor:text}.stage-detail-description-wrap textarea:focus,.stage-detail-description-wrap .formatted-textarea-editor:focus{border-color:var(--accent)}.field .formatted-textarea textarea,.field .formatted-textarea-editor,.feedback-form .formatted-textarea textarea,.feedback-form .formatted-textarea-editor{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.9rem;resize:vertical;outline:none;line-height:1.5}.field .formatted-textarea-editor,.feedback-form .formatted-textarea-editor{overflow-y:auto;white-space:pre-wrap;word-break:break-word;cursor:text}.field .formatted-textarea textarea:focus,.field .formatted-textarea-editor:focus,.feedback-form .formatted-textarea textarea:focus,.feedback-form .formatted-textarea-editor:focus{border-color:var(--accent)}.simple-markdown{font-size:inherit;line-height:1.5}.simple-markdown p{margin:0 0 .5em}.simple-markdown p:last-child{margin-bottom:0}.simple-markdown ul,.simple-markdown ol{margin:.25em 0 .5em;padding-left:1.25em}.simple-markdown li{margin:.15em 0}.simple-markdown strong{font-weight:700}.simple-markdown em{font-style:italic}.simple-markdown u{text-decoration:underline}.simple-markdown code{padding:.1em .35em;border-radius:4px;background:color-mix(in srgb,var(--text) 8%,transparent);font-size:.92em}.simple-markdown img{display:block;max-width:100%;height:auto;margin:.5em 0;border-radius:calc(var(--radius) - 2px);border:1px solid var(--border)}.epic-color-picker{display:flex;align-items:center;gap:10px}.epic-color-swatches{display:flex;flex-wrap:wrap;gap:6px;flex:1}.epic-color-swatch{width:22px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:var(--epic-swatch-color);cursor:pointer;box-shadow:0 0 10px color-mix(in srgb,var(--epic-swatch-color) 45%,transparent)}.epic-color-swatch--active{outline:2px solid var(--text);outline-offset:2px}.epic-color-input{width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;background:transparent;cursor:pointer}.epic-issues-section{margin:10px 20px 20px;border:1px solid var(--border);border-radius:var(--radius);background:#0000001f;overflow:hidden}.epic-issues-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border)}.epic-issues-header h3{margin:0;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.epic-issues-header span{font-family:var(--mono);font-size:.72rem;color:var(--text-muted);background:#ffffff0f;border-radius:999px;padding:2px 8px}.epic-issues-empty{margin:0;padding:14px 12px;color:var(--text-muted);font-size:.85rem}.epic-issues-list{display:flex;flex-direction:column}.epic-issue-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.06);color:var(--text);cursor:pointer;font-family:var(--font);padding:10px 12px;text-align:left;transition:background .15s,border-color .15s}.epic-issue-row:last-child{border-bottom:none}.epic-issue-row:hover{background:#ffffff0a}.epic-issue-row--done .epic-issue-title{color:var(--text-muted);text-decoration:line-through}.epic-issue-id{color:var(--text-muted);font-family:var(--mono);font-size:.72rem}.epic-issue-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.epic-issue-status{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.epic-issue-status-dot{width:6px;height:6px;border-radius:50%;background:var(--issue-status-color, var(--accent))}.epic-issue-due{color:var(--text-muted);font-family:var(--mono);font-size:.72rem;white-space:nowrap}.modal-info{display:flex;gap:16px;padding:0 20px 8px;font-size:.75rem;color:var(--text-muted);font-family:var(--mono)}.modal-actions{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--border)}.modal-actions-right{display:flex;gap:8px;margin-left:auto}.modal-back-btn{background:none;border:none;color:var(--accent);font-family:var(--font);font-size:.85rem;cursor:pointer;padding:4px 0;transition:opacity .15s}.modal-back-btn:hover{opacity:.8}.subtasks-section{padding-top:12px;border-top:1px solid var(--border)}.subtasks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.subtasks-header label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.subtasks-count{font-size:.7rem;font-family:var(--mono);color:var(--text-muted)}.subtasks-progress{margin-bottom:12px}.subtasks-progress-bar{height:5px;background:#ffffff14;border-radius:3px;overflow:hidden}.subtasks-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#10b981);border-radius:3px;transition:width .25s ease}.subtasks-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:4px}.subtasks-list li{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--radius);background:#ffffff08;border:1px solid rgba(255,255,255,.06);transition:background .15s}.subtasks-list li:hover{background:#ffffff0f}.subtasks-list li.completed .subtask-title{text-decoration:line-through;color:var(--text-muted)}.subtask-check{position:relative;display:flex;align-items:center;cursor:pointer;flex-shrink:0;margin-top:2px}.subtask-check input{position:absolute;opacity:0;width:0;height:0}.subtask-checkmark{width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-radius:5px;display:flex;align-items:center;justify-content:center;transition:all .15s}.subtask-check input:checked+.subtask-checkmark{background:var(--accent);border-color:var(--accent)}.subtask-check input:checked+.subtask-checkmark:after{content:"✓";font-size:.65rem;color:#fff;font-weight:700}.subtask-open{flex:1;background:none;border:none;color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;padding:0;min-width:0}.subtask-title{display:block;font-size:.9rem;font-weight:500;line-height:1.3}.subtask-preview{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px;line-height:1.3}.subtask-add{display:flex;gap:8px}.subtask-add input{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font);font-size:.85rem;padding:8px 12px;outline:none}.subtask-add input:focus{border-color:var(--accent)}.subtask-add .btn-secondary{flex-shrink:0}@media(max-width:900px){.garden-hud-label{display:none}.kanban-column{min-width:200px}}@media(max-width:640px){.garden-hud{display:none}}.reward-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:200;overflow:hidden;overscroll-behavior:contain;contain:layout paint;animation:fade-in .3s ease}.status-toast-stack{position:fixed;left:18px;bottom:18px;z-index:240;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}.status-toast{max-width:min(360px,calc(100vw - 36px));padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#080c16f0;color:var(--text);font-size:.86rem;line-height:1.35;box-shadow:0 16px 48px #0000005c,0 0 0 1px #6366f114;animation:status-toast-in .18s ease-out,status-toast-out .22s ease-in 2.35s forwards}@keyframes status-toast-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes status-toast-out{to{opacity:0;transform:translateY(8px) scale(.98)}}.reward-popup{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;max-width:560px;max-height:min(90dvh,720px);width:90%;text-align:center;position:relative;overflow:hidden;animation:reward-pop .5s cubic-bezier(.18,.67,.6,1.22)}@keyframes reward-pop{0%{opacity:0;transform:scale(.5) rotate(-5deg)}60%{transform:scale(1.05) rotate(1deg)}to{opacity:1;transform:scale(1) rotate(0)}}.reward-confetti{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,rgba(99,102,241,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(244,114,182,.3) 0%,transparent 50%),radial-gradient(circle at 50% 80%,rgba(74,222,128,.3) 0%,transparent 50%);animation:confetti-shift 3s ease infinite;pointer-events:none}@keyframes confetti-shift{0%,to{opacity:.6}50%{opacity:1}}.reward-title{font-size:2rem;font-weight:700;margin-bottom:8px;position:relative}.reward-subtitle{color:var(--text-muted);margin-bottom:20px;position:relative}.reward-image-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:2px solid var(--border);margin-bottom:20px;max-height:400px}.reward-image{width:100%;max-height:400px;object-fit:contain;display:block;background:var(--bg-deep)}.reward-no-image{color:var(--text-muted);margin-bottom:20px;padding:24px;border:1px dashed var(--border);border-radius:var(--radius-lg);position:relative}.reward-close{background:linear-gradient(135deg,var(--success),#34d399);color:#fff;border:none;padding:12px 32px;border-radius:10px;font-family:var(--font);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;position:relative;box-shadow:0 4px 20px #10b9814d}.reward-close:hover{transform:translateY(-2px);box-shadow:0 6px 28px #10b98166}.project-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .25s ease}.project-overlay-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 60% at 30% 20%,rgba(99,102,241,.25),transparent),radial-gradient(ellipse 60% 50% at 80% 80%,rgba(6,182,212,.15),transparent),#04070feb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.project-switcher{position:relative;width:100%;max-width:920px;max-height:90vh;overflow-y:auto;background:#0c101cd9;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px;box-shadow:0 32px 80px #0009,0 0 0 1px #6366f11a;animation:project-switcher-in .35s cubic-bezier(.18,.67,.6,1.22)}@keyframes project-switcher-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.project-switcher-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.project-switcher-eyebrow{font-size:.75rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:6px}.project-switcher-header h2{font-size:2rem;font-weight:700;letter-spacing:-.03em}.project-switcher-close{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);width:40px;height:40px;border-radius:10px;cursor:pointer;font-size:1rem;transition:all .2s}.project-switcher-close:hover{color:var(--text);background:#ffffff1a}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.project-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;transition:all .25s;display:flex;flex-direction:column}.project-card:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.project-card--active{border-color:var(--project-accent, var(--accent));box-shadow:0 0 24px color-mix(in srgb,var(--project-accent, var(--accent)) 35%,transparent)}.project-card-main{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;background:none;border:none;color:var(--text);font-family:var(--font);text-align:left;cursor:pointer;width:100%}.project-card-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--project-accent, var(--accent)),color-mix(in srgb,var(--project-accent, var(--accent)) 60%,#000));display:flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;margin-bottom:4px}.project-card-name{font-size:1.15rem;font-weight:600}.project-card-stats{font-size:.75rem;color:var(--text-muted);font-family:var(--mono)}.project-card-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--project-accent, var(--accent));background:color-mix(in srgb,var(--project-accent, var(--accent)) 15%,transparent);padding:3px 8px;border-radius:6px;margin-top:4px}.project-card-actions{display:flex;gap:8px;padding:0 12px 12px}.project-card-actions button{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);font-family:var(--font);font-size:.7rem;padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .15s}.project-card-actions button:hover{color:var(--text);background:#ffffff1a}.project-card-actions button.danger:hover{color:var(--danger);border-color:#ef44444d}.project-card-rename{width:100%;margin:16px;width:calc(100% - 32px);background:#0000004d;border:1px solid var(--accent);border-radius:8px;color:var(--text);font-family:var(--font);font-size:1rem;padding:10px 12px;outline:none}.project-card--new{padding:20px;align-items:center;justify-content:center;gap:12px;border-style:dashed;min-height:160px}.project-add-card{min-height:160px;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-lg);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--text-muted);font-family:var(--font);transition:all .2s}.project-add-card:hover{border-color:#6366f173;background:#ffffff08;color:var(--text);transform:translateY(-2px)}.project-add-card-icon{font-size:1.75rem;line-height:1;font-weight:300}.project-add-card-label{font-size:.82rem;font-weight:500}.project-card-new-icon{font-size:2rem;color:var(--accent);line-height:1}.project-card-code{display:inline-block;margin-top:2px;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--text-muted);text-transform:none}.project-card-new-field{display:flex;flex-direction:column;gap:6px;width:100%}.project-card-new-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.project-card-new-code{font-family:var(--mono);letter-spacing:.08em;text-transform:none}.project-card-new-error{width:100%;margin:0;font-size:.8rem;color:#f87171;line-height:1.4}.project-card-new-input{width:100%;background:#00000040;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.9rem;padding:10px 12px;outline:none;text-align:center}.project-card-new-input:focus{border-color:var(--accent)}.project-card-new-btn{width:100%}.project-modal{max-width:720px}.project-modal-form{padding:20px}.project-modal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.project-modal-column{display:flex;flex-direction:column;gap:18px;min-width:0}.project-modal-preview{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:#ffffff05}.project-modal-preview-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--project-accent, var(--accent)),color-mix(in srgb,var(--project-accent, var(--accent)) 60%,#000));display:flex;align-items:center;justify-content:center;font-size:1.75rem;line-height:1}.project-modal-preview-name{font-size:1.1rem;font-weight:600}.project-modal-preview-code{font-family:var(--mono);font-size:.75rem;color:var(--text-muted);letter-spacing:.04em}.project-modal-fields{display:flex;flex-direction:column;gap:18px}@media(max-width:640px){.project-modal{max-width:480px}.project-modal-grid{grid-template-columns:1fr}}.project-modal-field{display:flex;flex-direction:column;gap:8px}.project-modal-field>span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.project-modal-field input{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.9rem;padding:10px 12px;outline:none}.project-modal-field input:focus{border-color:var(--accent)}.project-modal-select{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.9rem;padding:10px 12px;outline:none;cursor:pointer}.project-modal-select:focus{border-color:var(--accent)}.project-modal-code-input{font-family:var(--mono);letter-spacing:.06em}.project-modal-type{width:100%}.project-color-picker{display:flex;flex-wrap:wrap;gap:8px}.project-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;background:var(--swatch-color);cursor:pointer;padding:0;transition:transform .15s,box-shadow .15s}.project-color-swatch:hover{transform:scale(1.08)}.project-color-swatch.is-selected{border-color:#fff;box-shadow:0 0 0 2px var(--swatch-color)}.project-icon-picker{display:flex;flex-wrap:wrap;gap:6px}.project-icon-option{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;font-size:1.15rem;line-height:1;cursor:pointer;padding:0;transition:all .15s}.project-icon-option:hover{background:#ffffff14}.project-icon-option.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.project-modal-error{margin:16px 0 0;font-size:.82rem;color:#f87171}.project-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.settings-panel{position:relative;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:#0c101cd9;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px;box-shadow:0 32px 80px #0009,0 0 0 1px #6366f11a;animation:project-switcher-in .35s cubic-bezier(.18,.67,.6,1.22)}.settings-sections{display:flex;flex-direction:column;gap:20px}.settings-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:18px 20px}.settings-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:14px}.settings-section-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:12px}.settings-hint{font-size:.75rem;color:var(--text-muted);margin-top:10px;font-family:var(--mono)}.settings-profile{display:flex;align-items:center;gap:16px}.settings-profile-preview img,.settings-profile-fallback{width:72px;height:72px;border-radius:50%;object-fit:cover}.settings-profile-fallback{display:flex;align-items:center;justify-content:center;font-size:1.5rem}.settings-profile-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.settings-profile-name{font-size:1rem;font-weight:600;margin-bottom:4px}.settings-btn-muted{opacity:.85}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;cursor:pointer}.settings-toggle-row+.settings-toggle-row{border-top:1px solid rgba(255,255,255,.06)}.settings-toggle-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-toggle-label{font-size:.9rem;font-weight:500}.settings-toggle-desc{font-size:.75rem;color:var(--text-muted);line-height:1.35}.settings-switch{flex-shrink:0;width:44px;height:24px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;padding:2px;cursor:pointer;transition:background .2s,border-color .2s}.settings-switch--on{background:var(--accent);border-color:var(--accent)}.settings-switch-thumb{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 4px #00000040}.settings-switch--on .settings-switch-thumb{transform:translate(20px)}.settings-segmented{display:flex;gap:6px;background:var(--bg-card);padding:4px;border-radius:10px;border:1px solid var(--border)}.settings-segmented button{flex:1;background:none;border:none;color:var(--text-muted);font-family:var(--font);font-size:.85rem;font-weight:500;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s}.settings-segmented button:hover{color:var(--text)}.settings-segmented button.active{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6366f133;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6366f166}.dashboard{height:100%;display:flex;flex-direction:column;padding-top:12px;overflow:hidden}.dashboard-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:16px;min-height:0}.dashboard-feed{display:flex;flex-direction:column;min-height:0;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:16px}.dashboard-feed-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem;text-align:center;padding:32px}.dashboard-feed-list{list-style:none;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;margin-top:12px;padding-right:4px}.dashboard-feed-item{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:12px 10px;background:none;border:none;border-radius:var(--radius);color:inherit;cursor:pointer;transition:background .15s}.dashboard-feed-item:hover{background:#ffffff0a}.dashboard-feed-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.85rem;background:#ffffff0f;color:var(--text-muted)}.dashboard-feed-icon--completed{background:#10b98126;color:var(--success)}.dashboard-feed-icon--created{background:#6366f126;color:var(--accent)}.dashboard-feed-icon--moved{background:#06b6d426;color:#06b6d4}.dashboard-feed-body{flex:1;min-width:0}.dashboard-feed-body p{font-size:.88rem;line-height:1.4;color:var(--text-muted)}.dashboard-feed-body strong{color:var(--text);font-weight:600}.dashboard-feed-task{display:block;margin-top:2px;font-size:.92rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-feed-time{flex-shrink:0;font-size:.75rem;color:var(--text-muted);font-family:var(--mono)}.dashboard-sidebar{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:4px}.dash-panel-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px}.dash-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:16px}.dash-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-stat-card{background:#0000002e;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:14px 16px;box-shadow:inset 0 1px #ffffff0a}.dash-stat-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px}.dash-stat-value{display:block;font-size:1.75rem;font-weight:700;line-height:1.1;color:var(--dash-accent, var(--text))}.dash-panel--ring{display:flex;align-items:center;gap:16px}.dash-ring-wrap{position:relative;width:96px;height:96px;flex-shrink:0}.dash-ring{width:100%;height:100%;transform:rotate(-90deg)}.dash-ring-bg{fill:none;stroke:#ffffff14;stroke-width:8}.dash-ring-fg{fill:none;stroke:var(--success);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.dash-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.dash-ring-value{font-size:1.1rem;font-weight:700}.dash-ring-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.dash-ring-meta{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-muted)}.dash-ring-today{color:var(--accent);font-size:.8rem}.dash-status-bars{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.dash-status-row{display:grid;grid-template-columns:72px 1fr 24px;align-items:center;gap:8px}.dash-status-label{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-status-track{height:8px;background:#ffffff0f;border-radius:var(--radius);overflow:hidden}.dash-status-fill{height:100%;border-radius:var(--radius);min-width:4px;transition:width .3s ease}.dash-status-count{font-size:.78rem;font-family:var(--mono);color:var(--text-muted);text-align:right}.dash-stacked-bar{display:flex;height:8px;border-radius:var(--radius);overflow:hidden;background:#ffffff0f}.dash-stacked-segment{min-width:2px}.dash-muted{font-size:.85rem;color:var(--text-muted)}.dash-due-list{list-style:none;display:flex;flex-direction:column;gap:6px}.dash-due-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;background:#0000002e;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:inherit;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.dash-due-item:hover{border-color:#ffffff29;background:#00000047}.dash-due-item--overdue{border-left:2px solid var(--danger)}.dash-due-title{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-due-date{font-size:.75rem;color:var(--text-muted);font-family:var(--mono);flex-shrink:0}.dash-garden-bar{height:8px;background:#ffffff14;border-radius:var(--radius);overflow:hidden;margin-bottom:8px}.dash-garden-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:var(--radius);transition:width .3s ease}@media(max-width:960px){.dashboard-grid{grid-template-columns:1fr;overflow-y:auto}.dashboard-feed{min-height:320px}}.backlog{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:12px 4px 0 0;-webkit-overflow-scrolling:touch}.backlog-panel{margin-bottom:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden}.backlog-panel:last-child{margin-bottom:0}.backlog-panel--dashed{border-style:dashed;border-color:#ffffff1f}.backlog-panel-header{display:flex;align-items:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.backlog-panel-dot{width:8px;height:8px;border-radius:50%;background:var(--group-color, var(--accent));flex-shrink:0}.backlog-panel-header--clickable{cursor:pointer;transition:background .12s}.backlog-panel-header--clickable:hover{background:#ffffff0a}.backlog-panel-heading{flex:1;min-width:0}.backlog-panel-header h3{margin:0;font-size:.9rem;font-weight:600;letter-spacing:-.01em}.backlog-panel-dates{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:.72rem;font-family:var(--mono);color:var(--text-muted)}.backlog-panel-progress{display:flex;align-items:center;gap:8px;margin-top:6px;max-width:240px}.backlog-panel-progress-bar{flex:1;height:5px;border-radius:999px;background:#ffffff14;overflow:hidden}.backlog-panel-progress-fill{height:100%;min-width:0;border-radius:999px;background:var(--group-color, var(--accent));transition:width .25s ease}.backlog-panel-progress span{flex-shrink:0;color:var(--text-muted);font-family:var(--mono);font-size:.7rem}.backlog-panel-dates .due-today{color:var(--warning)}.backlog-panel-dates .due-overdue{color:var(--danger)}.backlog-panel-count{margin-left:auto;font-size:.75rem;color:var(--text-muted);font-family:var(--mono)}.backlog-panel-empty{margin:0;padding:12px 14px;font-size:.82rem;color:var(--text-muted)}.backlog-panel-list{display:flex;flex-direction:column}.backlog-panel-list .backlog-row:last-child{border-bottom:none}.resources-tag-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.resources-tag-action{padding:0;border:none;background:none;color:var(--text-muted);font-family:var(--font);font-size:.75rem;cursor:pointer}.resources-tag-action:hover{color:var(--text)}.resources-tag-action--danger:hover{color:var(--danger)}.resources-tag-rename{width:100%;max-width:280px;padding:4px 8px;border:1px solid var(--border-hover);border-radius:6px;background:var(--bg-card);color:var(--text);font:inherit;font-weight:700}.resources-link-list{display:flex;flex-direction:column}.resources-link-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;padding:10px 14px;border:none;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .12s}.resources-link-row:hover{background:#ffffff0a}.resources-link-row:last-child{border-bottom:none}.resources-link-main{min-width:0;flex:1}.resources-link-title{display:inline-block;font-weight:600;color:var(--accent);text-decoration:none}.resources-link-title:hover{text-decoration:underline}.resources-link-description{margin-top:4px;font-size:.85rem;color:var(--text-muted);line-height:1.45;white-space:pre-wrap}.resources-link-open{flex-shrink:0;color:var(--text-muted);font-size:.85rem}.resource-link-modal{width:min(480px,calc(100vw - 32px))}.resource-link-form{display:flex;flex-direction:column;gap:14px;padding:0 20px 20px}.resource-link-form .field{display:flex;flex-direction:column;gap:6px}.resource-link-form .field span{font-size:.8rem;color:var(--text-muted)}.resource-link-form input,.resource-link-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font)}.resource-link-form textarea{resize:vertical;min-height:96px}.backlog-row{display:flex;align-items:center;gap:12px;width:100%;min-height:36px;padding:8px 14px;border:none;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .12s}.backlog-row:hover{background:#ffffff0a}.backlog-row--done{opacity:.65}.backlog-row-id{flex-shrink:0;font-family:var(--mono);font-size:.72rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em;min-width:52px}.backlog-row-title{flex:1;min-width:0;font-size:.88rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backlog-row-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.backlog-row-tag{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:500;color:var(--text-muted);white-space:nowrap}.backlog-row-tag--status{text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.backlog-row-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--tag-color, var(--accent));flex-shrink:0}.backlog-row-tag--epic{color:var(--tag-color, var(--text-muted));max-width:120px;overflow:hidden;text-overflow:ellipsis}.backlog-row-priority{font-size:.88rem;padding:1px 2px}.backlog-row-assignee{display:flex;align-items:center}.backlog-row-due{font-size:.72rem;font-family:var(--mono);color:var(--text-muted);white-space:nowrap}.backlog-row-due.due-today{color:var(--warning)}.backlog-row-due.due-overdue{color:var(--danger)}.backlog-quick-add{border-top:1px dashed rgba(255,255,255,.1)}.backlog-quick-add input{width:100%;background:transparent;border:none;border-radius:0;color:var(--text);font-family:var(--font);font-size:.85rem;padding:10px 14px;outline:none}.backlog-quick-add input::placeholder{color:var(--text-muted)}.backlog-quick-add input:focus{background:#ffffff08}.backlog-empty{text-align:center;color:var(--text-muted);font-size:.9rem;padding:32px 16px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(99,102,241,.15),transparent),var(--bg)}.auth-card{width:min(420px,100%);padding:32px 28px;border-radius:16px;border:1px solid var(--border);background:#121218eb;box-shadow:0 24px 80px #00000073}.auth-card--loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted)}.auth-spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-brand{text-align:center;margin-bottom:24px}.auth-brand-icon{display:inline-block;font-size:2rem;color:var(--accent);margin-bottom:8px}.auth-brand h1{margin:0;font-size:1.75rem}.auth-tagline{margin:6px 0 0;color:var(--text-muted);font-size:.9rem}.auth-message{margin:0 0 20px;color:var(--text-muted);line-height:1.5;font-size:.92rem}.auth-message code,.auth-checklist code{font-size:.85em;color:var(--text)}.auth-checklist{margin:0;padding-left:1.2rem;color:var(--text-muted);font-size:.88rem;line-height:1.6}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:10px;border:1px solid var(--border);background:#fff;color:#1f1f1f;font-family:var(--font);font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.auth-google-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00000040}.auth-google-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff;font-weight:700;font-size:.85rem}.auth-error{margin-top:16px;padding:12px;border-radius:8px;background:#ef44441f;border:1px solid rgba(239,68,68,.35);font-size:.88rem}.auth-error p{margin:0 0 8px}.auth-error-dismiss{background:none;border:none;color:var(--accent);cursor:pointer;font-family:var(--font);font-size:.85rem;padding:0}.auth-footnote{margin:16px 0 0;text-align:center;font-size:.8rem;color:var(--text-muted)}.auth-portal-divider{margin:18px auto 0;width:100%;border-top:1px solid var(--border)}.auth-portal-link{margin:14px 0 0;text-align:center;font-size:.8rem;color:var(--text-muted)}.auth-portal-link a{color:var(--accent);text-decoration:none;font-weight:600}.auth-portal-link a:hover{text-decoration:underline}.profile-menu-badge{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#6366f133;color:#a5b4fc;border:1px solid rgba(99,102,241,.35)}.profile-menu-user span{display:block}.profile-menu-user strong+.profile-menu-badge{margin-top:2px;margin-bottom:2px}.profile-menu-project{margin-top:4px;font-size:.78rem;color:var(--text-muted)}.profile-menu-item--danger{color:#f87171}.settings-profile-email{margin:2px 0 8px;font-size:.82rem;color:var(--text-muted)}.settings-profile-actions .profile-menu-badge{margin-bottom:8px}.settings-section-desc{margin:0 0 14px;font-size:.85rem;color:var(--text-muted);line-height:1.5}.settings-section-desc code{font-size:.82em}.settings-data-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.allowed-users-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.allowed-users-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:#ffffff05;font-size:.88rem}.allowed-users-item>span{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.allowed-users-badge{margin:0}.allowed-users-source{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.allowed-users-remove{background:none;border:none;color:#f87171;cursor:pointer;font-family:var(--font);font-size:.82rem}.allowed-users-form{display:flex;gap:8px}.allowed-users-form input{flex:1;min-width:0;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-family:var(--font)}.allowed-users-add{padding:10px 14px;border-radius:8px;border:1px solid var(--accent);background:#6366f126;color:var(--text);font-family:var(--font);cursor:pointer;white-space:nowrap}.allowed-users-error{margin:10px 0 0;color:#f87171;font-size:.85rem}.allowed-users-notice{margin:10px 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.45}.project-empty-state{max-width:520px;margin:48px auto;padding:32px 28px;text-align:center;background:var(--surface-elevated);border:1px solid var(--border);border-radius:16px}.project-empty-state h2{margin:0 0 12px;font-size:1.35rem}.project-empty-state p{margin:0;color:var(--text-muted);line-height:1.5}.projects-home{display:flex;justify-content:center;align-items:flex-start;min-height:min(70vh,640px);padding:48px 24px 64px}.projects-home-card{width:min(100%,560px);padding:36px 32px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 48px #0000002e}.projects-home-eyebrow{margin:0 0 8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.projects-home-card h2{margin:0 0 12px;font-size:1.6rem}.projects-home-desc{margin:0;color:var(--text-muted);line-height:1.55}.projects-home-admin-btn{margin-top:20px;padding:10px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer}.projects-home-admin-btn:hover{border-color:var(--project-accent, var(--accent))}.project-access-select{min-width:min(100%,320px);flex:1}.management-section{max-width:820px;margin:0 auto;padding:28px 24px 48px;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.management-header{margin-bottom:24px}.management-eyebrow{margin:0 0 6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.management-header h2{margin:0 0 10px;font-size:1.75rem}.management-desc{margin:0;color:var(--text-muted);line-height:1.55;max-width:62ch}.management-card{padding:20px;border-radius:14px;border:1px solid var(--border);background:#ffffff05;margin-bottom:20px}.management-card-title{margin:0 0 16px;font-size:1rem}.management-tabs{display:inline-flex;gap:4px;padding:4px;margin:0 0 16px;border:1px solid var(--border);border-radius:10px;background:#ffffff08}.management-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:.86rem}.management-tab.is-active{background:#6366f129;color:var(--text)}.management-tab-count{min-width:18px;padding:1px 6px;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:.68rem}.management-user-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px;max-height:min(52vh,520px);overflow-y:auto;-webkit-overflow-scrolling:touch}.management-user-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card)}.management-user-main{display:flex;align-items:center;gap:12px;min-width:0}.management-user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.management-user-avatar--fallback{display:inline-flex;align-items:center;justify-content:center;background:#6366f133;color:var(--text);font-weight:600}.management-user-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.management-user-copy strong{font-size:.95rem}.management-user-email{font-size:.82rem;color:var(--text-muted);word-break:break-all}.management-user-pending{font-size:.75rem;color:var(--text-muted);font-style:italic}.management-user-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.management-role-select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:var(--font);font-size:.85rem}.management-user-source{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.management-user-remove{background:none;border:none;color:#f87171;cursor:pointer;font-family:var(--font);font-size:.82rem}.management-add-form{display:flex;gap:8px;flex-wrap:wrap}.management-add-form input,.management-add-form select{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-family:var(--font)}.management-email-field{display:flex;align-items:center;flex:1 1 220px;min-width:0;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);overflow:hidden}.management-email-field input{flex:1;min-width:0;border:none;background:transparent;padding:10px 12px;border-radius:0}.management-email-field input:focus{outline:none}.management-email-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px #6366f159}.management-email-domain{padding:0 12px 0 0;font-size:.88rem;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.management-add-form input{flex:1 1 220px;min-width:0}.management-add-btn{padding:10px 14px;border-radius:8px;border:1px solid var(--accent);background:#6366f126;color:var(--text);font-family:var(--font);cursor:pointer;white-space:nowrap}.management-message{margin:12px 0 0;color:var(--text-muted);font-size:.85rem;line-height:1.45}.management-message--error{color:#f87171}.management-empty{margin:0;color:var(--text-muted);font-size:.9rem}.feedback-admin-list{display:flex;flex-direction:column;gap:10px}.feedback-admin-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.feedback-admin-item--done{opacity:.68}.feedback-admin-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.feedback-admin-copy p{margin:0;line-height:1.45}.feedback-admin-copy span{color:var(--text-muted);font-size:.78rem;line-height:1.35}.management-roles-help{padding:16px 18px;border-radius:12px;border:1px solid var(--border);background:#ffffff05}.management-roles-help h3{margin:0 0 12px;font-size:.95rem}.management-roles-help dl{margin:0;display:grid;gap:10px}.management-roles-help dt{font-weight:600;font-size:.88rem}.management-roles-help dd{margin:2px 0 0;color:var(--text-muted);font-size:.84rem}.role-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.role-badge--superadmin{background:#fbbf242e;color:#fbbf24}.role-badge--manager{background:#6366f12e;color:#a5b4fc}.role-badge--user{background:#94a3b826;color:#94a3b8}.feedback-modal{width:min(520px,calc(100vw - 32px));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:0 24px 80px #00000080;overflow:hidden}.feedback-form{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px}.feedback-form label{color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.feedback-form textarea{width:100%;resize:vertical;min-height:140px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.95rem;line-height:1.5;outline:none;padding:12px}.feedback-form textarea:focus{border-color:var(--accent)}.feedback-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.profile-menu-badge--superadmin{background:#fbbf242e;color:#fbbf24}.profile-menu-badge--manager{background:#6366f12e;color:#a5b4fc}.profile-menu-badge--user{background:#94a3b826;color:#94a3b8}.task-comments{margin:0;padding-top:16px;border-top:1px solid var(--border)}.task-comments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.task-comments-header label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.task-comments-count{font-size:.7rem;font-family:var(--mono);color:var(--text-muted)}.task-comments-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:14px}.task-comment-item{display:flex;gap:10px;align-items:flex-start}.task-comment-content{min-width:0;flex:1}.task-comment-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;flex-wrap:wrap}.task-comment-meta strong{font-size:.85rem}.task-comment-meta span{font-size:.75rem;color:var(--text-muted)}.task-comment-edited{font-style:italic}.task-comment-edit-btn{margin-left:auto;padding:0;border:none;background:none;color:var(--text-muted);font-family:var(--font);font-size:.75rem;cursor:pointer}.task-comment-edit-btn:hover{color:var(--text)}.task-comment-edit{display:flex;flex-direction:column;gap:8px}.task-comment-edit-actions{display:flex;justify-content:flex-end;gap:8px}.task-comment-body{margin:0;font-size:.88rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.task-comment-mention{color:var(--accent);font-weight:600}.task-comment-form{display:flex;flex-direction:column;gap:8px}.task-comment-compose{position:relative}.task-comment-compose textarea{width:100%;min-height:84px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:.88rem;padding:10px 12px;resize:vertical;outline:none;line-height:1.5}.task-comment-compose textarea:focus{border-color:var(--accent)}.task-mention-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);margin:0;padding:4px;list-style:none;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 40px #00000073;max-height:180px;overflow-y:auto;z-index:20}.task-mention-option{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:8px 10px;font-family:var(--font);font-size:.85rem;color:var(--text);cursor:pointer}.task-mention-option:hover,.task-mention-option.is-active{background:var(--bg-hover)}.task-comment-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-comment-hint{font-size:.75rem;color:var(--text-muted)}.notifications-inbox{position:relative}.notifications-inbox-trigger{position:relative;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:opacity .2s,background .2s,border-color .2s,box-shadow .2s}.notifications-inbox-trigger.is-empty{width:32px;height:32px;border-radius:8px;background:transparent;opacity:.42;color:var(--text-muted)}.notifications-inbox-trigger.is-empty:hover,.notifications-inbox-trigger.is-empty.is-open{opacity:.72;background:#ffffff0a;color:var(--text)}.notifications-inbox-trigger.has-unread{width:36px;height:36px;border-radius:50%;border:1px solid rgba(99,102,241,.35);background:#6366f11f;color:var(--text);opacity:1;box-shadow:0 0 0 1px #6366f114}.notifications-inbox-trigger.has-unread:hover,.notifications-inbox-trigger.has-unread.is-open{border-color:#6366f18c;background:#6366f12e;box-shadow:0 0 16px #6366f12e}.notifications-inbox-icon{width:18px;height:18px;flex-shrink:0}.notifications-inbox-trigger.is-empty .notifications-inbox-icon{width:17px;height:17px}.notifications-inbox-badge{position:absolute;top:-2px;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--bg-panel);box-shadow:0 1px 4px #00000059}.notifications-inbox-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 24px));background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 48px #00000080;z-index:300;overflow:hidden}.notifications-inbox-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.notifications-inbox-mark-all{background:none;border:none;color:var(--accent);font-family:var(--font);font-size:.75rem;cursor:pointer;padding:0}.notifications-inbox-empty{margin:0;padding:20px 14px;color:var(--text-muted);font-size:.85rem}.notifications-inbox-list{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto}.notifications-inbox-item{display:flex;gap:10px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.04);padding:12px 14px;cursor:pointer;font-family:var(--font);color:var(--text);transition:background .15s}.notifications-inbox-item:hover{background:var(--bg-hover)}.notifications-inbox-item.is-unread{background:#6366f114}.notifications-inbox-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.notifications-inbox-title{font-size:.85rem;line-height:1.35}.notifications-inbox-issue{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-inbox-preview{font-size:.78rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.roadmap-section{display:flex;flex-direction:column;gap:16px;min-height:0;flex:1}.roadmap-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.roadmap-title{font-size:1.25rem;font-weight:600;margin:0 0 4px}.roadmap-subtitle{margin:0;font-size:.82rem;color:var(--text-muted);max-width:520px}.roadmap-add-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font);font-size:.85rem;font-weight:500;padding:8px 14px;white-space:nowrap}.roadmap-add-btn:hover{background:#ffffff1a;border-color:#fff3}.roadmap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;color:var(--text-muted)}.roadmap-body{display:flex;min-height:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow-x:hidden;overflow-y:auto;background:#00000026}.roadmap-labels-col{flex-shrink:0;border-right:1px solid rgba(255,255,255,.08);background:#0003}.roadmap-labels-spacer{height:56px;border-bottom:1px solid rgba(255,255,255,.06)}.roadmap-group-header{display:flex;align-items:center;padding:0 12px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.06)}.roadmap-group-header--stage{color:#94a3b8;background:#94a3b814}.roadmap-group-header--epic{color:var(--accent);background:#6366f114}.roadmap-group-header--release{color:#10b981;background:#10b98114}.roadmap-group-track{position:relative;border-bottom:1px solid rgba(255,255,255,.06)}.roadmap-group-track--stage{background:#94a3b80f}.roadmap-group-track--epic{background:#6366f10f}.roadmap-group-track--release{background:#10b9810f}.roadmap-label{display:flex;align-items:center;gap:6px;padding:0 8px 0 4px;border-bottom:1px solid rgba(255,255,255,.05);border-left:3px solid var(--epic-color, var(--accent));transition:background .2s,box-shadow .2s}.roadmap-label:hover{background:#ffffff0a}.roadmap-label--dragging{opacity:.65;z-index:2}.roadmap-label--stage{border-left-color:var(--stage-status-color, #94a3b8);padding-left:8px}.roadmap-label--epic{border-left-color:var(--epic-color, var(--accent))}.roadmap-label--release{border-left-color:var(--release-status-color, #10b981);padding-left:8px}.roadmap-label-kind{flex-shrink:0;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:#ffffff0f;border-radius:4px;padding:2px 5px}.roadmap-label--stage .roadmap-label-kind{color:#94a3b8;background:#94a3b81f}.roadmap-label--epic .roadmap-label-kind{color:var(--accent);background:#6366f11f}.roadmap-label--release .roadmap-label-kind{color:#10b981;background:#10b9811f}.roadmap-label--unscheduled .roadmap-label-title{color:var(--text-muted)}.roadmap-grip{background:transparent;border:none;color:var(--text-muted);cursor:grab;font-size:.7rem;letter-spacing:-.12em;line-height:1;padding:4px 2px;touch-action:none}.roadmap-grip:active{cursor:grabbing}.roadmap-label-btn{display:flex;align-items:center;gap:8px;min-width:0;flex:1;background:transparent;border:none;color:var(--text);cursor:pointer;font-family:var(--font);font-size:.84rem;padding:6px 4px;text-align:left}.roadmap-label-btn:hover{color:var(--accent)}.roadmap-label-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.roadmap-label-dot--stage{border-radius:2px}.roadmap-label-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roadmap-label-count{flex-shrink:0;font-size:.72rem;color:var(--text-muted);background:#ffffff0f;border-radius:999px;padding:1px 6px}.roadmap-add-label{height:56px;display:flex;align-items:center;padding:0 12px;font-size:.75rem;color:var(--text-muted);border-top:1px dashed rgba(255,255,255,.08)}.roadmap-scroll{flex:1;overflow-x:auto;overflow-y:hidden;position:relative}.roadmap-canvas{position:relative;min-height:100%}.roadmap-ruler{position:sticky;top:0;z-index:3;background:#00000059;border-bottom:1px solid rgba(255,255,255,.08)}.roadmap-month{position:absolute;top:0;height:100%;display:flex;align-items:center;padding-left:8px;font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.roadmap-grid-lines{position:absolute;top:56px;right:0;bottom:0;left:0;pointer-events:none}.roadmap-grid-line{position:absolute;top:0;bottom:0;width:1px;background:#ffffff0a}.roadmap-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);opacity:.75;pointer-events:none;z-index:2}.roadmap-release-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.roadmap-track{position:relative;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s}.roadmap-track:has(.roadmap-bar:hover),.roadmap-track:has(.roadmap-bar--dragging){background:#6366f10f}.roadmap-track:not(:has(.roadmap-bar--draft)){cursor:default}.roadmap-track:has(.roadmap-bar--draft){cursor:crosshair}.roadmap-release-line{position:absolute;top:0;bottom:0;width:14px;transform:translate(calc(-50% + var(--drag-x, 0)));cursor:pointer;touch-action:none;pointer-events:auto;z-index:1}.roadmap-release-line-bar{position:absolute;top:0;bottom:0;left:50%;width:0;transform:translate(-50%);border-left:2px dotted var(--release-status-color, #10b981);opacity:.85;pointer-events:none}.roadmap-release-line-tooltip{position:absolute;top:10px;left:calc(50% + 10px);display:flex;flex-direction:column;gap:2px;max-width:180px;padding:6px 10px;border-radius:8px;background:#0f0f14f0;border:1px solid color-mix(in srgb,var(--release-status-color, #10b981) 40%,var(--border));box-shadow:0 4px 16px #00000059;opacity:0;transform:translateY(-2px);transition:opacity .15s ease,transform .15s ease;pointer-events:none;white-space:nowrap;z-index:4}.roadmap-release-line-tooltip-name{font-size:.8125rem;font-weight:600;color:var(--text)}.roadmap-release-line-tooltip-date{font-size:.75rem;color:var(--release-status-color, #10b981)}.roadmap-release-line--active .roadmap-release-line-bar{border-left-width:3px;opacity:1}.roadmap-release-line:hover .roadmap-release-line-bar,.roadmap-release-line--dragging .roadmap-release-line-bar{border-left-style:solid;opacity:1}.roadmap-release-line:hover .roadmap-release-line-tooltip,.roadmap-release-line--dragging .roadmap-release-line-tooltip{opacity:1;transform:translateY(0)}.roadmap-release-line--dragging{cursor:grabbing;z-index:3}.roadmap-bar{position:absolute;top:10px;height:36px;border-radius:var(--radius);display:flex;align-items:center;padding:0 12px 0 10px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:1;overflow:hidden;background:#0000002e;border:1px dashed rgba(255,255,255,.18);box-shadow:none;transform:translate(var(--drag-x, 0));transition:background .2s,border-color .2s,box-shadow .2s,transform .2s cubic-bezier(.18,.67,.6,1.22)}.roadmap-bar-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--epic-color, var(--accent));box-shadow:0 0 10px color-mix(in srgb,var(--epic-color, var(--accent)) 55%,transparent);pointer-events:none}.roadmap-bar--epic{border-style:solid;background:color-mix(in srgb,var(--epic-color, var(--accent)) 24%,rgba(0,0,0,.2));border-color:color-mix(in srgb,var(--epic-color, var(--accent)) 48%,transparent)}.roadmap-bar--epic:hover{border-color:color-mix(in srgb,var(--epic-color, var(--accent)) 68%,transparent);background:color-mix(in srgb,var(--epic-color, var(--accent)) 32%,rgba(0,0,0,.24));box-shadow:0 2px 12px #00000038,0 0 14px color-mix(in srgb,var(--epic-color, var(--accent)) 28%,transparent)}.roadmap-bar--stage{top:12px;height:32px;border-radius:4px;border-width:2px;border-style:solid;background:color-mix(in srgb,var(--stage-status-color, #94a3b8) 14%,rgba(0,0,0,.2));border-color:color-mix(in srgb,var(--stage-status-color, #94a3b8) 58%,transparent)}.roadmap-bar-stage-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent,transparent 4px,color-mix(in srgb,var(--stage-status-color, #94a3b8) 12%,transparent) 4px,color-mix(in srgb,var(--stage-status-color, #94a3b8) 12%,transparent) 8px);pointer-events:none;opacity:.65}.roadmap-bar--stage-active{box-shadow:0 0 0 1px color-mix(in srgb,var(--stage-status-color, #94a3b8) 35%,transparent)}.roadmap-bar--stage:hover{border-color:var(--stage-status-color, #94a3b8);background:color-mix(in srgb,var(--stage-status-color, #94a3b8) 20%,rgba(0,0,0,.22));box-shadow:0 2px 10px #0003}.roadmap-bar--stage .roadmap-bar-label{position:relative;z-index:1}.roadmap-bar:hover{border-color:#6366f173;background:#00000047;transform:translate(var(--drag-x, 0)) translateY(-1px);box-shadow:0 2px 12px #00000038,0 0 14px #6366f12e}.roadmap-bar--draft{opacity:.55;border-style:dashed;border-color:#fff3;background:#ffffff0a}.roadmap-bar--dragging{cursor:grabbing;opacity:1;z-index:4;border-style:solid;border-color:var(--accent);background:#00000052;box-shadow:0 12px 32px #6366f159,0 0 0 2px var(--accent),0 0 20px var(--accent-glow);transform:translate(var(--drag-x, 0)) translateY(-2px);transition:background .15s,border-color .15s,box-shadow .15s}.roadmap-bar--dragging:hover{transform:translate(var(--drag-x, 0)) translateY(-2px)}.roadmap-bar:active{cursor:grabbing}.roadmap-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;color:var(--text);flex:1;min-width:0;pointer-events:none;padding-left:6px}.roadmap-bar-handle{position:absolute;top:0;bottom:0;width:10px;cursor:ew-resize;background:transparent;opacity:0;transition:opacity .15s,background .15s;z-index:2}.roadmap-bar-handle:after{content:"";position:absolute;top:6px;bottom:6px;width:3px;border-radius:2px;background:#ffffff73}.roadmap-bar:hover .roadmap-bar-handle,.roadmap-bar--dragging .roadmap-bar-handle{opacity:1}.roadmap-bar-handle--start{left:0}.roadmap-bar-handle--start:after{left:5px}.roadmap-bar-handle--end{right:0}.roadmap-bar-handle--end:after{right:5px}.roadmap-bar-handle:hover:after{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.roadmap-add-track{border-top:1px dashed rgba(255,255,255,.1);cursor:crosshair;background:#ffffff05}.roadmap-add-track:hover{background:#ffffff0d}.roadmap-footer{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--text-muted);font-family:var(--mono)}.scheduling-section{display:flex;flex-direction:column;min-height:0;flex:1;height:100%}.scheduling-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;color:var(--text-muted)}.scheduling-body{display:flex;min-height:0;flex:1;overflow:hidden;background:#0000001f}.scheduling-labels-col{flex-shrink:0;width:220px;border-right:1px solid rgba(255,255,255,.08);background:#0003}.scheduling-labels-spacer{height:56px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:6px 10px}.scheduling-legend{display:flex;flex-direction:column;gap:3px}.scheduling-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.62rem;line-height:1.2;color:var(--text-muted);white-space:nowrap}.scheduling-legend-swatch{flex-shrink:0;width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.08)}.scheduling-legend-swatch--weekend{background:#94a3b847}.scheduling-legend-swatch--uk-bank-holiday{background:#f43f5e52}.scheduling-legend-swatch--cz-public-holiday{background:#2563eb52}.scheduling-person-label{display:flex;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.05)}.scheduling-person-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.scheduling-scroll{flex:1;overflow:auto;min-width:0}.scheduling-canvas{position:relative;min-height:100%}.scheduling-day-backgrounds{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.scheduling-day-bg{position:absolute;top:0;bottom:0;pointer-events:none}.scheduling-day-bg--weekend{background:#94a3b81a}.scheduling-day-bg--uk-bank-holiday{background:#f43f5e24}.scheduling-day-bg--cz-public-holiday{background:#2563eb24}.scheduling-day-tooltip{position:absolute;top:8px;z-index:5;transform:translate(-50%);max-width:240px;padding:6px 10px;border-radius:8px;background:#0f0f14f0;border:1px solid rgba(255,255,255,.12);box-shadow:0 4px 16px #00000059;font-size:.75rem;line-height:1.35;color:var(--text);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.scheduling-ruler,.scheduling-month{position:relative}.scheduling-ruler{position:sticky;top:0;z-index:3;border-bottom:1px solid rgba(255,255,255,.06);background:#00000059}.scheduling-month{position:absolute;top:0;height:56px;display:flex;align-items:center;padding-left:8px;font-size:.72rem;font-weight:600;color:var(--text-muted);pointer-events:none}.scheduling-grid-lines{position:absolute;top:56px;right:0;bottom:0;left:0;pointer-events:none}.scheduling-grid-line{position:absolute;top:0;bottom:0;width:1px;background:#ffffff0a}.scheduling-today-line{position:absolute;top:56px;bottom:0;width:2px;background:var(--accent);opacity:.75;pointer-events:none;z-index:2}.scheduling-track{position:relative;z-index:1;border-bottom:1px solid rgba(255,255,255,.05);cursor:crosshair;transition:background .2s}.scheduling-track:hover,.scheduling-track--preview{background:#6366f10f}.schedule-block{position:absolute;border-radius:8px;display:flex;align-items:center;padding:0 10px 0 8px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:1;overflow:hidden;background:color-mix(in srgb,var(--schedule-block-color, var(--accent)) 28%,rgba(0,0,0,.22));border:1px solid color-mix(in srgb,var(--schedule-block-color, var(--accent)) 50%,transparent);transform:translate(var(--drag-x, 0));transition:box-shadow .2s,transform .2s cubic-bezier(.18,.67,.6,1.22)}.schedule-block-accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--schedule-block-color, var(--accent));pointer-events:none}.schedule-block-label{position:relative;z-index:1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600}.schedule-block-project{position:relative;z-index:1;flex-shrink:0;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffffffd1;background:#00000038;border-radius:4px;padding:1px 5px;margin-right:6px}.schedule-block-days{position:relative;z-index:1;flex-shrink:0;font-size:.68rem;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:8px}.schedule-block:hover{box-shadow:0 2px 12px #00000038;transform:translate(var(--drag-x, 0)) translateY(-1px)}.schedule-block--dragging{cursor:grabbing;z-index:4;box-shadow:0 12px 32px #6366f159}.schedule-block--time-off{background:repeating-linear-gradient(-45deg,#fbbf242e,#fbbf242e 7px,#fbbf2414 7px,#fbbf2414 14px);border:1px dashed rgba(251,191,36,.65)}.schedule-block--time-off .schedule-block-accent{background:#fbbf24e6}.schedule-block--time-off .schedule-block-label{color:#fff7edf2}.schedule-block--time-off .schedule-block-days{color:#fff7edb8}.schedule-block-project--time-off{color:#fff7edf2;background:#78350f59}.schedule-block-handle{position:absolute;top:0;bottom:0;width:10px;opacity:0;transition:opacity .15s;z-index:2}.schedule-block-handle:after{content:"";position:absolute;top:6px;bottom:6px;width:3px;border-radius:2px;background:#ffffff73}.schedule-block:hover .schedule-block-handle,.schedule-block--dragging .schedule-block-handle{opacity:1}.schedule-block-handle--start{left:0}.schedule-block-handle--start:after{left:4px}.schedule-block-handle--end{right:0}.schedule-block-handle--end:after{right:4px}.schedule-block-modal-body{display:flex;flex-direction:column;gap:16px;padding:18px 20px}.schedule-block-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-block-modal-grid input[type=date],.schedule-block-modal-body input[type=text]{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.88rem}.schedule-block-modal-meta{margin:0;font-size:.82rem;color:var(--text-muted)}.schedule-block-open-task{align-self:flex-start}.schedule-block-modal-actions,.schedule-block-delete-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.calendar-section{display:flex;flex-direction:column;gap:16px;min-height:0;flex:1}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.calendar-toolbar-nav{display:flex;align-items:center;gap:6px}.calendar-nav-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font);font-size:1rem;line-height:1;min-width:36px;padding:8px 10px}.calendar-nav-btn:hover{background:#ffffff1a}.calendar-nav-btn--today{font-size:.82rem;font-weight:500;min-width:auto;padding:8px 12px}.calendar-month-label{margin:0;font-size:1.25rem;font-weight:600}.calendar-summary{font-size:.82rem;color:var(--text-muted);font-family:var(--mono)}.calendar-grid{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekday{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:0 8px}.calendar-days{flex:1;align-content:start}.calendar-day{display:flex;flex-direction:column;gap:8px;min-height:120px;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.calendar-day--other{opacity:.45}.calendar-day--today{border-color:#6366f18c;box-shadow:inset 0 0 0 1px #6366f140}.calendar-day-header{display:flex;justify-content:flex-end}.calendar-day-number{font-size:.82rem;font-weight:600;color:var(--text-muted);font-family:var(--mono)}.calendar-day--today .calendar-day-number{color:var(--accent)}.calendar-day-items{display:flex;flex-direction:column;gap:4px;min-height:0}.calendar-item{display:flex;align-items:center;gap:6px;width:100%;padding:4px 6px;border:none;border-radius:6px;background:#ffffff0d;color:var(--text);cursor:pointer;font-family:var(--font);font-size:.72rem;text-align:left}.calendar-item:hover{background:#ffffff1a}.calendar-item-dot{width:7px;height:7px;border-radius:50%;background:var(--item-color, var(--accent));flex-shrink:0}.calendar-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-item--epic-start,.calendar-item--epic-due{background:color-mix(in srgb,var(--item-color) 16%,transparent)}.calendar-item--overdue{background:#ef44441f}.calendar-item--overdue .calendar-item-dot{background:var(--danger)}.calendar-more{font-size:.68rem;color:var(--text-muted);padding:2px 6px}@media(max-width:960px){.calendar-day{min-height:96px;padding:8px}.calendar-weekday{font-size:.65rem;padding:0 4px}}.team-section{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:20px 24px 32px;background:var(--surface)}.team-section-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.team-section-desc{flex:1;margin:0;color:var(--text-muted);font-size:.875rem}.team-section-count{font-size:.8rem;color:var(--text-muted)}.team-search{flex:1;min-width:220px;max-width:420px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-elevated);color:var(--text)}.team-directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.team-directory-card{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-elevated);cursor:pointer;transition:border-color .15s,box-shadow .15s}.team-directory-card:hover{border-color:color-mix(in srgb,var(--project-accent) 40%,var(--border));box-shadow:0 4px 16px #00000014}.team-directory-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.team-directory-card-body strong{font-size:.95rem}.team-directory-card-role{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.team-directory-card-meta{font-size:.8rem;color:var(--text-muted)}.team-directory-card-tenure{font-size:.75rem;color:var(--success);margin-top:4px}.team-profile-modal{max-width:560px;width:calc(100% - 32px)}.team-profile-modal-heading{display:flex;gap:12px;align-items:center}.team-profile-modal-email{margin:2px 0 0;font-size:.8rem;color:var(--text-muted)}.team-profile-grid,.team-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 16px}.team-profile-grid label,.team-form-grid label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text-muted)}.team-profile-grid-span,.team-form-grid-span{grid-column:1 / -1}.team-profile-grid input,.team-profile-grid select,.team-profile-grid textarea,.team-form-grid input,.team-form-grid select,.team-form-grid textarea{font-size:.875rem}.team-profile-meta{padding:0 20px;margin:0 0 12px;font-size:.8rem;color:var(--text-muted)}.team-filter-tabs{display:flex;gap:4px}.team-filter-tab{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer}.team-filter-tab.is-active{background:var(--surface-elevated);color:var(--text);border-color:color-mix(in srgb,var(--project-accent) 35%,var(--border))}.team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.team-list-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface-elevated)}.team-list-item-body{flex:1;min-width:0;text-align:left;background:none;border:none;padding:0;color:inherit;cursor:pointer}.team-review-open{cursor:pointer}.team-list-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.team-list-item-meta{margin:4px 0 0;font-size:.8rem;color:var(--text-muted)}.team-list-item-note{margin:6px 0 0;font-size:.85rem;color:var(--text);white-space:pre-wrap}.team-list-item-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;align-items:flex-start}.team-list-item-delete{border:none;background:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:4px}.team-list-item-delete:hover{color:var(--danger)}.team-status-badge{font-size:.68rem;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.team-status-badge--pending{background:#f59e0b26;color:#d97706}.team-status-badge--approved,.team-status-badge--completed{background:#10b98126;color:#059669}.team-status-badge--rejected,.team-status-badge--cancelled{background:#ef44441f;color:#dc2626}.team-status-badge--scheduled{background:#6366f11f;color:#4f46e5}.team-section-empty{text-align:center;color:var(--text-muted);padding:48px 16px}.team-onboarding-group{margin-bottom:28px}.team-onboarding-group h3{margin:0 0 12px;font-size:.9rem}.team-onboarding-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.team-onboarding-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-elevated)}.team-onboarding-card-header{display:flex;gap:10px;align-items:center;margin-bottom:10px}.team-onboarding-card-header strong{display:block}.team-onboarding-progress{font-size:.75rem;color:var(--text-muted)}.team-onboarding-progress-bar{height:4px;border-radius:999px;background:var(--border);overflow:hidden;margin-bottom:12px}.team-onboarding-progress-bar span{display:block;height:100%;background:var(--success);border-radius:inherit;transition:width .2s}.team-onboarding-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.team-onboarding-tasks label{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;cursor:pointer}.team-onboarding-tasks .is-done{text-decoration:line-through;color:var(--text-muted)}.team-onboarding-add-task,.team-onboarding-create{display:flex;gap:8px;margin-top:10px}.team-onboarding-add-task input,.team-onboarding-create select{flex:1;min-width:0}.btn-sm{padding:4px 10px;font-size:.78rem}@media(max-width:720px){.team-profile-grid,.team-form-grid{grid-template-columns:1fr}.team-list-item{flex-direction:column}.team-list-item-actions{width:100%}}.finance-dashboard{flex:1;min-height:0}.finance-dashboard-inner{display:flex;flex-direction:column;align-items:center;justify-content:center}.finance-dashboard-icon{font-size:clamp(4rem,12vw,7rem);line-height:1}.finance-overview{flex:1;min-height:0;display:flex;flex-direction:column;gap:20px;padding:20px 24px 28px;overflow-y:auto}.finance-overview-header h2{margin:0;font-size:1.35rem}.finance-overview-account-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;padding:18px 20px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.finance-overview-account-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.finance-overview-account-meta>div{display:flex;flex-direction:column;gap:6px}.finance-overview-account-meta span{color:var(--text-muted);font-size:.82rem}.finance-overview-account-meta strong{font-size:1.2rem}.finance-overview-account-meta .is-positive{color:#34d399}.finance-overview-account-meta .is-negative{color:#f87171}.finance-overview-group h3,.finance-overview-panel h3{margin:0 0 12px;font-size:.95rem}.finance-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-overview-panel{padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.finance-overview-panel-desc{margin:0 0 14px;color:var(--text-muted);font-size:.84rem}.finance-overview-stat{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.finance-overview-stat span{color:var(--text-muted);font-size:.82rem}.finance-overview-stat strong{font-size:1.45rem}.finance-overview-stat--in{color:#34d399}.finance-overview-stat--out{color:#f87171}.finance-overview-stat-row{display:flex;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:.82rem}.finance-account-field{display:flex;flex-direction:column;gap:8px;min-width:0}.finance-account-field--compact{gap:6px}.finance-account-field-label{color:var(--text-muted);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.finance-account-field-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.finance-account-field-edit{border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0a;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:.82rem;font-weight:600;padding:8px 14px}.finance-account-field-edit:hover{color:inherit;border-color:#a5b4fc59;background:#a5b4fc14}.finance-settings-account{max-width:36rem;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.finance-account-field-value{align-self:flex-start;border:none;background:transparent;color:inherit;font:inherit;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;cursor:pointer;padding:0}.finance-account-field-value:hover{color:#a5b4fc}.finance-account-field-input{width:min(100%,220px);padding:8px 10px;border-radius:10px;border:1px solid rgba(165,180,252,.35);background:#0a0e1aa6;color:inherit;font:inherit;font-size:1.25rem;font-weight:700}.finance-account-field-hint{margin:0;color:var(--text-muted);font-size:.82rem;max-width:28rem}.finance-cashflow-account-row{padding:12px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.finance-section{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;padding:20px 24px 28px;overflow:auto}.finance-section-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.finance-section-heading{min-width:0}.finance-section-heading h2{margin:0;font-size:1.35rem}.finance-section-desc{margin:.35rem 0 0;color:var(--text-muted);font-size:.88rem;max-width:42rem}.finance-month-nav{display:flex;align-items:center;gap:12px}.finance-month-nav h2{min-width:180px;text-align:center;font-size:1.35rem}.finance-month-nav-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:#ffffff08;color:var(--text);font-size:1.2rem;cursor:pointer}.finance-month-nav-btn:hover{border-color:var(--border-hover);background:#ffffff0f}.finance-month-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.finance-month-summary--4{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-month-summary-card{padding:16px 18px;border-radius:var(--radius-lg);border:1px solid var(--border);background:#ffffff08;display:flex;flex-direction:column;gap:8px}.finance-month-summary-card span{color:var(--text-muted);font-size:.85rem}.finance-month-summary-card strong{font-size:1.5rem;font-family:var(--mono)}.finance-month-summary-card--in strong{color:#34d399}.finance-month-summary-card--out strong{color:#f87171}.finance-month-summary-card--net.is-positive strong{color:#34d399}.finance-month-summary-card--net.is-negative strong{color:#f87171}.finance-month-summary-card--warn strong{color:#f59e0b}.finance-payment-overdue{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#f87171;white-space:nowrap}.finance-payment-list{display:flex;flex-direction:column;gap:8px}.finance-payment-empty{padding:28px;border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center}.finance-payment-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:#ffffff08;color:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}.finance-payment-row:hover{border-color:var(--border-hover);background:#ffffff0d}.finance-payment-row-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.finance-payment-row-id{font-family:var(--mono);font-size:.78rem;color:var(--text-muted);flex-shrink:0}.finance-payment-row-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.finance-payment-row-copy strong{font-size:.98rem}.finance-payment-row-meta{color:var(--text-muted);font-size:.82rem}.finance-payment-row-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.finance-payment-tag,.finance-payment-tag-option{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;font-size:.72rem;color:var(--text-muted)}.finance-payment-tag-option{cursor:pointer}.finance-payment-tag-option.is-active{border-color:#6366f173;background:#6366f129;color:var(--text)}.finance-payment-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:110px}.finance-payment-amount{font-family:var(--mono);font-size:1rem;font-weight:600}.finance-payment-amount--in{color:#34d399}.finance-payment-amount--out{color:#f87171}.finance-payment-status{font-size:.75rem;color:var(--finance-status-color, var(--text-muted))}.finance-payment-modal{width:min(720px,calc(100vw - 32px));max-height:min(92vh,88vh);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px #00000080;animation:slide-up .25s cubic-bezier(.18,.67,.6,1.22)}.finance-payment-modal-eyebrow{margin:0 0 4px;font-family:var(--mono);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.finance-payment-modal .modal-header h2{margin:0;font-size:1.35rem}.finance-payment-form{display:flex;flex-direction:column;gap:16px;padding:20px 24px 0;overflow-y:auto;overscroll-behavior:contain}.finance-payment-form .field{display:flex;flex-direction:column;gap:8px}.finance-payment-form .field>span{font-size:.8rem;font-weight:600;color:var(--text-muted)}.finance-payment-form input,.finance-payment-form select,.finance-payment-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-family:var(--font);font-size:.92rem;outline:none}.finance-payment-form input:focus,.finance-payment-form select:focus,.finance-payment-form textarea:focus{border-color:var(--accent)}.finance-payment-form textarea{min-height:110px;resize:vertical;line-height:1.5}.finance-payment-form .date-picker-trigger{width:100%;justify-content:space-between}.finance-payment-form .modal-actions{margin-top:4px;padding:16px 0 20px}.finance-payment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-payment-tag-picker{display:flex;flex-wrap:wrap;gap:8px}.finance-series-end-modal{width:min(480px,calc(100vw - 32px));background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 80px #00000080;animation:slide-up .25s cubic-bezier(.18,.67,.6,1.22)}.finance-series-end-body{padding:0 24px 20px;color:var(--text-muted);line-height:1.55}.finance-series-end-body strong{color:var(--text)}.finance-series-end-modal .modal-actions{padding:16px 24px 20px}@media(max-width:900px){.finance-payment-form-grid{grid-template-columns:1fr}}@media(max-width:900px){.finance-month-summary,.finance-month-summary--4,.finance-overview-account-card,.finance-overview-grid,.finance-payment-row{grid-template-columns:1fr}.finance-payment-row-side,.finance-payment-row-tags{justify-content:flex-start;align-items:flex-start}.finance-cashflow-controls{width:100%}.finance-cashflow-date-range{flex-direction:column;align-items:stretch}}.finance-cashflow-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.finance-cashflow-period-dropdown{min-width:160px}.finance-cashflow-date-range{display:flex;align-items:flex-end;gap:12px}.finance-cashflow-date-field{display:flex;flex-direction:column;gap:6px;min-width:160px}.finance-cashflow-date-field>span{font-size:.78rem;font-weight:600;color:var(--text-muted)}.finance-cashflow-date-field .date-picker-trigger{width:100%;justify-content:space-between}.finance-cashflow-range-label{margin:0;color:var(--text-muted);font-size:.85rem}.finance-cashflow-chart{padding:18px 18px 8px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffff08}.finance-cashflow-chart--empty{min-height:220px;display:grid;place-items:center;color:var(--text-muted)}.finance-cashflow-chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}.finance-cashflow-chart-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted)}.finance-cashflow-chart-legend-item:before{content:"";width:12px;height:12px;border-radius:3px}.finance-cashflow-chart-legend-item--in:before{background:#34d399}.finance-cashflow-chart-legend-item--out:before{background:#f87171}.finance-cashflow-chart-legend-item--line:before{width:18px;height:0;border-top:2px solid #818cf8;border-radius:0}.finance-cashflow-chart-svg{width:100%;height:auto;display:block}.finance-cashflow-chart-grid{stroke:#ffffff14;stroke-width:1}.finance-cashflow-chart-zero{stroke:#ffffff2e;stroke-width:1}.finance-cashflow-chart-y-label,.finance-cashflow-chart-x-label{fill:var(--text-muted);font-size:11px;font-family:var(--mono)}.finance-cashflow-chart-bar--in{fill:#34d399d9}.finance-cashflow-chart-bar--out{fill:#f87171d9}.finance-cashflow-chart-line{fill:none;stroke:#818cf8;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.finance-cashflow-chart-point{fill:#818cf8;stroke:var(--bg-panel);stroke-width:2}.finance-cashflow-payments-title{margin:0;font-size:1rem}.finance-cashflow-payments{display:flex;flex-direction:column;gap:12px}
