:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f7;--surface:#fff;--border:#dde1e6;--border-strong:#b8bcc4;--text:#1a1a2e;--muted:#5c6370;--primary:#2563eb;--primary-hover:#1d4ed8;--on-primary:#fff;--danger:#dc2626;--danger-subtle:#fef2f2;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fcd34d;--row-highlight:#eff6ff;--gantt-grid:#e8eaed;--bar-bg:#3b82f6;--bar-text:#fff;--radius:8px;--shadow:0 1px 3px #00000014;--shadow-lg:0 4px 16px #0000001f;--popover-shadow:0 4px 20px #00000026;--gantt-bar-shadow:0 1px 2px #00000026;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--surface:#1a1d27;--border:#2e3444;--border-strong:#454d5f;--text:#e8eaef;--muted:#9aa3b2;--primary:#3b82f6;--primary-hover:#60a5fa;--on-primary:#fff;--danger:#f87171;--danger-subtle:#3b2226;--warning:#fbbf24;--warning-bg:#2d2618;--warning-border:#854d0e;--row-highlight:#1e2a3d;--gantt-grid:#2e3444;--bar-bg:#3b82f6;--bar-text:#fff;--shadow:0 1px 3px #00000059;--shadow-lg:0 4px 20px #00000073;--popover-shadow:0 4px 24px #00000080;--gantt-bar-shadow:0 1px 3px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--surface:#1a1d27;--border:#2e3444;--border-strong:#454d5f;--text:#e8eaef;--muted:#9aa3b2;--primary:#3b82f6;--primary-hover:#60a5fa;--on-primary:#fff;--danger:#f87171;--danger-subtle:#3b2226;--warning:#fbbf24;--warning-bg:#2d2618;--warning-border:#854d0e;--row-highlight:#1e2a3d;--gantt-grid:#2e3444;--bar-bg:#3b82f6;--bar-text:#fff;--shadow:0 1px 3px #00000059;--shadow-lg:0 4px 20px #00000073;--popover-shadow:0 4px 24px #00000080;--gantt-bar-shadow:0 1px 3px #0006}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;margin:0;line-height:1.5}.app-header{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex}.header-brand{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.12rem .75rem;min-width:0;display:grid}.header-brand-logo{grid-area:1/1/-1;justify-content:center;align-self:center;align-items:center;display:flex}.app-header-icon{object-fit:contain;border-radius:8px;width:2.875rem;height:2.875rem;display:block}.app-header h1{grid-area:1/2;margin:0;font-size:1.5rem;font-weight:700;line-height:1.15}.header-brand .subtitle{color:var(--muted);grid-area:2/2;margin:0;font-size:.875rem;line-height:1.35}.app-menubar{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.toolbar-icon-btn{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:2.25rem;min-width:2.25rem;height:2.25rem;min-height:2.25rem;color:var(--text);cursor:pointer;vertical-align:middle;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.toolbar-icon-btn:hover{background:var(--bg);border-color:var(--border-strong)}.toolbar-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.theme-toggle{font:inherit}.theme-toggle-glyph{pointer-events:none;place-items:center;width:1.125rem;height:1.125rem;display:grid}.theme-toggle-glyph svg{width:1.125rem;height:1.125rem;margin:auto;display:block;overflow:visible}.toolbar-icon-svg{flex-shrink:0;width:1.125rem;height:1.125rem;display:block}.help-item{flex-shrink:0;align-items:center;display:flex}.help-item.open .toolbar-icon-btn{background:var(--row-highlight);border-color:var(--primary);color:var(--primary)}.gantt-card{overflow:visible}.gantt-help-panel{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(21rem,100%);max-width:calc(100vw - 2.5rem);box-shadow:var(--shadow-lg);margin:0;position:absolute;top:calc(100% + 6px);left:auto;right:0;overflow:hidden}.gantt-help-panel-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.gantt-help-panel-title{color:var(--text);margin:0;font-size:.8125rem;font-weight:600}.gantt-help-panel-close{font:inherit;width:1.75rem;height:1.75rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:0;font-size:1.25rem;line-height:1}.gantt-help-panel-close:hover{background:var(--bg);color:var(--text)}.gantt-help-panel-body{color:var(--muted);background:var(--bg);margin:0;padding:.75rem 1rem;font-size:.8125rem;line-height:1.6}.menu-item{flex-shrink:0;align-items:center;display:flex;position:relative}.menu-trigger{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:.45rem .85rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s}.menu-trigger-icon{padding:0}.menu-trigger-bars{flex-direction:column;justify-content:center;gap:4px;width:1.125rem;display:flex}.menu-trigger-bars span{transform-origin:50%;background:currentColor;border-radius:1px;width:100%;height:2px;transition:transform .15s,opacity .15s;display:block}.menu-item.open .menu-trigger-bars span:first-child{transform:translateY(6px)rotate(45deg)}.menu-item.open .menu-trigger-bars span:nth-child(2){opacity:0}.menu-item.open .menu-trigger-bars span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.menu-trigger:not(.toolbar-icon-btn):hover,.menu-item.open .menu-trigger:not(.toolbar-icon-btn){background:var(--bg);border-color:var(--border-strong)}.menu-trigger:not(.toolbar-icon-btn):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.menu-item.open .toolbar-icon-btn{background:var(--bg);border-color:var(--border-strong)}.menu-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);-webkit-user-select:none;user-select:none;padding:.35rem .65rem .2rem;font-size:.68rem;font-weight:600}.menu-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-lg);z-index:200;padding:.35rem;display:none;position:absolute;top:calc(100% + 4px);left:auto;right:0}.plans-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.plans-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;display:flex}.plans-header-titles{flex-direction:column;gap:.5rem;display:flex}.plans-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.plans-identity{color:var(--muted);align-items:center;gap:.65rem;display:inline-flex}.plans-identity-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:22ch;font-size:.85rem;font-weight:500;overflow:hidden}.plans-identity .btn-ghost{color:var(--muted)}.plans-identity .btn-ghost:hover{color:var(--text)}.plans-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.plans-list-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.plans-list-open{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:.25rem;display:flex}.plans-list-actions{gap:.5rem;display:flex}.plans-empty{text-align:center;padding:3rem 1rem}.dev-identity-switcher{border:1px dashed var(--border);background:var(--surface);color:var(--muted);border-radius:4px;align-items:center;gap:.5rem;margin-top:.4rem;padding:.25rem .5rem .25rem .4rem;font-size:.78rem;display:inline-flex}.dev-identity-badge{letter-spacing:.05em;background:var(--warning,#d97706);color:#fff;border-radius:3px;padding:1px 5px;font-size:.65rem;font-weight:700}.dev-identity-label{align-items:center;gap:.35rem;display:inline-flex}.dev-identity-label select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:3px;padding:.1rem .35rem}.plans-section{margin-top:2rem}.plans-section:first-of-type{margin-top:1.25rem}.plans-section-header{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.plans-section-header h2{margin:0;font-size:1.05rem;font-weight:600}.share-mode-toggle{gap:.5rem;margin-bottom:1rem;display:flex}.menu-dropdown-item{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem .65rem;font-size:.875rem;display:block}.menu-dropdown-item:hover:not(:disabled){background:var(--bg)}.menu-dropdown-item:disabled{opacity:.45;cursor:not-allowed}.menu-dropdown-item-danger{color:var(--danger)}.menu-dropdown-item-danger:hover:not(:disabled){background:var(--danger-subtle)}.menu-separator{background:var(--border);height:1px;margin:.35rem .25rem}.summary-export-hint{margin:0;font-size:.8rem}@media (width<=640px){.app-header{flex-direction:column;align-items:flex-start}.app-menubar{width:100%}}.plan-tabs-bar{background:var(--surface);border-bottom:1px solid var(--border);align-items:flex-end;gap:0;max-width:100%;padding:.35rem 1.5rem 0;display:flex;overflow:hidden}.plan-tabs{scrollbar-width:thin;scrollbar-gutter:stable;align-items:flex-end;gap:.15rem;width:100%;min-width:0;display:flex;overflow:auto hidden}.plan-tabs-list{flex-shrink:0;align-items:flex-end;gap:.15rem;display:flex}.plan-tabs::-webkit-scrollbar{height:4px}.plan-tabs::-webkit-scrollbar:vertical{width:0;display:none}.plan-tab{background:var(--bg);max-width:200px;color:var(--muted);border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;flex-shrink:0;align-items:stretch;display:flex}.plan-tab.active{background:var(--surface);border-color:var(--border);color:var(--text);z-index:1;margin-bottom:-1px;padding-bottom:1px}.plan-tab-select{font:inherit;color:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:160px;padding:.5rem .65rem;font-size:.8rem;font-weight:500;overflow:hidden}.plan-tab-close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-left:1px solid #0000;border-radius:0 6px 0 0;padding:0 .45rem;font-size:1rem;line-height:1}.plan-tab.active .plan-tab-close{border-left-color:var(--border)}.plan-tab-close:hover{background:var(--danger-subtle);color:var(--danger)}.plan-tab-new{border:1px dashed var(--border);width:2rem;min-width:2rem;height:1.65rem;color:var(--muted);cursor:pointer;background:0 0;border-bottom:none;border-radius:6px 6px 0 0;flex-shrink:0;justify-content:center;align-items:center;margin:0 0 .2rem;padding:0;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.plan-tab-new-icon{font-size:1.15rem;font-weight:400;line-height:1}.plan-tab-new:hover{border-style:solid;border-color:var(--primary);color:var(--primary);background:var(--row-highlight)}.plan-tab-new:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.app-layout{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:start;gap:1.25rem;max-width:100%;margin:0 auto;padding:1.25rem 1.5rem 2rem;display:grid}@media (width<=900px){.app-layout{grid-template-columns:1fr}}.panel{min-width:0}.panel-left,.resource-list-stack{flex-direction:column;gap:1rem;display:flex}.panel-main{flex-direction:column;gap:1rem;min-width:0;display:flex}.panel-gantt,.panel-summary{min-width:0}.summary-card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.summary-card-header h2{margin:0}.summary-grid{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;gap:1.25rem 2rem;display:grid}@media (width<=700px){.summary-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.125rem 1.25rem}.card h2{margin:0 0 .75rem;font-size:1rem;font-weight:600}.card-header-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.card-header-row h2{margin:0}.form-stack{flex-direction:column;gap:1rem;display:flex}.form-stack-tight{gap:.75rem}.form-stack label,.form-grid label,.form-date-grid label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:500;display:flex}.form-stack input,.form-stack select,.form-grid input,.form-grid select,.form-date-grid input,.form-date-grid select{font:inherit;border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:6px;width:100%;padding:.5rem .65rem}.form-stack input:focus,.form-stack select:focus,.form-grid input:focus,.form-grid select:focus,.form-date-grid input:focus,.form-date-grid select:focus{outline:2px solid var(--primary);outline-offset:1px}.form-stack-tight .form-row-2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.field-full{width:100%}.input-hint{color:var(--text-muted,#888);margin-top:.25rem;font-size:.7rem;display:block}.form-section{flex-direction:column;gap:.5rem;display:flex}.form-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem;font-weight:600}.form-date-grid{grid-template-columns:1fr 1fr;gap:.65rem .75rem;display:grid}.field-hint{color:var(--muted);margin:0;font-size:.8rem}.field-hint-strong{color:var(--text);font-weight:500}.summary-stat-sub{color:var(--muted);font-size:.75rem}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.span-full{grid-column:1/-1}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:background .15s,border-color .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{border-color:var(--border);color:var(--muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text)}.btn-danger{color:var(--danger);background:0 0;border-color:#0000;padding:.25rem .5rem;font-size:.8rem}.btn-danger:hover{background:var(--danger-subtle)}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.warnings{margin-top:.75rem;font-size:.8rem}.warning-item{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border);border-radius:6px;margin-top:.35rem;padding:.5rem .65rem}.empty-hint{color:var(--muted);margin:.5rem 0;font-size:.85rem}.resource-list{margin:0;padding:0;list-style:none}.resource-item{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;margin-bottom:.5rem;padding:.65rem .75rem;transition:border-color .15s,background .15s}.resource-item:hover{border-color:var(--primary)}.resource-item.selected{border-color:var(--primary);background:var(--row-highlight)}.resource-item-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.resource-item-name{font-size:.9rem;font-weight:600}.badge{background:var(--bg);color:var(--muted);border-radius:4px;margin-left:.35rem;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.resource-item-meta{color:var(--muted);margin-top:.25rem;font-size:.75rem}.resource-item-periods{color:var(--muted);margin-top:.2rem;font-size:.7rem;line-height:1.35}.resource-item-actions{flex-shrink:0;gap:.25rem;display:flex}.resource-inline-form{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem;font-size:.75rem;display:grid}.resource-inline-form label{color:var(--muted);flex-direction:column;gap:.2rem;display:flex}.resource-inline-form input,.resource-inline-form select{font:inherit;border:1px solid var(--border);border-radius:4px;padding:.35rem .5rem}.gantt-card-header{z-index:5;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex;position:relative}.gantt-card-header h2{flex:1;min-width:0;margin:0}.gantt-notes{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.gantt-notes label{color:var(--text);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.gantt-notes-input{width:100%;min-height:5.5rem;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:6px;padding:.65rem .75rem;font-size:.875rem;line-height:1.5;display:block}.gantt-notes-input::placeholder{color:var(--muted)}.gantt-notes-input:focus{outline:2px solid var(--primary);outline-offset:1px}.gantt-placeholder{text-align:center;color:var(--muted);background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius);margin:0;padding:2.5rem 1.5rem;font-size:.9rem}.gantt-container{width:100%;overflow-x:auto}.gantt-wrap{width:100%;min-width:0}.gantt-scroll{scrollbar-gutter:stable;width:100%;overflow:auto visible}.gantt-scroll>.gantt-header,.gantt-scroll>.gantt-body{min-width:max-content}.gantt-header{border-bottom:2px solid var(--border);margin-left:156px;display:flex}.gantt-header-cell{text-align:center;min-width:84px;color:var(--muted);border-left:1px solid var(--gantt-grid);flex:1;padding:.5rem .25rem;font-size:.7rem;font-weight:600}.gantt-body{position:relative}.gantt-row{border-bottom:1px solid var(--gantt-grid);align-items:stretch;min-height:48px;transition:background .12s;display:flex}.gantt-row.selected{background:var(--row-highlight)}.gantt-row.dragging{opacity:.55}.gantt-row.drop-target{box-shadow:inset 0 3px 0 var(--primary)}.gantt-row-label{flex-shrink:0;align-items:flex-start;gap:.35rem;width:156px;padding:.5rem .5rem .5rem 0;font-size:.8rem;font-weight:500;display:flex}.gantt-row-drag{width:1.25rem;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;flex-shrink:0;padding:.15rem 0;font-size:1rem;line-height:1}.gantt-row-drag:hover{color:var(--primary)}.gantt-row-drag:active{cursor:grabbing}.gantt-row-label-main{flex-direction:column;flex:1;justify-content:center;gap:.35rem;min-width:0;display:flex}.gantt-row-label-text{line-height:1.2}.btn-add-period{font:inherit;border:1px dashed var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:4px;align-self:flex-start;padding:.2rem .45rem;font-size:.7rem;font-weight:600}.btn-add-period:hover{border-color:var(--primary);color:var(--primary);background:var(--row-highlight)}.gantt-row-track{flex:1;min-height:44px;display:flex;position:relative}.gantt-cell{border-left:1px solid var(--gantt-grid);background:repeating-linear-gradient(90deg, transparent, transparent calc(100% - 1px), var(--gantt-grid) calc(100% - 1px));flex:1;min-width:84px}.gantt-bar{background:var(--bar-bg);height:32px;color:var(--bar-text);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:2;box-shadow:var(--gantt-bar-shadow);border-radius:4px;justify-content:stretch;align-items:center;min-width:3.5rem;font-size:.68rem;font-weight:600;display:flex;position:absolute;top:6px;overflow:hidden}.gantt-bar-content{white-space:nowrap;text-overflow:ellipsis;flex:1;justify-content:center;align-items:center;gap:.35rem;min-width:0;padding:0 .25rem;display:flex;overflow:hidden}.gantt-bar-type{letter-spacing:.02em;flex-shrink:0;font-weight:700}.gantt-bar-pct{opacity:.92;flex-shrink:0;font-weight:500}.gantt-bar:active{cursor:grabbing}.gantt-bar.seg-0{background:#2563eb}.gantt-bar.seg-1{background:#0891b2}.gantt-bar.seg-2{background:#7c3aed}.gantt-bar.seg-3{background:#059669}.gantt-bar.seg-4{background:#d97706}.gantt-bar-handle{cursor:ew-resize;z-index:3;width:8px;height:100%;position:absolute;top:0}.gantt-bar-handle.left{left:0}.gantt-bar-handle.right{right:0}.gantt-bar-handle:after{content:"";background:#fff9;border-radius:1px;width:3px;height:14px;position:absolute;top:50%;transform:translateY(-50%)}.gantt-bar-handle.left:after{left:2px}.gantt-bar-handle.right:after{right:2px}.summary-block{margin-bottom:0}.summary-hours-col .summary-stat{max-width:280px}.summary-costs-col{min-width:0;overflow-x:auto}.summary-stat{border-bottom:1px solid var(--bg);justify-content:space-between;padding:.35rem 0;font-size:.85rem;display:flex}.summary-stat strong{font-weight:600}.summary-table{border-collapse:collapse;width:100%;font-size:.8rem}.summary-table th,.summary-table td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .35rem}.summary-table th{color:var(--muted);font-weight:500}.summary-table .num{text-align:right}.summary-total{border-top:2px solid var(--border);justify-content:space-between;margin-top:.75rem;padding-top:.75rem;font-size:.95rem;font-weight:700;display:flex}.popover{z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--popover-shadow);min-width:200px;padding:.75rem;position:fixed}.popover label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:500;display:flex}.popover input{font:inherit;border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem}.popover-range{color:var(--muted);margin:0 0 .5rem;font-size:.75rem}.popover-actions{flex-wrap:wrap;gap:.5rem;margin-top:.65rem;display:flex}.about-overlay{z-index:2000;background:#0f172a73;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.about-overlay.hidden{display:none}body.about-open{overflow:hidden}.about-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(36rem,100%);max-height:min(88vh,42rem);box-shadow:var(--popover-shadow);color:var(--text);flex-direction:column;display:flex}.about-dialog-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.about-dialog-header h2{margin:0;font-size:1.05rem;font-weight:700}.about-dialog-close{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;font-size:1.35rem;line-height:1}.about-dialog-close:hover{background:var(--surface-2);color:var(--text)}.about-dialog-body{padding:1rem 1.1rem 1.25rem;font-size:.875rem;line-height:1.55;overflow-y:auto}.about-lead{color:var(--muted);margin:0 0 1rem}.about-section{margin-bottom:1.15rem}.about-section:last-child{margin-bottom:0}.about-section h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .45rem;font-size:.8rem;font-weight:700}.about-section p{margin:0 0 .5rem}.about-section ul{margin:0;padding-left:1.2rem}.about-section li{margin-bottom:.35rem}.about-section li:last-child{margin-bottom:0}.about-formula{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.5rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}.about-section code{background:var(--surface-2);border-radius:4px;padding:.1em .35em;font-size:.8em}.pdf-export{font-family:var(--font);color:#111;pointer-events:none;visibility:hidden;z-index:-1;background:#fff;position:fixed;top:0;left:0;overflow:visible}.pdf-export.is-exporting{visibility:visible;z-index:10000;pointer-events:none}.pdf-export h1{margin:0 0 8px;font-size:22px}.pdf-export .pdf-meta{color:#555;margin-bottom:20px;font-size:13px}.pdf-export table{border-collapse:collapse;width:100%;margin-bottom:20px;font-size:12px}.pdf-export th,.pdf-export td{text-align:left;border:1px solid #ccc;padding:8px}.pdf-export th{background:#f0f0f0}.pdf-export .pdf-gantt{border:1px solid #ccc;margin-top:16px;padding:12px;overflow:hidden}.pdf-export .pdf-gantt .gantt-wrap{min-width:auto}.pdf-export .pdf-total{margin-top:12px;font-size:16px;font-weight:700}.hidden{display:none!important}.join-room-page{max-width:420px;margin:4rem auto;padding:2rem}.presence-bar{background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem 1rem;padding:.5rem 1rem;font-size:.875rem;display:grid}.presence-bar-main{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.presence-sync-status{flex-shrink:0;align-items:center;gap:.45rem;min-width:5.75rem;font-size:.8125rem;font-weight:500;line-height:1;display:inline-flex}.presence-sync-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.presence-sync-status-connected{color:#059669}.presence-sync-status-connecting{color:#d97706}.presence-sync-status-connecting .presence-sync-dot{animation:1.2s ease-in-out infinite presence-pulse}.presence-sync-status-readonly,.presence-sync-status-disconnected{color:var(--warning)}@keyframes presence-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.presence-invite-btn{text-align:center;white-space:nowrap;justify-self:end;width:8.25rem;padding:.2rem .6rem;font-size:.75rem}.presence-name-label{color:var(--muted)}.presence-users{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.presence-users li{background:var(--bg);border-left:3px solid;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .5rem;display:flex}.presence-dot{border-radius:50%;width:8px;height:8px}.presence-user-name{font-weight:500}.presence-user-focus{color:var(--muted);font-size:.7rem;font-style:italic}.presence-name-input{max-width:140px;margin-left:.35rem}.collab-banner{text-align:center;padding:.5rem 1rem;font-size:.875rem}.collab-banner-readonly{background:var(--warning-bg);border-bottom:1px solid var(--warning-border);color:var(--warning)}.collab-toast{z-index:9500;opacity:0;pointer-events:none;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);color:var(--text);padding:.65rem 1.1rem;font-size:.875rem;transition:opacity .28s,transform .28s;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)translateY(.75rem)}.collab-toast-visible{opacity:1;transform:translate(-50%)translateY(0)}.share-success-lead{margin:0 0 1rem;line-height:1.5}.share-link-row{gap:.5rem;margin:1rem 0;display:flex}.share-link-input{flex:1;font-size:.875rem}.remote-cursor{pointer-events:none;z-index:5;border-left:2px solid;flex-direction:column;justify-content:flex-start;display:flex;position:absolute;top:0;bottom:0;transform:translate(-1px)}.remote-cursor-name{white-space:nowrap;color:#fff;border-radius:3px;margin-top:2px;margin-left:2px;padding:1px 5px;font-size:.65rem;font-weight:600;box-shadow:0 1px 2px #0003}.cursor-overlay{pointer-events:none;z-index:9000;position:fixed;inset:0;overflow:visible}.cursor-overlay-item{will-change:transform, opacity;align-items:flex-start;gap:3px;transition:opacity .12s;display:flex;position:fixed;top:0;left:0}.cursor-overlay-arrow{filter:drop-shadow(0 1px 2px #00000040);flex-shrink:0}.cursor-overlay-name{white-space:nowrap;color:#fff;border-radius:3px;margin-top:14px;padding:2px 6px;font-size:.68rem;font-weight:600;box-shadow:0 1px 3px #0003}.app-loading{text-align:center;padding:4rem}.menu-item{position:relative}.menu-item.open .menu-dropdown{display:block}
