:root{--wine: #5B0F16;--wine-dark: #2E070C;--wine-mid: #7A1B22;--gold: #C9A06A;--gold-light: #DDBA86;--gold-pale: #F2E3C5;--cream: #F2E3C5;--cream-warm: #F9F6F1;--sidebar-bg: #3A0B11;--sidebar-text: #F2E3C5;--sidebar-muted: rgba(242,227,197,.5);--sidebar-faint: rgba(242,227,197,.32);--sidebar-border: rgba(201,160,106,.15);--sidebar-surface: #2E070C;--serif: "Cinzel", "Trajan Pro", Georgia, serif;--sans: "Montserrat", system-ui, sans-serif;--radius-lg: 20px;--radius-md: 12px;--radius-sm: 8px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--bg: #F2EEE8;--bg-glow-1: rgba(201,160,106,.16);--bg-glow-2: rgba(91,15,22,.06);--surface: #FFFFFF;--surface-2: rgba(91,15,22,.04);--surface-3: #FFFFFF;--hover: rgba(201,160,106,.12);--heading: #5B0F16;--graphite: #2F2A28;--muted: #7B726C;--border: rgba(91,15,22,.15);--border-soft: rgba(91,15,22,.09);--border-strong: rgba(91,15,22,.28);--track: rgba(91,15,22,.1);--placeholder: rgba(47,42,40,.42);--accent-text: #7A5A2E;--accent-soft: rgba(201,160,106,.18);--logo-plate: #FFFFFF;--scrim: rgba(46,7,12,.45);--shadow-md: 0 8px 30px rgba(46,7,12,.1);--shadow-lg: 0 20px 60px rgba(46,7,12,.2);--danger: #A81F26;--danger-soft: rgba(168,31,38,.1);--danger-border: rgba(168,31,38,.3);--success: #17703F;--success-soft: rgba(23,112,63,.1);--success-border: rgba(23,112,63,.3);--role-manager: #1D4ED8;--role-manager-bg: rgba(29,78,216,.1);--role-mentorado: #6D28D9;--role-mentorado-bg: rgba(109,40,217,.1)}:root[data-theme=dark]{--bg: #1B1417;--bg-glow-1: rgba(91,15,22,.5);--bg-glow-2: rgba(46,7,12,.55);--surface: #26191E;--surface-2: rgba(255,255,255,.03);--surface-3: rgba(255,255,255,.04);--hover: rgba(201,160,106,.07);--heading: #F2E3C5;--graphite: #F0EAE4;--muted: rgba(240,234,228,.55);--border: rgba(201,160,106,.18);--border-soft: rgba(201,160,106,.11);--border-strong: rgba(201,160,106,.34);--track: rgba(255,255,255,.1);--placeholder: rgba(240,234,228,.35);--accent-text: #C9A06A;--accent-soft: rgba(201,160,106,.16);--logo-plate: rgba(249,246,241,.92);--scrim: rgba(0,0,0,.65);--shadow-md: 0 8px 30px rgba(0,0,0,.35);--shadow-lg: 0 20px 60px rgba(0,0,0,.45);--danger: #FF8085;--danger-soft: rgba(229,72,77,.14);--danger-border: rgba(229,72,77,.34);--success: #4ADE80;--success-soft: rgba(74,222,128,.13);--success-border: rgba(74,222,128,.32);--role-manager: #93C5FD;--role-manager-bg: rgba(147,197,253,.14);--role-mentorado: #C4B5FD;--role-mentorado-bg: rgba(196,181,253,.14)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{font-family:var(--sans);font-weight:400;background:var(--bg);color:var(--graphite);min-height:100vh;overflow-x:hidden;transition:background-color .22s ease-out,color .22s ease-out}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1200px 620px at 22% -12%,var(--bg-glow-1),transparent 62%),radial-gradient(900px 520px at 88% 4%,var(--bg-glow-2),transparent 58%)}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.pnav{background:var(--wine-dark);padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 8px 30px #00000040}.pnav-left{display:flex;align-items:center;gap:1.5rem;min-width:0}.pnav-logo{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.pnav-logo img{width:34px;height:34px;object-fit:contain}.pnav-logo-lockup{display:flex;flex-direction:column;min-width:0}.pnav-logo-text{font-family:var(--serif);font-weight:400;color:var(--gold);font-size:.88rem;letter-spacing:.22em;text-transform:uppercase}.pnav-logo-eyebrow,.pnav-logo-tagline{display:none}.pnav-sep{width:1px;height:20px;background:#c9a06a40}.pnav-section{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sidebar-muted)}.pnav-tabs{display:flex;gap:1.6rem;align-self:stretch;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:thin}.pnav-tabs::-webkit-scrollbar{height:3px}.pnav-tabs::-webkit-scrollbar-thumb{background:#c9a06a4d}.pnav-tab{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sidebar-muted);padding:.3rem 0;border-bottom:2px solid transparent;transition:color .22s ease-out,border-color .22s ease-out;white-space:nowrap;flex-shrink:0}.pnav-tab:hover{color:var(--gold-light)}.pnav-tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:600}.pnav-tab .pnav-tab-icon{display:none}.pnav-tab-icon{flex-shrink:0}.pnav-tab-new{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-left:.4rem;vertical-align:middle}.pnav-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.pnav-user-card{display:flex;align-items:center;gap:.7rem;min-width:0}.pnav-avatar{width:38px;height:38px;border-radius:50%;border:1px solid rgba(201,160,106,.35);background:#c9a06a1a;color:var(--gold);font-family:var(--serif);font-size:.8rem;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pnav-user-meta{display:flex;flex-direction:column;min-width:0;gap:.1rem}.pnav-name{color:var(--cream);font-size:.82rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pnav-role{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sidebar-faint)}.btn-logout{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;border:1px solid rgba(201,160,106,.3);color:var(--gold);font-family:var(--sans);font-size:.67rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.42rem .95rem;border-radius:var(--radius-md);cursor:pointer;transition:all .22s ease-out}.btn-logout:hover{background:#c9a06a1a;border-color:var(--gold)}.pnav-bell{position:relative;margin-left:auto;flex-shrink:0}.pnav-bell-btn{position:relative;background:none;border:none;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--gold);border-radius:var(--radius-sm);transition:background .22s ease-out}.pnav-bell-btn svg{display:block}.pnav-bell-btn:hover{background:#c9a06a1a}.pnav-bell-badge{position:absolute;top:0;right:0;background:var(--gold);color:var(--wine-dark);font-size:.6rem;font-weight:700;line-height:1;min-width:1rem;height:1rem;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 .2rem}.pnav-bell-backdrop{position:fixed;inset:0;z-index:190}.pnav-bell-menu{position:absolute;top:calc(100% + .5rem);right:0;width:280px;background:var(--sidebar-surface);border:1px solid var(--sidebar-border);border-radius:var(--radius-md);box-shadow:0 12px 34px #00000073;overflow:hidden;z-index:191}.pnav-bell-menu-title{padding:.7rem .9rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--sidebar-border)}.pnav-bell-empty{padding:1rem .9rem;font-size:.82rem;color:var(--sidebar-muted)}.pnav-bell-item{display:block;padding:.65rem .9rem;border-bottom:1px solid var(--sidebar-border);color:var(--sidebar-text);font-size:.82rem;transition:background .2s}.pnav-bell-item:last-child{border-bottom:none}.pnav-bell-item:hover{background:#c9a06a1a}.pnav-menu-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}.pnav-menu-btn span{display:block;width:20px;height:1.5px;background:var(--gold);transition:transform .22s ease-out,opacity .22s ease-out}.pnav-menu-btn.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.pnav-menu-btn.open span:nth-child(2){opacity:0}.pnav-menu-btn.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.pnav-mobile-backdrop{position:fixed;inset:64px 0 0;background:#0000008c;z-index:150}.pnav-mobile-menu{position:fixed;top:64px;left:0;right:0;z-index:151;background:var(--wine-dark);display:flex;flex-direction:column;padding:.5rem 0;box-shadow:0 10px 24px #0006;height:calc(100vh - 64px);overflow-y:auto}.pnav-mobile-link{display:flex;align-items:center;gap:.85rem;padding:1rem 1.5rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sidebar-muted);border-bottom:1px solid rgba(201,160,106,.12)}.pnav-mobile-link:last-child{border-bottom:none}.pnav-mobile-link.active{color:var(--gold);font-weight:600}.pnav-mobile-link .pnav-tab-new{margin-left:auto}.pnav-group-label-mobile{padding:1rem 1.5rem .4rem;font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#f2e3c557}@media(min-width:769px){.pnav-sidebar{position:fixed;inset:0 auto 0 0;width:300px;height:100vh;background:linear-gradient(180deg,#4A0D14 0%,var(--sidebar-bg) 45%,#24080C 100%);border-right:1px solid rgba(201,160,106,.14);box-shadow:none;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:.8rem 0 .6rem;overflow:hidden}.pnav-sidebar .pnav-left{flex-direction:column;align-items:stretch;gap:0;flex:1;min-height:0}.pnav-sidebar .pnav-logo{flex-direction:column;align-items:center;text-align:center;gap:.3rem;padding:1rem 1.5rem .55rem}.pnav-sidebar .pnav-logo img{width:38px;height:38px}.pnav-sidebar .pnav-logo-lockup{align-items:center;gap:.15rem}.pnav-sidebar .pnav-logo-eyebrow,.pnav-sidebar .pnav-logo-tagline{display:none}.pnav-sidebar .pnav-logo-text{font-size:1.25rem;letter-spacing:.26em;line-height:1}.pnav-sidebar .pnav-sep{display:none}.pnav-sidebar .pnav-collapse-btn{position:absolute;top:.7rem;right:.6rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,160,106,.16);border-radius:var(--radius-sm);background:#00000026;color:var(--sidebar-text);cursor:pointer;z-index:2;transition:color .2s,border-color .2s,background .2s}.pnav-sidebar .pnav-collapse-btn:hover{color:var(--gold-light);border-color:var(--gold)}.pnav-sidebar .pnav-tabs{flex-direction:column;align-self:auto;align-items:stretch;gap:.12rem;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.15rem .85rem .3rem;scrollbar-width:thin;scrollbar-color:rgba(201,160,106,.25) transparent}.pnav-sidebar .pnav-tabs::-webkit-scrollbar{width:4px}.pnav-sidebar .pnav-tabs::-webkit-scrollbar-thumb{background:#c9a06a40;border-radius:999px}.pnav-sidebar .pnav-group-label{display:block;flex:0 0 auto;padding:.62rem .75rem .24rem;font-size:.56rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#f2e3c557}.pnav-sidebar .pnav-tabs>.pnav-group-label:first-child{padding-top:.3rem}.pnav-sidebar .pnav-tab{display:flex;align-items:center;gap:.8rem;flex:1 1 auto;min-height:38px;max-height:56px;padding:.45rem .85rem;font-size:.8rem;letter-spacing:.04em;text-transform:none;color:var(--sidebar-text);border-bottom:none;border-left:3px solid transparent;border-radius:var(--radius-md);white-space:normal;transition:background .22s ease-out,color .22s ease-out,border-color .22s ease-out}.pnav-sidebar .pnav-tab .pnav-tab-icon{display:block;opacity:.75}.pnav-sidebar .pnav-tab:hover{background:#c9a06a14;color:var(--gold-light)}.pnav-sidebar .pnav-tab.active{background:var(--wine);border-left-color:var(--gold);color:var(--gold);font-weight:500}.pnav-sidebar .pnav-tab.active .pnav-tab-icon{opacity:1}.pnav-sidebar .pnav-tab-new{margin-left:auto}.pnav-sidebar .pnav-right{flex-direction:column;align-items:stretch;gap:.4rem;margin-top:auto;padding:.45rem 1.1rem 0;border-top:1px solid var(--sidebar-border)}.pnav-sidebar .pnav-user-card{padding:.4rem .6rem;border:1px solid rgba(201,160,106,.16);border-radius:var(--radius-md);background:#ffffff05}.pnav-sidebar .btn-logout{align-self:stretch}.pnav-sidebar .pnav-bell-menu{top:auto;bottom:calc(100% + .6rem)}app-pnav.pnav-sidebar-host~.page,app-pnav.pnav-sidebar-host~.breadcrumb{margin-left:300px;margin-right:0;max-width:none;transition:margin-left .2s ease-out}.pnav-sidebar{transition:width .2s ease-out}app-pnav.pnav-sidebar-collapsed~.page,app-pnav.pnav-sidebar-collapsed~.breadcrumb{margin-left:76px}app-pnav.pnav-sidebar-collapsed .pnav-sidebar{width:76px;padding-left:0;padding-right:0}app-pnav.pnav-sidebar-collapsed .pnav-logo{padding:3rem .5rem 1rem}app-pnav.pnav-sidebar-collapsed .pnav-logo-lockup{display:none}app-pnav.pnav-sidebar-collapsed .pnav-logo img{width:40px;height:40px}app-pnav.pnav-sidebar-collapsed .pnav-collapse-btn{right:auto;left:50%;transform:translate(-50%)}app-pnav.pnav-sidebar-collapsed .pnav-tabs{padding:0 .55rem}app-pnav.pnav-sidebar-collapsed .pnav-group-label{display:none}app-pnav.pnav-sidebar-collapsed .pnav-tab{justify-content:center;gap:0;padding:.4rem;min-height:40px}app-pnav.pnav-sidebar-collapsed .pnav-tab-label{display:none}app-pnav.pnav-sidebar-collapsed .pnav-tab-new{position:absolute;margin:0;top:6px;right:6px}app-pnav.pnav-sidebar-collapsed .pnav-tab{position:relative}app-pnav.pnav-sidebar-collapsed .pnav-right{padding:1rem .5rem 0}app-pnav.pnav-sidebar-collapsed .pnav-user-card{flex-direction:column;align-items:center;gap:.4rem;padding:.5rem}app-pnav.pnav-sidebar-collapsed .pnav-user-meta{display:none}app-pnav.pnav-sidebar-collapsed .pnav-bell{margin:0}app-pnav.pnav-sidebar-collapsed .btn-logout{padding:.5rem}app-pnav.pnav-sidebar-collapsed .btn-logout span,app-pnav.pnav-sidebar-collapsed .btn-logout{font-size:0}app-pnav.pnav-sidebar-collapsed .btn-logout svg{margin:0}}.breadcrumb{padding:1rem 2rem;font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:.45rem;background:transparent;border-bottom:1px solid var(--border-soft)}.breadcrumb a{color:var(--accent-text);transition:color .2s}.breadcrumb a:hover{color:var(--heading)}.breadcrumb-sep{opacity:.4}.page{max-width:1160px;margin:0 auto;padding:2rem}.page-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-soft)}.page-title{font-family:var(--serif);font-size:1.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--heading)}.page-subtitle{font-size:.85rem;color:var(--muted);margin-top:.5rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color .22s ease-out,transform .22s ease-out}.kpi-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.kpi-top{display:flex;align-items:center;gap:1rem}.kpi-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);color:var(--accent-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-label{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.4}.kpi-value{font-family:var(--serif);font-weight:400;font-size:2.1rem;line-height:1.1;color:var(--accent-text);margin-top:.35rem}.kpi-value.is-alert{color:var(--danger)}.kpi-foot{font-size:.72rem;color:var(--muted);margin-top:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;margin-bottom:1.5rem;transition:border-color .22s ease-out}.card-title{font-family:var(--serif);font-size:1rem;color:var(--heading);font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:.75rem}.card-title-bar{display:inline-block;width:24px;height:2px;background:var(--gold);flex-shrink:0}.card-title-action{margin-left:auto}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.5rem}.proj-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;display:block;transition:box-shadow .22s var(--ease-out),transform .22s var(--ease-out),border-color .22s var(--ease-out);cursor:pointer}@media(hover:hover)and (pointer:fine){.proj-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px) scale(1.01)}}.proj-card-brand{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.25rem}.proj-card-logo{width:44px;height:44px;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.25rem;background:var(--logo-plate);flex-shrink:0}.proj-card-logo-ph{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-text)}.proj-card-company{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}.proj-card-name{font-family:var(--serif);font-size:1.05rem;color:var(--heading);font-weight:400;line-height:1.3}.proj-card-status{margin-bottom:1rem}.progress-wrap{margin-top:.25rem}.progress-bar{height:9px;background:var(--track);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--gold);border-radius:999px;transition:width .6s ease}.progress-label{font-size:.7rem;color:var(--muted);margin-top:.4rem}.client-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;display:flex;flex-direction:column;gap:.9rem;transition:box-shadow .22s var(--ease-out),transform .22s var(--ease-out),border-color .22s var(--ease-out)}@media(hover:hover)and (pointer:fine){.client-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px) scale(1.01)}}.client-card-top{display:flex;align-items:center;gap:.85rem}.client-card-avatar{width:46px;height:46px;border-radius:50%;background:var(--wine);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.05rem;flex-shrink:0;overflow:hidden}.client-card-avatar img{width:100%;height:100%;object-fit:cover}.client-card-name{font-family:var(--serif);font-size:1rem;color:var(--heading);font-weight:400}.client-card-email{font-size:.78rem;color:var(--muted)}.client-card-company{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.client-card-meta{font-size:.78rem;color:var(--graphite)}.client-card-footer{margin-top:.25rem;display:flex;justify-content:flex-end}.badge{display:inline-flex;align-items:center;padding:.22rem .72rem;border-radius:2rem;font-size:.67rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--surface-2);color:var(--graphite)}.switch-row{display:flex;align-items:center;gap:.6rem;cursor:pointer;flex-shrink:0;-webkit-user-select:none;user-select:none}.switch-row.disabled{opacity:.6;pointer-events:none}.switch{position:relative;display:inline-flex;align-items:center;width:42px;height:24px;background:var(--track);border:1px solid var(--border-strong);border-radius:999px;box-shadow:inset 0 1px 2px #0000001f;transition:background .25s ease-out,border-color .25s ease-out;flex-shrink:0}.switch.on{background:linear-gradient(180deg,var(--gold-light),var(--gold));border-color:var(--gold);box-shadow:none}.switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #00000059;transition:transform .25s cubic-bezier(.4,0,.2,1)}.switch.on .switch-knob{transform:translate(18px);background:var(--wine-dark)}.switch-row:hover .switch:not(.on){border-color:var(--gold)}.switch-label{font-size:.8rem;color:var(--graphite)}.segmented{display:inline-flex;padding:4px;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.segmented-option{display:inline-flex;align-items:center;gap:.5rem;border:none;background:none;cursor:pointer;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.6rem 1.1rem;border-radius:var(--radius-sm);transition:background .22s ease-out,color .22s ease-out}.segmented-option:hover{color:var(--graphite)}.segmented-option.active{background:var(--wine);color:var(--gold)}.proj-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:1.5rem}.proj-header-logo{width:60px;height:60px;object-fit:contain;border:1px solid var(--border);border-radius:10px;padding:.3rem;background:var(--logo-plate);flex-shrink:0}.proj-header-logo-ph{width:60px;height:60px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-text)}.proj-header-info{flex:1}.proj-header-company{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}.proj-header-name{font-family:var(--serif);font-size:1.5rem;color:var(--heading);font-weight:400;line-height:1.2;margin-bottom:.7rem}.timeline{position:relative;padding-left:2.25rem}.timeline:before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:1px;background:var(--border)}.timeline-item{position:relative;padding-bottom:2rem}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-2.25rem;width:18px;height:18px;border-radius:50%;border:2px solid;top:2px}.timeline-dot.done{background:var(--gold);border-color:var(--gold)}.timeline-dot.pending{background:var(--surface);border-color:var(--border-strong)}.timeline-title{font-weight:500;font-size:.9rem;color:var(--graphite)}.timeline-date{font-size:.75rem;color:var(--muted);margin-top:.2rem}.timeline-tag{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.3rem;font-weight:600}.timeline-tag.done{color:var(--accent-text)}.timeline-tag.pending{color:var(--muted)}.step-item{display:flex;align-items:center;gap:.7rem;padding:.8rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.5rem;position:relative}.step-item.dragging{opacity:.4}.step-item.drop-before:before,.step-item.drop-after:after{content:"";position:absolute;left:.8rem;right:.8rem;height:2px;background:var(--gold)}.step-item.drop-before:before{top:-.27rem}.step-item.drop-after:after{bottom:-.27rem}.step-drag-handle{display:flex;align-items:center;color:var(--muted);cursor:grab;flex-shrink:0;touch-action:none}.step-drag-handle:active{cursor:grabbing}.step-move-btn{display:none}.step-check{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex-shrink:0;cursor:pointer;display:inline-grid;place-content:center;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-3);box-shadow:inset 0 1px 2px #0000001a;transition:background .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out}.step-check:before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .15s cubic-bezier(.4,0,.2,1);background:var(--wine-dark);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.step-check:checked{background:linear-gradient(180deg,var(--gold-light),var(--gold));border-color:var(--gold);box-shadow:none}.step-check:checked:before{transform:scale(1)}.step-check:hover:not(:checked){border-color:var(--gold)}.step-check:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--accent-soft)}.step-inputs{flex:1;display:flex;gap:.5rem;align-items:center;min-width:0}.step-name-input{flex:1;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-family:var(--sans);font-size:.88rem;color:var(--graphite);padding:.28rem .5rem;outline:none;min-width:0}.step-name-input:focus{border-color:var(--gold);background:var(--surface-3)}.step-date-input{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-family:var(--sans);font-size:.78rem;color:var(--muted);padding:.28rem .5rem;outline:none;width:140px;flex-shrink:0}.step-date-input:focus{border-color:var(--gold);background:var(--surface-3)}.step-btns{display:flex;gap:.2rem;flex-shrink:0}.btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;color:var(--muted);transition:all .2s;flex-shrink:0;padding:0}.btn-icon:hover{border-color:var(--gold);color:var(--accent-text)}.btn-icon.danger:hover{border-color:var(--danger);color:var(--danger)}.file-group-label{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.55rem .9rem;background:var(--surface-2);border-bottom:1px solid var(--border);border-top:1px solid var(--border)}.file-item{display:flex;align-items:center;gap:.9rem;padding:.85rem;border-bottom:1px solid var(--border)}.file-item:last-child{border-bottom:none}.file-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-text)}.file-info{flex:1;min-width:0}.file-name{font-size:.85rem;font-weight:500;color:var(--graphite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:.72rem;color:var(--muted);margin-top:.15rem}.file-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.file-upload-area{border:2px dashed var(--border-strong);border-radius:var(--radius-md);padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-top:1rem}.file-upload-area:hover,.file-upload-area.dragover{border-color:var(--gold);background:var(--accent-soft)}.file-upload-icon{opacity:.6;margin:0 auto .65rem;color:var(--accent-text)}.file-upload-text{font-size:.82rem;color:var(--muted)}.file-upload-sub{font-size:.72rem;color:var(--muted);opacity:.65;margin-top:.3rem}.messages-feed{height:340px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.65rem;background:var(--surface-2)}.msg{max-width:78%;padding:.7rem 1rem;border-radius:var(--radius-md);font-size:.85rem;line-height:1.55}.msg-mine{background:var(--wine);color:var(--gold-light);align-self:flex-end}.msg-theirs{background:var(--surface);color:var(--graphite);align-self:flex-start;border:1px solid var(--border)}.msg-author{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin-bottom:.3rem;font-weight:600}.msg-date{font-size:.63rem;opacity:.45;margin-top:.3rem;text-align:right}.msg-form{display:flex;gap:.65rem}.msg-input{flex:1;min-width:0;padding:.72rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--sans);font-size:.88rem;color:var(--graphite);outline:none;background:var(--surface-3)}.msg-input:focus{border-color:var(--gold)}.msg-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.82rem;opacity:.6}.data-table-wrap{overflow-x:auto;border-radius:inherit}.data-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:680px}.data-table th{text-align:left;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);font-weight:600;padding:.75rem 1rem;border-bottom:2px solid var(--border);background:var(--surface-2);white-space:nowrap}.data-table th.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.data-table th.th-sort:hover,.data-table th.th-active{color:var(--gold)}.data-table th .th-arrow{display:inline-block;width:.8em;font-size:.9em;opacity:.9}.data-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);color:var(--graphite);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--hover)}.link-btn{color:var(--accent-text);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;transition:color .2s;white-space:nowrap;display:inline-block}.link-btn:hover{color:var(--heading)}.toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.toolbar-search{flex:1;min-width:200px;padding:.68rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--sans);font-size:.88rem;color:var(--graphite);outline:none;background:var(--surface-3)}.toolbar-search::placeholder{color:var(--placeholder)}.toolbar-search:focus{border-color:var(--gold)}.toolbar-select{padding:.68rem 2.4rem .68rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--sans);font-size:.85rem;color:var(--graphite);background-color:var(--surface-3);outline:none}.toolbar-select:focus{border-color:var(--gold)}.tabs{display:flex;flex-wrap:wrap;border-bottom:2px solid var(--border);margin-bottom:2rem}.tab{padding:.88rem 1.6rem;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;font-family:var(--sans);font-weight:500;transition:color .2s,border-color .2s}.tab:hover{color:var(--accent-text)}.tab.active{color:var(--accent-text);border-bottom-color:var(--gold);font-weight:600}.tab-panel{display:none}.tab-panel.active{display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.72rem 1.65rem;font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform .14s var(--ease-out),background-color .14s ease,color .14s ease,border-color .14s ease;line-height:1}@media(hover:hover)and (pointer:fine){.btn:hover{transform:translateY(-1px)}}.btn:active{transform:translateY(0) scale(.97);transition-duration:.09s}.btn-primary{background:var(--gold);color:var(--wine-dark)}.btn-primary:hover{background:var(--gold-light)}.btn-gold{background:var(--gold);color:var(--wine-dark)}.btn-gold:hover{background:var(--gold-light)}.btn-outline{background:transparent;border:1px solid var(--border-strong);color:var(--accent-text)}.btn-outline:hover{background:var(--accent-soft);border-color:var(--gold)}.btn-danger{background:var(--danger);color:var(--cream-warm)}.btn-danger:hover{filter:brightness(.9)}.btn-danger-ghost{background:transparent;border:none;color:var(--danger);font-family:var(--sans);font-size:.73rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .7rem;border-radius:var(--radius-md);cursor:pointer;transition:background .2s}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn-sm{padding:.45rem 1rem;font-size:.68rem}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.71rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-3);font-family:var(--sans);font-size:.88rem;color:var(--graphite);outline:none;transition:border-color .2s}.form-input::placeholder,.form-textarea::placeholder{color:var(--placeholder)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold)}.form-textarea{resize:none;min-height:4.6rem;line-height:1.5;field-sizing:content}.form-help{font-size:.72rem;color:var(--muted);margin-top:.35rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cfg-note{font-size:.82rem;color:var(--muted);margin-bottom:1.25rem}.cfg-list{display:flex;flex-direction:column;gap:.85rem}.cfg-item{display:flex;flex-direction:column;gap:.6rem;padding:.85rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.cfg-item-row{display:flex;align-items:center;gap:.6rem}.cfg-item-row .form-input{flex:1;min-width:0}.cfg-desc{min-height:2.1rem}.cfg-price-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.cfg-unit{min-width:170px}.cfg-value{width:120px;flex-shrink:0}.cfg-row-simple{display:flex;align-items:center;gap:.6rem}.cfg-row-simple .form-input{flex:1;min-width:0}.cfg-row-simple .color-picker{width:40px;height:40px}.cfg-row-simple .badge-status{flex-shrink:0}.cfg-diff{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem}.cfg-diff-col{border:1px solid var(--border);border-radius:var(--radius-md);padding:.9rem;background:var(--surface-2);min-width:0}.cfg-diff-after{background:var(--accent-soft);border-color:var(--gold)}.cfg-diff-head{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}.cfg-diff-item{padding:.5rem 0;border-bottom:1px solid var(--border-soft)}.cfg-diff-item:last-child{border-bottom:none}.cfg-diff-name{font-size:.84rem;color:var(--heading);font-weight:500}.cfg-diff-tag{font-size:.7rem;color:var(--accent-text);font-weight:400;margin-left:.4rem}.cfg-diff-desc{font-size:.78rem;color:var(--muted);margin-top:.2rem}.cfg-diff-after .cfg-item{background:var(--surface)}@media(max-width:860px){.cfg-diff{grid-template-columns:1fr}}.form-select,.toolbar-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A06A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:15px;padding-right:2.4rem;cursor:pointer}.form-select:hover,.toolbar-select:hover,.form-select:focus,.toolbar-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DDBA86' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.form-select:disabled{cursor:not-allowed}app-select{display:block;width:100%}app-select.sel-toolbar{display:inline-block;width:auto;min-width:190px;background:none;background-image:none;padding:0}app-select.sel-toolbar .sel-trigger{padding:.68rem 1rem;font-size:.85rem}.sel-slot{display:none}.sel-trigger{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-3);font-family:var(--sans);font-size:.88rem;color:var(--graphite);cursor:pointer;outline:none;text-align:left;transition:border-color .2s}.sel-trigger:hover:not(:disabled),.sel-trigger.sel-open,.sel-trigger:focus-visible{border-color:var(--gold)}.sel-trigger:disabled{cursor:not-allowed;opacity:.55}.sel-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-value.sel-placeholder{color:var(--placeholder)}.sel-caret{flex-shrink:0;color:var(--gold);transition:transform .2s}.sel-trigger.sel-open .sel-caret{transform:rotate(180deg);color:var(--gold-light)}.sel-backdrop{position:fixed;inset:0;z-index:399}.sel-popover{position:fixed;z-index:400;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.35rem;display:flex;flex-direction:column;gap:.1rem;max-height:300px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;transform-origin:top left;transform:scale(1) translateY(0);opacity:1;transition:transform .16s var(--ease-out),opacity .16s var(--ease-out)}.sel-popover.sel-align-right{transform-origin:top right}@starting-style{.sel-popover{transform:scale(.96) translateY(-4px);opacity:0}}.sel-option{border:none;background:none;cursor:pointer;text-align:left;padding:.55rem .7rem;border-radius:var(--radius-sm);font-family:var(--sans);font-size:.85rem;color:var(--graphite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sel-option.sel-highlight{background:var(--hover)}.sel-option.sel-active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.sel-option:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.modal-backdrop{display:none;position:fixed;inset:0;background:var(--scrim);z-index:300;padding:2rem;overflow-y:auto;opacity:0;transition:opacity .22s var(--ease-out),display .22s allow-discrete}.modal-backdrop.show{display:flex;opacity:1}@starting-style{.modal-backdrop.show{opacity:0}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;padding:2.5rem;position:relative;margin:auto;box-shadow:var(--shadow-lg);transform:scale(1) translateY(0);transition:transform .22s var(--ease-out)}.modal-backdrop:not(.show) .modal{transform:scale(.96) translateY(8px)}@starting-style{.modal-backdrop.show .modal{transform:scale(.96) translateY(8px)}}.modal-title{font-family:var(--serif);font-size:1.2rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--heading);margin-bottom:1.75rem;padding-right:2rem}.modal-close{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--muted);line-height:1}.modal-close:hover{color:var(--heading)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem}.alert{padding:.82rem 1.2rem;font-size:.82rem;margin-bottom:1rem;border-radius:var(--radius-md);border:1px solid;display:none}.alert.show{display:block}.alert-error{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.alert-success{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.toaster{position:fixed;right:1.25rem;bottom:1.25rem;z-index:500;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;max-width:min(380px,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.6rem;width:100%;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid;box-shadow:var(--shadow-lg);font-size:.82rem;line-height:1.4;animation:toast-in .22s var(--ease-out);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.toast-leaving{opacity:0;transform:translateY(6px);pointer-events:none}.toast-success{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.toast-error{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-msg{flex:1;min-width:0}.toast-close{flex-shrink:0;border:none;background:none;color:inherit;cursor:pointer;opacity:.55;font-size:.78rem;line-height:1;padding:.1rem}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.toaster{left:1rem;right:1rem;bottom:1rem;max-width:none;align-items:stretch}}.loading-overlay{display:none;position:fixed;inset:0;background:var(--scrim);z-index:999;align-items:center;justify-content:center}.loading-overlay.show{display:flex}.spinner{width:42px;height:42px;border:2px solid rgba(201,160,106,.3);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--muted)}.empty-state-emoji{font-size:2.5rem;margin-bottom:1rem;opacity:.5}.empty-state-text{font-family:var(--serif);font-weight:400;letter-spacing:.04em;font-size:1.05rem;color:var(--heading)}.empty-state-sub{font-size:.82rem;margin-top:.5rem;opacity:.75}.color-row{display:flex;align-items:center;gap:.85rem}.color-swatch{width:46px;height:46px;border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;cursor:pointer}.color-picker{-webkit-appearance:none;appearance:none;width:46px;height:46px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);cursor:pointer;flex-shrink:0;transition:border-color .2s,box-shadow .2s}.color-picker:hover{border-color:var(--gold)}.color-picker:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--accent-soft)}.color-picker:disabled{cursor:not-allowed;opacity:.55}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:calc(var(--radius-sm) - 4px)}.color-picker::-moz-color-swatch{border:none;border-radius:calc(var(--radius-sm) - 4px)}.logo-preview-wrap{width:100px;height:100px;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--logo-plate);margin-bottom:.75rem}.logo-preview-wrap img{max-width:100%;max-height:100%;object-fit:contain}.progress-edit-row{display:flex;align-items:center;gap:1rem}.progress-slider{flex:1;-webkit-appearance:none;appearance:none;height:8px;border-radius:999px;cursor:pointer;outline:none;background:var(--track)}.progress-slider::-webkit-slider-runnable-track{height:8px;border-radius:999px}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-7px;border-radius:50%;background:var(--surface);border:4px solid var(--gold);box-shadow:0 1px 4px #0000004d;cursor:pointer}.progress-slider::-moz-range-track{height:8px;border-radius:999px;background:var(--track)}.progress-slider::-moz-range-progress{height:8px;border-radius:999px;background:var(--gold)}.progress-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--surface);border:4px solid var(--gold);box-shadow:0 1px 4px #0000004d;cursor:pointer}.progress-number{width:70px;padding:.55rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);font-family:var(--sans);font-size:.88rem;color:var(--graphite);text-align:center;outline:none}.progress-number:focus{border-color:var(--gold)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;align-items:start}.kanban-col{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.9rem;transition:background .2s,box-shadow .2s}.kanban-col-over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--gold)}.kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:.1rem .2rem .8rem}.kanban-col-title{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}.kanban-col-count{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}.kanban-col-add{width:24px;height:24px;border:none;background:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;transition:color .2s}.kanban-col-add:hover{color:var(--accent-text)}.kanban-cards{display:flex;flex-direction:column;gap:.65rem}.kanban-col-empty{text-align:center;padding:1.25rem 0;font-size:.75rem;color:var(--muted);opacity:.7}.kanban-drop-indicator{height:3px;background:var(--gold);border-radius:2px}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem .95rem;cursor:grab;transition:box-shadow .2s,transform .2s,opacity .2s,border-color .2s}.kanban-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-1px)}.kanban-card-dragging{opacity:.4}.kanban-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.kanban-card-title{font-size:.86rem;font-weight:500;color:var(--graphite);line-height:1.35}.kanban-priority-dot{width:8px;height:8px;border-radius:50%;margin-top:.3rem;flex-shrink:0}.kanban-card-project{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);opacity:.85;margin-top:.4rem}.kanban-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.kanban-tag{display:inline-flex;align-items:center;gap:.3rem;background:var(--accent-soft);color:var(--accent-text);font-size:.65rem;font-weight:600;padding:.18rem .55rem;border-radius:999px}.kanban-tag-removable button{border:none;background:none;color:inherit;cursor:pointer;font-size:.65rem;line-height:1;opacity:.7}.kanban-tag-removable button:hover{opacity:1}.kanban-checklist-summary{margin-top:.55rem}.kanban-checklist-toggle,.kanban-checklist-add-link{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:none;cursor:pointer;font-size:.68rem;font-weight:600;color:var(--muted);padding:0;margin-top:.55rem}.kanban-checklist-toggle:hover,.kanban-checklist-add-link:hover{color:var(--accent-text)}.kanban-checklist-bar{height:4px;background:var(--track);border-radius:999px;overflow:hidden;margin-top:.3rem}.kanban-checklist-bar-fill{height:100%;background:var(--gold);border-radius:999px;transition:width .3s}.kanban-checklist-list{display:flex;flex-direction:column;gap:.2rem;margin-top:.45rem}.kanban-checklist-item{display:flex;align-items:center;gap:.5rem;padding:.2rem .1rem}.kanban-checklist-check{width:15px;height:15px;flex-shrink:0;border:1.5px solid var(--border-strong);border-radius:3px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.6rem;line-height:1;padding:0;color:transparent}.kanban-checklist-check.done{background:var(--gold);border-color:var(--gold);color:var(--wine-dark)}.kanban-checklist-text{flex:1;min-width:0;font-size:.78rem;color:var(--graphite);cursor:pointer}.kanban-checklist-text.done{color:var(--muted);text-decoration:line-through}.kanban-checklist-remove{border:none;background:none;color:var(--muted);cursor:pointer;font-size:.68rem;opacity:0;transition:opacity .15s;flex-shrink:0}.kanban-checklist-item:hover .kanban-checklist-remove{opacity:1}.kanban-checklist-input-row{display:flex;gap:.4rem;margin-top:.4rem}.kanban-checklist-input-row input{flex:1;min-width:0;border:1px solid var(--border);border-radius:6px;background:var(--surface-3);color:var(--graphite);font-size:.76rem;padding:.35rem .5rem;outline:none}.kanban-checklist-input-row input:focus{border-color:var(--gold)}.kanban-checklist-input-row button{border:none;background:none;color:var(--accent-text);cursor:pointer;font-size:.95rem;padding:0 .3rem}.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--border)}.kanban-assignees{display:flex;gap:.25rem}.kanban-avatar{width:21px;height:21px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:.58rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kanban-due{font-size:.68rem;font-weight:600;color:var(--muted)}.kanban-due.overdue{color:var(--danger)}.kanban-assignee-picker{display:flex;flex-wrap:wrap;gap:.5rem}.kanban-assignee-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--surface-2);color:var(--muted);font-size:.68rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s}.kanban-assignee-btn.selected{background:var(--wine);color:var(--gold)}@media(max-width:1024px){.kanban-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.kanban-board{grid-template-columns:1fr}}.plan-board{display:flex;flex-direction:column;gap:1.5rem}.plan-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s}.plan-group-over{box-shadow:inset 0 0 0 2px var(--gold)}.plan-group-header{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-left:4px solid;border-bottom:1px solid var(--border);background:var(--surface-2);cursor:grab}.plan-group-header:active{cursor:grabbing}.plan-drag-handle{color:var(--muted);flex-shrink:0;cursor:grab;font-size:.9rem}.plan-disclosure{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:none;cursor:pointer;color:var(--muted);font-size:.7rem;flex-shrink:0;width:22px;height:22px;border-radius:6px;transition:background .15s,color .15s,border-color .15s}.plan-disclosure:hover{background:var(--hover);color:var(--graphite);border-color:var(--border-soft)}.plan-disclosure.on{color:var(--accent-text);background:var(--accent-soft)}.plan-disclosure-spacer{display:inline-block;width:22px;flex-shrink:0}.plan-row-open{color:var(--muted);margin-right:-.15rem}.plan-row-open:hover{color:var(--accent-text)}.plan-group-color{width:26px;height:26px;padding:3px;border-radius:6px}.plan-group-name{font-family:var(--serif);font-size:.95rem;font-weight:400;color:var(--heading);border:1px solid transparent;border-radius:6px;background:transparent;padding:.2rem .4rem;outline:none;flex:1;min-width:0}.plan-group-name:focus{border-color:var(--gold);background:var(--surface-3)}.plan-group-count{font-size:.75rem;color:var(--muted);flex-shrink:0}.plan-group-body{padding:.3rem .6rem .8rem;overflow-x:auto}.plan-row-head{display:flex;align-items:center;gap:.6rem;padding:.55rem .5rem .4rem;border-bottom:1px solid var(--border)}.plan-row-head-name{flex:1;min-width:120px;font-size:.6rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding-left:4.7rem}.plan-row-head-actions{width:103px;flex-shrink:0}.plan-row-fields-head{border-left-color:transparent}.plan-row-fields-head .plan-col{font-size:.6rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.plan-row{display:flex;align-items:center;gap:.55rem;padding:.5rem;border-bottom:1px solid var(--border-soft)}.plan-row:hover{background:var(--hover)}.plan-row-dragging{opacity:.4}.plan-row:not(.plan-row-sub):not(.plan-add-row) .plan-row-name{font-weight:600;color:var(--heading)}.plan-row-sub{padding-left:2.6rem;background:var(--surface-2);position:relative;border-bottom-color:transparent}.plan-row-sub:not(:has(+.plan-row-sub)){border-bottom-color:var(--border-soft)}.plan-row-sub:before{content:"";position:absolute;left:1.4rem;top:-1px;height:50%;width:.7rem;border-left:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong);border-bottom-left-radius:5px}.plan-row-sub .plan-row-name{color:var(--muted);font-size:.83rem}.plan-add-row{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface-2)}.plan-add-row-root{margin:.5rem .25rem .15rem}.plan-add-row-sub{margin:.1rem .25rem .35rem 2.6rem;background:transparent;border-left-width:3px;border-left-style:solid}.plan-add-plus{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;background:var(--accent-soft);color:var(--accent-text);font-size:.95rem;line-height:1;flex-shrink:0}.plan-add-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:var(--sans);font-size:.84rem;color:var(--graphite);padding:.2rem 0}.plan-add-input::placeholder{color:var(--muted);font-style:italic}.plan-row-fields{display:flex;align-items:center;gap:.7rem;flex-shrink:0;padding-left:.85rem;border-left:1px solid var(--border-soft)}.plan-row-fields-section{min-width:30rem}.plan-col-assignee{width:150px;flex-shrink:0;display:flex}.plan-col-status{width:108px;flex-shrink:0;display:flex}.plan-col-priority{width:88px;flex-shrink:0;display:flex}.plan-row-fields .plan-col-date{width:126px;flex-shrink:0}.plan-row-name{flex:1;min-width:120px;border:1px solid transparent;border-radius:6px;background:transparent;font-family:var(--sans);font-size:.86rem;color:var(--graphite);padding:.3rem .4rem;outline:none}.plan-row-name:focus{border-color:var(--gold);background:var(--surface-3)}.plan-row-icon{font-size:.78rem;flex-shrink:0;opacity:.75;white-space:nowrap}.plan-row-date{border:1px solid var(--border);border-radius:6px;background:var(--surface-3);font-family:var(--sans);font-size:.76rem;color:var(--muted);padding:.3rem .4rem;outline:none;width:132px;flex-shrink:0}.plan-row-date.overdue{color:var(--danger);font-weight:600;border-color:var(--danger-border)}.plan-row-eye.off{opacity:.55}.plan-row-eye-spacer{width:28px;flex-shrink:0}.plan-drop-indicator{height:3px;background:var(--gold);border-radius:2px;margin:0 .4rem}.plan-drop-indicator-sub{margin-left:2.6rem}.plan-chip{display:inline-flex;align-items:center;border:none;border-radius:6px;padding:.32rem .65rem;font-size:.7rem;font-weight:600;color:var(--cream-warm);cursor:pointer;white-space:nowrap;flex-shrink:0}.plan-chip-sm{padding:.22rem .5rem;font-size:.68rem;pointer-events:none}.plan-popover{position:fixed;z-index:400;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.4rem;display:flex;flex-direction:column;gap:.2rem;min-width:180px;max-height:320px;overflow-y:auto}.plan-popover-option{display:flex;align-items:center;gap:.5rem;border:none;background:none;cursor:pointer;padding:.4rem .5rem;text-align:left;border-radius:6px;font-size:.82rem;color:var(--graphite)}.plan-popover-option:hover{background:var(--hover)}.plan-popover-option.active{background:var(--accent-soft)}.plan-popover-option-assignee{font-size:.8rem}.plan-stars{display:inline-flex;gap:1px;flex-shrink:0}.plan-stars.readonly .plan-star{cursor:default}.plan-star{border:none;background:none;cursor:pointer;font-size:.95rem;line-height:1;color:var(--track);padding:0 1px}.plan-star.filled{color:var(--gold)}.plan-assignees-trigger{display:flex;align-items:center;gap:.3rem;width:100%;height:28px;padding:0 .4rem 0 .3rem;border:1px solid transparent;border-radius:6px;background:var(--surface-3);cursor:pointer}.plan-assignees-trigger:hover{border-color:var(--gold)}.plan-assignees-stack{gap:0;flex-shrink:0}.plan-assignees-stack .kanban-avatar{width:18px;height:18px;font-size:.55rem;border:1.5px solid var(--surface-3);margin-left:-6px}.plan-assignees-stack .kanban-avatar:first-child{margin-left:0}.plan-assignees-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.72rem;font-weight:600;color:var(--graphite)}.plan-assignees-label.plan-assignees-empty{color:var(--muted);opacity:.8;font-weight:500}.plan-assignees-caret{flex-shrink:0;color:var(--muted);opacity:.7}.plan-col-status .plan-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:1.6}.plan-bulk-bar{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:200;background:var(--wine-dark);border:1px solid var(--sidebar-border);border-radius:var(--radius-lg);color:var(--gold-light);padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 10px 30px #00000080;flex-wrap:wrap;max-width:calc(100vw - 2rem)}.plan-bulk-count{font-size:.82rem;white-space:nowrap}.plan-bulk-bar .btn-icon{border-color:#c9a06a4d;color:var(--gold)}.plan-panel-backdrop{position:fixed;inset:0;background:var(--scrim);z-index:300}.plan-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:460px;background:var(--surface);border-left:1px solid var(--border);z-index:301;padding:2.5rem 1.75rem 2rem;overflow-y:auto;box-shadow:var(--shadow-lg)}.plan-panel-name{width:100%;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--heading);padding:.3rem .2rem;outline:none;margin-bottom:1.25rem}.plan-panel-name:focus{border-color:var(--gold)}.plan-panel-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}@media(max-width:768px){.plan-panel{max-width:100%;padding:2rem 1.25rem 1.5rem}.plan-bulk-bar{left:1rem;right:1rem;bottom:1rem;transform:none}}@media(max-width:860px){.plan-row{flex-wrap:wrap;padding:.7rem .5rem}.plan-row-name{flex:1 1 100%;order:1}.plan-drag-handle,.plan-disclosure,.plan-disclosure-spacer,.step-check{order:0}.plan-row-icon,.plan-row-eye,.plan-row-eye-spacer,.plan-row-fields{order:2}.plan-row-fields{flex:1 1 100%;flex-wrap:wrap;gap:.6rem;padding-left:0;border-left:none}.plan-row-fields-section{min-width:0}.plan-col-assignee,.plan-col-status,.plan-col-priority,.plan-row-fields .plan-col-date{width:auto;flex:1 1 44%}.plan-row>.btn-icon{order:3}.plan-row-head{display:none}.plan-group-body{overflow-x:visible}.plan-group-header{flex-wrap:wrap}}.prospect-board,.plan-group-body,.data-table-wrap{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.prospect-board::-webkit-scrollbar,.plan-group-body::-webkit-scrollbar,.data-table-wrap::-webkit-scrollbar{height:8px}.prospect-board::-webkit-scrollbar-track,.plan-group-body::-webkit-scrollbar-track,.data-table-wrap::-webkit-scrollbar-track{background:transparent}.prospect-board::-webkit-scrollbar-thumb,.plan-group-body::-webkit-scrollbar-thumb,.data-table-wrap::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.prospect-board:hover::-webkit-scrollbar-thumb,.plan-group-body:hover::-webkit-scrollbar-thumb,.data-table-wrap:hover::-webkit-scrollbar-thumb{background:var(--gold);background-clip:padding-box}.prospect-board{display:flex;gap:1.1rem;overflow-x:auto;padding-bottom:.75rem;align-items:start}.prospect-col{flex:0 0 240px;min-height:120px}.prospect-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;cursor:grab;transition:box-shadow .2s,border-color .2s}.prospect-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.prospect-card.dragging{opacity:.4}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.cal-month-label{font-family:var(--serif);font-weight:400;letter-spacing:.04em;font-size:1.05rem;color:var(--heading);text-transform:capitalize;min-width:9rem}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.cal-weekday{background:var(--wine);padding:.55rem;text-align:center;font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.cal-cell{background:var(--surface);min-height:92px;padding:.4rem;cursor:pointer;transition:background .15s;display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.cal-cell:hover{background:var(--hover)}.cal-cell.out-month{background:var(--surface-2)}.cal-cell.out-month .cal-cell-day{color:var(--muted);opacity:.5}.cal-cell.is-today .cal-cell-day{background:var(--gold);color:var(--wine-dark);border-radius:50%}.cal-cell-day{font-size:.78rem;font-weight:600;color:var(--graphite);width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cal-cell-items{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-chip{font-size:.66rem;color:var(--cream-warm);padding:.1rem .35rem;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip-more{font-size:.64rem;color:var(--muted);padding-left:.2rem}.cal-deadline-mark{font-size:.66rem;color:var(--muted);border-left:2px solid var(--gold);padding-left:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.cal-legend-item{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--muted)}.cal-legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.cal-legend-dot-deadline{background:var(--gold)}.cal-day-item{display:flex;align-items:center;gap:.65rem;padding:.6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer}@media(max-width:640px){.cal-cell{min-height:64px;padding:.3rem}.cal-chip,.cal-deadline-mark{display:none}.cal-cell.has-items .cal-cell-items:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:2px}.cal-month-label{font-size:1rem;min-width:0}}@media(max-width:900px){.two-col,.form-row{grid-template-columns:1fr}}@media(max-width:768px){.page{padding:1.25rem}.cards-grid{grid-template-columns:1fr}.proj-header{flex-direction:column;padding:1.5rem}.pnav{padding:0 1rem;gap:.5rem}.pnav-left{min-width:0;gap:.75rem}.pnav-user-meta,.pnav-avatar,.pnav-sep,.pnav-section,.pnav-tabs{display:none}.pnav-menu-btn{display:flex}.tab{padding:.75rem 1rem;font-size:.68rem}.breadcrumb{padding:.85rem 1.25rem;font-size:.73rem}.modal-backdrop{padding:1rem}.modal{padding:1.75rem}}@media(max-width:700px){.data-table-wrap{overflow-x:visible}.data-table{min-width:0}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{padding:.9rem 1rem;border-bottom:1px solid var(--border)}.data-table tr:last-child{border-bottom:none}.data-table td{padding:.3rem 0;border-bottom:none;white-space:normal}.data-table td:empty{display:none}.data-table td[data-label]:before{content:attr(data-label);display:block;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}}@media(max-width:600px){.card{padding:1.35rem}.step-date-input{width:110px}.pnav-logo-text{display:none}.page{padding:1rem}.card{padding:1.1rem}.modal{padding:1.35rem}.modal-title{font-size:1.05rem;margin-bottom:1.25rem;padding-right:1.75rem}.proj-header{padding:1.1rem;gap:1rem}.proj-header-name{font-size:1.15rem}.step-item{flex-wrap:wrap}.step-drag-handle{display:none}.step-move-btn{display:flex}.step-inputs{flex-wrap:wrap;row-gap:.4rem}.step-name-input{flex:1 1 100%}}
