:root,:root[data-theme=winweb]{--bg:#11151f;--bg-elevated:#191f2c;--bg-sunken:#0b0e15;--bg-accent-tint:#17203b;--text:#f0f0f0;--text-dim:#b5bac6;--text-faint:#7d8596;--border:#343d50;--border-soft:#252c3a;--accent:#213a8f;--accent-strong:#7189d5;--accent-soft:#213a8f4d;--accent-text:#fff;--brand-red:#dd0b2f;--brand-red-soft:#dd0b2f29;--good:#7c9a6f;--bad:#e05268;--warn:#d1b34b;--radius-card:14px;--radius-control:9px;--shadow-card:0 1px 2px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:16px/145% Ubuntu,system-ui,Segoe UI,Roboto,sans-serif}:root[data-theme=copper]{--bg:#17140f;--bg-elevated:#211e19;--bg-sunken:#100e0b;--bg-accent-tint:#241d15;--text:#ece5d8;--text-dim:#a89e8e;--text-faint:#766c5d;--border:#383026;--border-soft:#2a251e;--accent:#b97c45;--accent-strong:#d6934f;--accent-soft:#b97c4529;--accent-text:#201509;--good:#7c9a6f;--bad:#bf6152;--warn:#c4a22e;--radius-card:14px;--radius-control:9px;--shadow-card:0 1px 2px #00000059;--brand-red:#bf6152;--brand-red-soft:#bf615229}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html,body,#root{overscroll-behavior:none;height:100%;margin:0}body{background:var(--bg);overflow:hidden}:root{--project-page-max:1320px;--project-page-padding:clamp(18px, 4vw, 56px);--project-section-gap:32px;--project-content-gap:16px;--project-control-height:40px;--project-control-padding-x:13px;--project-radius-sm:8px;--project-radius-md:10px;--project-radius-lg:14px;--project-surface:var(--bg-elevated);--project-surface-raised:var(--bg-accent-tint);--project-border:var(--border);--project-border-soft:var(--border-soft);--project-text-primary:var(--text);--project-text-secondary:var(--text-dim);--project-accent:var(--accent-strong);--project-accent-hover:var(--accent);--project-success:var(--good);--project-warning:var(--warn);--project-danger:var(--bad)}.brand-logo{align-items:center;gap:10px;min-width:0;display:flex}.brand-logo img{width:158px;max-width:100%;height:auto;display:block}.brand-logo>span{border-left:1px solid var(--border);color:var(--text-faint);white-space:nowrap;padding-left:10px;font-size:12px}.brand-logo.compact img{width:180px}[data-theme=copper] .brand-logo img{opacity:.82;filter:saturate(.7)}.login-screen{width:100%;min-width:0;min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:var(--bg);color:var(--text);flex-direction:column;justify-content:center;align-items:center;font-family:Ubuntu,system-ui,sans-serif;display:flex;overflow:hidden auto}.login-theme-switch{top:max(16px, env(safe-area-inset-top));border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;padding:7px 10px;position:fixed;right:16px}.login-screen .brand-logo{margin-bottom:6px}.login-screen h1{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin:4px 0 20px;padding-bottom:.12em;line-height:1.15}.login-panel{flex-direction:column;gap:12px;width:min(100%,340px);min-width:0;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field span{color:var(--text-faint);font-size:13px}.field input{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);width:100%;min-width:0;color:var(--text);padding:10px 12px;font-size:16px}@media (height<=520px){.login-screen{justify-content:flex-start}}.field input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.hint{color:var(--text-dim);margin:0;font-size:14px;line-height:1.4}.login-error{color:var(--bad);margin:0;font-size:13px}.primary-button{border-radius:var(--radius-control);background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:var(--accent-text);cursor:pointer;box-shadow:var(--shadow-card);border:1px solid #0000;padding:11px 14px;font-size:15px;font-weight:600}.primary-button:hover:not(:disabled){filter:brightness(1.08)}.primary-button:disabled{opacity:.5;cursor:default;filter:none}.secondary-button{border-radius:var(--radius-control);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;padding:8px 14px;font-size:13px}.secondary-button:hover{border-color:var(--accent);color:var(--accent-strong)}.drag-handle{cursor:grab;touch-action:none;flex-shrink:0;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);gap:2px;width:10px;height:15px;display:grid}.drag-handle span{opacity:.35;background:currentColor;border-radius:50%;width:3px;height:3px}.drag-handle:hover span{opacity:.7}.sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;width:260px;min-width:260px;height:100%;font-family:system-ui,sans-serif;font-size:14px;transition:width .2s,min-width .2s;display:flex;overflow:hidden auto}.sidebar.collapsed{border-right:none;width:0;min-width:0}.sidebar.resizing{transition:none}@media (width<=768px){.sidebar,.sidebar.collapsed{border-right:1px solid var(--border);width:min(85vw,300px)!important;min-width:0!important}.sidebar{z-index:500;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:8px 0 24px #00000059}.sidebar:not(.collapsed){transform:translate(0)}}.sidebar-brand{padding:max(14px, env(safe-area-inset-top)) 14px 12px;border-bottom:1px solid var(--border-soft);background:linear-gradient(135deg, var(--bg-elevated), var(--bg))}.sidebar-brand .brand-logo img{flex:145px;width:145px;min-width:0}.sidebar-brand .brand-logo>span{flex:none}.sidebar-section{border-bottom:1px solid var(--border-soft);padding:10px 0}.main-nav-row{padding-top:8px;padding-bottom:8px;font-weight:650}.sidebar-tools-section{padding-top:7px;padding-bottom:7px}.sidebar-heading{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;padding:4px 12px 8px;font-size:12px;font-weight:600;display:flex}.sidebar-hint{color:var(--text-faint);padding:0 12px;font-size:13px}.tree-row{cursor:pointer;border-radius:var(--radius-control);color:var(--text-dim);align-items:center;gap:4px;margin:1px 6px;padding:6px 10px;display:flex;position:relative}.tree-row:hover{background:var(--bg-elevated);color:var(--text)}.tree-row.selected{background:var(--accent-soft);color:var(--accent-strong)}.folder-tree-nested{position:relative}.folder-tree-nested:before{content:"";z-index:0;top:0;bottom:0;left:var(--folder-guide-left);background:linear-gradient(to bottom, transparent, var(--border) 10px, var(--border) calc(100% - 10px), transparent);opacity:.8;pointer-events:none;width:1px;position:absolute}.folder-row[data-depth="0"] .tree-label{color:var(--text);font-weight:600}.folder-row[data-depth]:not([data-depth="0"]) .tree-label{color:var(--text-dim);font-size:13px}.folder-row.selected:after{content:"";background:var(--accent-strong);border-radius:0 3px 3px 0;width:3px;position:absolute;top:7px;bottom:7px;left:0}.folder-row.selected .tree-label{color:var(--accent-strong)}.tree-row.root-row{font-style:italic}.tree-row.dragging{opacity:.55;outline:1px solid var(--accent-strong)}[data-folder-drop-target].drop-target-active{background:var(--accent-soft);outline:2px dashed var(--accent-strong);color:var(--accent-strong)}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.task-badge{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:11px;font-weight:600}.tree-toggle,.tree-action{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px;line-height:1}.tree-toggle:hover,.tree-action:hover{opacity:1;color:var(--accent-strong);background:#d6934f2e}@media (hover:hover) and (pointer:fine){.folder-row .tree-action,.folder-row .drag-handle{opacity:.18;transition:opacity .15s}.folder-row:hover .tree-action,.folder-row:hover .drag-handle,.folder-row.selected .tree-action,.folder-row.selected .drag-handle{opacity:.75}}.tree-toggle-placeholder{flex-shrink:0;width:20px}.sidebar-footer{flex-direction:column;gap:8px;margin-top:auto;padding:12px;display:flex}.sidebar-footer button{border-radius:var(--radius-control);background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:var(--accent-text);cursor:pointer;box-shadow:var(--shadow-card);border:1px solid #0000;padding:9px 12px;font-weight:600}.sidebar-footer button:hover{filter:brightness(1.08)}.sidebar-footer button:active{filter:brightness(.94)}.sidebar-footer button:disabled{opacity:.5;cursor:default;filter:none}.sidebar-error{color:var(--bad);margin:0;font-size:12px}.sidebar-account{color:var(--text-faint);gap:7px;font-size:12px;display:grid}.sidebar-footer .theme-switch{border-color:var(--border);background:var(--bg-elevated);color:var(--text-dim);box-shadow:none}.sidebar-footer .theme-switch:hover{border-color:var(--accent);color:var(--accent-strong);filter:none}.sidebar-account-identity{gap:2px;min-width:0;display:grid}.sidebar-account-identity strong{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sidebar-account-identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account-actions{justify-content:flex-end;gap:6px;display:flex}.sidebar-account button{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;box-shadow:none;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:400}.sidebar-account button:hover{filter:none;border-color:var(--accent);color:var(--accent-strong)}.project-sidebar-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.project-sidebar-tools{gap:8px;padding:10px 8px;display:grid}.project-sidebar-tools .sidebar-heading{padding-bottom:2px;padding-left:4px}.project-sidebar-search{width:100%;height:var(--project-control-height);border:1px solid var(--project-border);border-radius:var(--project-radius-md);background:var(--bg-sunken);color:var(--project-text-primary);font:inherit;outline:none;padding:0 10px}.project-sidebar-search:focus{border-color:var(--project-accent);box-shadow:0 0 0 2px var(--accent-soft)}.project-sidebar-create{width:100%;height:var(--project-control-height);border-radius:var(--project-radius-md);background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:var(--accent-text);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;font-weight:700;display:flex}.project-sidebar-results{border-top:1px solid var(--project-border-soft);padding-top:2px}.project-sidebar-scroll{max-height:min(31vh,280px);overflow:hidden auto}.project-sidebar-scroll.customers{max-height:min(25vh,220px)}.project-sidebar-link{border-radius:var(--project-radius-sm);width:calc(100% - 12px);height:32px;min-height:32px;color:var(--project-text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;margin:0 6px;padding:0 10px;display:flex}.project-sidebar-link:hover{background:var(--project-surface);color:var(--project-text-primary)}.project-sidebar-link.selected{background:var(--accent-soft);color:var(--project-accent)}.project-sidebar-link span,.project-sidebar-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-sidebar-link small{color:var(--text-faint);font-size:11px}.project-customer-tree{flex:1;max-height:none}.project-tree-group{margin:0 6px 3px}.project-tree-customer{border-radius:var(--project-radius-sm);height:32px;color:var(--project-text-secondary);align-items:center;display:flex}.project-tree-customer:hover{background:var(--project-surface);color:var(--project-text-primary)}.project-tree-customer.selected{background:var(--accent-soft);color:var(--project-accent)}.project-tree-toggle{width:28px;height:32px;color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:0;flex:0 0 28px;place-items:center;padding:0;font-size:11px;display:grid}.project-tree-toggle:hover{color:var(--project-accent)}.project-tree-customer-link{min-width:0;height:32px;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;padding:0 8px 0 0;font-weight:620;overflow:hidden}.project-tree-projects{margin-left:14px;padding-left:9px;position:relative}.project-tree-projects:before{content:"";border-left:1px solid var(--project-border-soft);position:absolute;top:0;bottom:5px;left:0}.project-tree-projects .project-sidebar-link{width:100%;margin:0;padding-left:12px;font-size:13px}.project-tree-projects .project-sidebar-link:before{content:"";border-top:1px solid var(--project-border-soft);width:6px;margin-right:7px}.page-list{min-width:0;padding:20px 24px;padding-top:max(20px, env(safe-area-inset-top));background:var(--bg);color:var(--text);flex:1;font-family:system-ui,sans-serif;overflow-y:auto}.page-list-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-list-header h1{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;margin:0;font-size:20px;overflow:hidden}.page-list-header .renameable-folder-heading{cursor:pointer;border-radius:4px}.page-list-header .renameable-folder-heading:hover{color:var(--accent-strong)}.page-list-header .renameable-folder-heading:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sidebar-toggle{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;flex-shrink:0;padding:8px 10px}.sidebar-toggle:hover{border-color:var(--accent);color:var(--accent-strong)}.page-list-header>button:not(.sidebar-toggle){border-radius:var(--radius-control);background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:var(--accent-text);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-card);border:1px solid #0000;padding:9px 16px;font-weight:600}.page-list-header>button:not(.sidebar-toggle):hover{filter:brightness(1.08)}.page-list-hint{color:var(--text-faint)}.new-page-menu{position:relative}.new-page-menu>button{border-radius:var(--radius-control);background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:var(--accent-text);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-card);border:1px solid #0000;padding:9px 16px;font-weight:600}.new-page-menu>button:hover{filter:brightness(1.08)}.new-page-popover{z-index:20;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-card);min-width:200px;max-width:260px;box-shadow:var(--shadow-card);flex-direction:column;gap:2px;padding:6px;font-family:system-ui,sans-serif;font-size:13px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.new-page-option{border-radius:var(--radius-control);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.new-page-option:hover{background:var(--accent-soft);color:var(--accent-strong)}.new-page-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.new-page-divider{background:var(--border-soft);height:1px;margin:4px 2px}.new-page-option-delete{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:11px}.new-page-option-delete:hover{color:var(--bad)}.page-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.page-tile{border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;background:var(--bg-elevated);min-height:150px;box-shadow:var(--shadow-card);flex-direction:column;justify-content:flex-start;gap:8px;padding:38px 16px 16px;display:flex;position:relative}.page-tile:hover{border-color:var(--accent)}.page-tile.dragging{opacity:.55;outline:2px solid var(--accent-strong)}.page-tile-handle{color:var(--text-faint);position:absolute;top:10px;left:10px}.page-tile-preview{color:var(--text-faint);margin-top:auto;font-size:12px}.page-tile-title{color:var(--text);overflow-wrap:anywhere;white-space:normal;font-size:16px;font-weight:600;line-height:1.35}.page-tile-folder{color:var(--accent-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}.page-tile-meta{flex-wrap:wrap;gap:5px;display:flex}.page-tile-type,.page-tile-afn{border-radius:999px;padding:2px 7px;font-size:11px;line-height:1.35}.page-tile-type{color:var(--text-dim);background:var(--bg-accent-tint);border:1px solid var(--border-soft)}.page-tile-afn{color:var(--accent-strong);background:var(--accent-soft)}.page-tile-delete{color:var(--text-faint);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:4px;position:absolute;top:6px;right:6px}.page-tile-delete:hover{opacity:1;color:var(--bad);background:#bf615226}.backlinks-bar{padding:8px 14px;padding-bottom:max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--border-soft);background:var(--bg);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;font-family:system-ui,sans-serif;font-size:13px;display:flex}.backlinks-label{color:var(--text-faint);white-space:nowrap}.backlinks-list{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.backlink-chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:220px;padding:3px 10px;font-size:13px;overflow:hidden}.backlink-chip:hover{border-color:var(--accent);color:var(--accent-strong)}.drawing{flex-direction:column;width:100%;height:100%;display:flex}.drawing-toolbar{background:var(--bg);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.drawing-toolbar .swatch{border:2px solid var(--border);cursor:pointer;border-radius:50%;width:28px;height:28px;padding:0}.drawing-toolbar button{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;padding:8px 12px}.drawing-toolbar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.drawing-toolbar button.active{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:var(--accent-text);border-color:#0000;font-weight:600}.drawing-toolbar button:disabled{opacity:.4;cursor:default}.drawing-toolbar button.icon-button{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.pdf-file-input{display:none}.drawing-status.pdf-error{color:var(--bad,#d1263f)}.drawing-toolbar button.icon-button.lasso-delete{color:var(--bad,#d1263f);border-color:var(--bad,#d1263f)}.drawing-toolbar button.icon-button.lasso-delete:hover{background:var(--bad,#d1263f);color:#fff}.drawing-status{color:var(--text-faint);white-space:nowrap;margin-left:auto;font-family:ui-monospace,Consolas,monospace;font-size:12px}.drawing-canvas-wrap{overscroll-behavior-x:contain;background-color:#f3f0e7;flex:1;width:100%;min-height:0;position:relative;overflow:auto hidden}.drawing-background{transform-origin:0 0;pointer-events:none;background-color:#f3f0e7;width:100%;height:100%;position:absolute;inset:0}.drawing-canvas{transform-origin:0 0;pointer-events:none;background:0 0;width:100%;height:100%;position:absolute;inset:0}.bg-lined{background-image:repeating-linear-gradient(#0000,#0000 39px,#d8d0ba 39px 40px)}.bg-dotted{background-image:radial-gradient(#c7bfa4 1.2px,#0000 1.2px);background-size:24px 24px}.bg-blank{background-image:none}.drawing-background-chunk{width:100%;position:absolute;left:0}.cornell-page{box-sizing:border-box;flex-direction:column;gap:10px;padding:34px 14px 14px;display:flex;position:absolute;inset:0}.cornell-title{color:#4a4433;padding-left:4px;font-family:system-ui,sans-serif;font-size:19px;font-weight:500}.cornell-subject,.cornell-details,.cornell-keypoints,.cornell-summary{box-sizing:border-box;background-image:repeating-linear-gradient(#0000,#0000 27px,#d8d0ba 27px 28px);background-position:0 22px;border:1.5px solid #b7a98a;position:relative}.cornell-subject{flex-shrink:0;height:44px}.cornell-main{flex:1;gap:10px;min-height:0;display:flex}.cornell-details{flex:0 0 65%}.cornell-keypoints{flex:1}.cornell-summary{flex-shrink:0;height:110px}.cornell-label{letter-spacing:.08em;text-transform:uppercase;color:#9c8f6f;font-family:system-ui,sans-serif;font-size:10px;font-weight:600;position:absolute;top:4px;left:8px}.page-updated-at{color:#a89c7c;pointer-events:none;font-family:system-ui,sans-serif;font-size:11px;position:absolute;top:8px;left:10px}.pdf-layer{transform-origin:0 0;pointer-events:none;width:100%;position:absolute;top:0;left:0}.pdf-page{width:100%;box-shadow:0 1px 4px #0000002e}.drawing-overlay{touch-action:none;-webkit-user-drag:none;-webkit-touch-callout:none;position:absolute;inset:0}.task-layer{transform-origin:0 0;pointer-events:none;position:absolute;inset:0}.task-layer.task-mode,.task-layer.text-mode{pointer-events:auto;cursor:crosshair}.task-block{color:#2a2418;pointer-events:auto;touch-action:none;background:#ffffffe0;border:1px solid #d8d0ba;border-radius:8px;align-items:flex-start;gap:6px;max-width:260px;padding:5px 8px;font-family:system-ui,sans-serif;font-size:14px;line-height:1.35;display:flex;position:absolute;box-shadow:0 1px 3px #0000001f}.task-block.completed .task-text{opacity:.55;text-decoration:line-through}.task-block.dragging{outline:2px solid var(--accent-strong);opacity:.95;z-index:5;box-shadow:0 4px 14px #00000047}.task-drag-handle{cursor:grab;touch-action:none;flex-shrink:0;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);gap:2px;width:10px;height:15px;margin-top:4px;display:grid}.task-drag-handle span{opacity:.35;background:currentColor;border-radius:50%;width:3px;height:3px}.task-block:hover .task-drag-handle span,.task-block.dragging .task-drag-handle span{opacity:.65}.task-block.dragging .task-drag-handle{cursor:grabbing}.task-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:2px}.task-text{word-break:break-word;cursor:text;flex:1;min-width:40px}.task-text-input{min-width:80px;font:inherit;color:inherit;outline:1px solid var(--accent);background:0 0;border:none;border-radius:4px;flex:1;padding:0 2px}.task-delete{color:inherit;opacity:.4;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px;font-size:11px}.task-delete:hover{opacity:1;color:var(--bad)}.text-block{color:#2a2418;pointer-events:auto;touch-action:none;background:0 0;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:6px;min-width:140px;padding:6px 8px;font-family:system-ui,sans-serif;font-size:14px;line-height:1.4;display:flex;position:absolute}.text-block.active{background:#fdf6eaeb;border-color:#d9c3a0;box-shadow:0 1px 3px #0000001f}.text-block.dragging{outline:2px solid var(--accent-strong);opacity:.95;z-index:5;box-shadow:0 4px 14px #00000047}.text-block-alignment-guide{z-index:4;border-left:1px dashed var(--accent-strong);width:0;filter:drop-shadow(0 0 2px var(--bg));pointer-events:none;position:absolute;transform:translate(-.5px)}.text-block-drag-handle{cursor:grab;touch-action:none;flex-shrink:0;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);gap:2px;width:10px;height:15px;margin-top:4px;display:grid}.text-block-drag-handle span{opacity:.35;background:currentColor;border-radius:50%;width:3px;height:3px}.text-block:hover .text-block-drag-handle span,.text-block.dragging .text-block-drag-handle span{opacity:.65}.text-block.dragging .text-block-drag-handle{cursor:grabbing}.text-block-content{word-break:break-word;white-space:pre-wrap;cursor:text;flex:1;min-width:60px}.text-block-placeholder{color:#8a7f6a}.text-block-edit-wrap{flex:1;min-width:160px;position:relative;overflow:visible}.text-block-resize-handle{z-index:3;cursor:ew-resize;touch-action:none;width:24px;height:24px;position:absolute;bottom:3px;right:3px}.text-block-resize-handle:after{content:"";opacity:.65;border-bottom:2px solid;border-right:2px solid;width:9px;height:9px;position:absolute;bottom:3px;right:3px}.text-block-input{box-sizing:border-box;width:100%;min-height:58px;font:inherit;color:inherit;outline:1px solid var(--accent);white-space:pre-wrap;word-break:break-word;background:0 0;border:none;border-radius:4px;padding:2px 4px}.text-block-input:empty:before{content:attr(data-placeholder);color:#8a7f6a;pointer-events:none}.text-format-trigger{color:inherit;opacity:.55;cursor:pointer;background:0 0;border:1px solid;border-radius:5px;flex-shrink:0;align-self:flex-start;padding:4px;font:600 11px/1 system-ui,sans-serif}.text-format-trigger:hover,.text-format-trigger.active{opacity:1;color:var(--accent-strong)}.text-format-toolbar{z-index:1000;border:1px solid var(--border);background:var(--panel);color:var(--text);touch-action:manipulation;border-radius:8px;align-items:center;gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%,-100%);box-shadow:0 5px 20px #0000004d}.text-format-toolbar.below{transform:translate(-50%)}.text-format-toolbar button,.text-format-toolbar select,.text-format-color{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);height:30px;color:var(--text);border-radius:5px}.text-format-toolbar button{cursor:pointer;min-width:30px;padding:4px 7px}.text-format-size{width:54px;padding:2px 4px}.text-format-color{cursor:pointer;place-items:center;width:34px;font-weight:700;display:grid;position:relative;overflow:hidden}.text-format-color input{opacity:.9;cursor:pointer;border:0;width:28px;height:4px;padding:0;position:absolute;inset:auto 3px 2px}.page-link{color:var(--accent-strong,#b97c45);text-underline-offset:2px;cursor:pointer;font-weight:500;text-decoration:underline}.page-link:hover{filter:brightness(.85)}.link-autocomplete{z-index:10;background:#fff;border:1px solid #d8d0ba;border-radius:8px;min-width:180px;max-width:280px;max-height:180px;margin-top:4px;font-size:13px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 14px #00000038}.link-autocomplete-row{cursor:pointer;color:#2a2418;white-space:nowrap;text-overflow:ellipsis;padding:7px 10px;overflow:hidden}.link-autocomplete-row.active,.link-autocomplete-row:hover{background:var(--accent-soft,#b97c4529)}.drawing-canvas-wrap.dark-paper,.dark-paper .drawing-background{background-color:#191915}.dark-paper{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dark-paper .bg-lined{background-image:repeating-linear-gradient(#0000,#0000 39px,#3d3b32 39px 40px)}.dark-paper .bg-dotted{background-image:radial-gradient(#575348 1.2px,#0000 1.2px)}.dark-paper .cornell-title,.dark-paper .page-updated-at{color:#c9c0ad}.dark-paper .cornell-subject,.dark-paper .cornell-details,.dark-paper .cornell-keypoints,.dark-paper .cornell-summary{background-image:repeating-linear-gradient(#0000,#0000 27px,#3d3b32 27px 28px);border-color:#5b5649}.dark-paper .cornell-label{color:#aaa18e}.dark-paper .task-block{color:#f3ead8;background:#2a2923f0;border-color:#514d43;box-shadow:0 1px 4px #00000061}.dark-paper .text-block{color:#f3ead8}.dark-paper .text-block.active{background:#2d2a23f2;border-color:#665c4b;box-shadow:0 1px 4px #0006}.dark-paper .text-block-placeholder{color:#aaa18e}.dark-paper .link-autocomplete{background:#292821;border-color:#575247}.dark-paper .link-autocomplete-row{color:#f3ead8}.page-properties{flex-shrink:0;position:relative}.properties-toggle{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);width:36px;height:36px;color:var(--text-dim);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.properties-toggle:hover{border-color:var(--accent);color:var(--accent-strong)}.properties-toggle.active{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:var(--accent-text);border-color:#0000}.properties-popover{z-index:20;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-card);width:min(320px,100vw - 24px);max-height:min(680px,100vh - 90px);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:12px;font-family:system-ui,sans-serif;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.properties-field{flex-direction:column;gap:4px;font-size:13px;display:flex}.properties-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.properties-field select,.properties-field input[type=date],.properties-field input[type=text]{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:6px 8px;font-size:13px}.properties-heading{color:var(--text);font-size:15px;font-weight:650}.properties-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.properties-remove{color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:0 3px}.properties-remove:hover{color:var(--bad)}.properties-system-value{border-radius:var(--radius-control);background:var(--bg);color:var(--text-dim);padding:6px 8px;font-size:13px}.properties-suggestions,.properties-more{flex-direction:column;gap:6px;display:flex}.properties-more summary{color:var(--text-dim);cursor:pointer;font-size:12px}.properties-suggestion-list{flex-wrap:wrap;gap:5px;display:flex}.properties-suggestion-list button{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;border-radius:999px;padding:4px 7px;font-size:11px}.properties-suggestion-list button:hover{border-color:var(--accent);color:var(--accent-strong)}.properties-date-row{align-items:center;gap:6px;display:flex}.properties-date-row input[type=date]{flex:1;min-width:0}.properties-date-clear{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;font-size:12px}.properties-date-clear:hover{color:var(--bad)}.properties-afn-list{flex-wrap:wrap;gap:6px;display:flex}.properties-afn-chip{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 6px;font-size:12px;display:flex}.properties-afn-chip button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:11px;line-height:1}.properties-afn-chip button:hover{opacity:1}.properties-afn-add{align-items:center;gap:6px;display:flex}.properties-afn-add input{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);flex:1;padding:6px 8px;font-size:13px}.properties-afn-add button{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);width:28px;height:28px;color:var(--text-dim);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex}.properties-afn-add button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.properties-afn-add button:disabled{opacity:.4;cursor:default}.properties-divider{background:var(--border-soft);height:1px;margin:2px 0}.properties-save-template{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;text-align:left;padding:7px 10px;font-size:13px}.properties-save-template:hover{border-color:var(--accent);color:var(--accent-strong)}.page-editor{background:var(--bg);flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.page-editor-header{padding:10px 14px;padding-top:max(10px, env(safe-area-inset-top));border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;font-family:system-ui,sans-serif;display:flex}.back-button,.sidebar-toggle{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;white-space:nowrap;padding:7px 11px}.back-button:hover,.sidebar-toggle:hover{border-color:var(--accent);color:var(--accent-strong)}.page-title-input{color:var(--text);background:0 0;border:none;flex:1;min-width:0;padding:4px 6px;font-size:18px;font-weight:500}.page-title-input:focus{outline:1px solid var(--accent);border-radius:6px}.favorite-toggle{color:var(--text-faint);cursor:pointer;border-radius:var(--radius-control);background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:22px;line-height:1}.favorite-toggle:hover,.favorite-toggle.active{color:var(--accent-strong)}.page-tags-row{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px;font-family:system-ui,sans-serif;font-size:13px;display:flex}.tag-chip{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.tag-chip button{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;padding:0;font-size:11px}.tag-chip button:hover{opacity:1}.tag-input{border:1px dashed var(--border);min-width:80px;color:var(--text);background:0 0;border-radius:999px;padding:3px 10px;font-size:13px}.tag-input-wrap{position:relative}.tag-suggestions{z-index:20;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-elevated);min-width:180px;max-width:min(280px,100vw - 28px);padding:4px;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 8px 24px #0000002e}.tag-suggestions button{width:100%;color:var(--text);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 9px;display:block;overflow:hidden}.tag-suggestions button:hover,.tag-suggestions button.active{background:var(--accent-soft);color:var(--accent-strong)}.background-select{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);margin-left:auto;padding:5px 8px;font-size:13px}.paper-mode-toggle{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;align-items:center;gap:5px;padding:5px 9px;font-size:13px;display:inline-flex}.paper-mode-toggle:hover,.paper-mode-toggle.active{border-color:var(--accent);color:var(--accent-strong)}.page-editor-canvas{flex:1;min-height:0}.tasks-view{min-width:0;padding:20px 24px;padding-top:max(20px, env(safe-area-inset-top));background:var(--bg);color:var(--text);flex:1;font-family:system-ui,sans-serif;overflow-y:auto}.tasks-view h1{margin:0 0 14px;font-size:20px}.quick-task-form{gap:8px;max-width:620px;margin-bottom:20px;display:flex}.quick-task-form input{border-radius:var(--radius-control);border:1px solid var(--border-soft);background:var(--bg-elevated);min-width:0;color:var(--text);font:inherit;flex:1;padding:9px 11px}.quick-task-form input:focus{border-color:var(--accent);outline:none}.quick-task-form button{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-contrast,white);cursor:pointer;padding:9px 14px}.quick-task-form button:disabled{opacity:.45;cursor:default}.tasks-view h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:24px 0 10px;font-size:12px}.tasks-view h2:first-of-type{margin-top:0}.tasks-hint{color:var(--text-faint);margin:0;font-size:13px}.task-list{flex-direction:column;gap:8px;width:min(100%,860px);display:flex}.central-task-row{border-radius:var(--radius-control);background:var(--bg-elevated);border:1px solid var(--border-soft);cursor:pointer;align-items:center;gap:12px;min-height:58px;padding:11px 14px;transition:border-color .15s,background .15s;display:flex}.central-task-row:hover{border-color:var(--accent);background:var(--bg-hover,var(--bg-elevated))}.central-task-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:18px;height:18px;margin:0}.central-task-text{flex:1;min-width:0}.central-task-title{color:var(--text);overflow-wrap:break-word;line-height:1.35}.central-task-title.completed{color:var(--text-faint);text-decoration:line-through}.central-task-source{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.quick-task-row{cursor:default}.quick-task-delete{border-radius:var(--radius-control);width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:20px;line-height:1}.quick-task-delete:hover{background:var(--bg-hover,var(--border-soft));color:var(--text)}@media (width<=560px){.quick-task-form{flex-direction:column}}.search-view{min-width:0;padding:20px 24px;padding-top:max(20px, env(safe-area-inset-top));background:var(--bg);color:var(--text);flex:1;font-family:system-ui,sans-serif;overflow-y:auto}.search-input{box-sizing:border-box;border-radius:var(--radius-card);border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text);margin-bottom:10px;padding:14px 16px;font-size:18px}.search-input:focus{border-color:var(--accent);outline:none}.search-input::placeholder{color:var(--text-faint)}.search-property-filters{flex-wrap:wrap;align-items:center;gap:7px;max-width:100%;margin-bottom:20px;display:flex;position:relative}.search-property-control{flex:0 220px;align-items:stretch;gap:4px;min-width:170px;max-width:100%;display:flex}.search-property-filter,.search-property-remove,.search-filters-reset,.search-add-filter summary,.search-add-filter-menu button{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-elevated);min-height:34px;color:var(--text);font:inherit;font-size:13px}.search-property-filter{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:auto;width:100%;min-width:0;padding:6px 28px 6px 10px}.search-property-filter option{background:var(--bg-elevated);color:var(--text)}.search-property-filter:hover,.search-property-filter:focus,.search-property-remove:hover,.search-property-remove:focus,.search-filters-reset:hover,.search-filters-reset:focus,.search-add-filter summary:hover,.search-add-filter summary:focus,.search-add-filter-menu button:hover,.search-add-filter-menu button:focus{border-color:var(--accent);outline:none}.search-property-filter.active{border-color:var(--accent);background:var(--accent-soft)}.search-property-remove{color:var(--text-faint);cursor:pointer;flex:0 0 34px;padding:0}.search-property-remove:hover,.search-property-remove:focus{color:var(--bad)}.search-add-filter{flex:none;position:relative}.search-add-filter summary{color:var(--accent-strong);cursor:pointer;white-space:nowrap;align-items:center;padding:6px 10px;list-style:none;display:flex}.search-add-filter summary::-webkit-details-marker{display:none}.search-add-filter-menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-elevated);flex-direction:column;min-width:150px;padding:5px;display:flex;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 10px 30px #00000047}.search-add-filter-menu button{text-align:left;cursor:pointer;border-color:#0000;padding:6px 9px}.search-filters-reset{color:var(--accent);cursor:pointer;white-space:nowrap;flex:none;padding:6px 10px}.search-hint{color:var(--text-faint);margin:0;font-size:13px}.search-group h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:20px 0 10px;font-size:12px}.search-group:first-of-type h2{margin-top:0}.search-row{border-radius:var(--radius-control);background:var(--bg-elevated);border:1px solid var(--border-soft);cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:6px;padding:10px 12px;display:flex}.search-row:hover{border-color:var(--accent)}.search-row-icon{color:var(--text-faint);flex-shrink:0}.search-row-title{color:var(--text);overflow-wrap:break-word}.search-row-title.completed{color:var(--text-faint);text-decoration:line-through}.search-row-text{min-width:0}.search-row-sub{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}@media (width<=640px){.search-view{padding-left:14px;padding-right:14px}.search-input{font-size:16px}.search-property-control{flex:calc(50% - 4px)}}@media (width<=420px){.search-property-control{flex-basis:100%;min-width:100%}}.all-notes-view{min-width:0;padding:20px 24px;padding-top:max(20px, env(safe-area-inset-top));background:var(--bg);color:var(--text);flex:1;font-family:system-ui,sans-serif;overflow-y:auto}.all-notes-view h1{margin:0 0 16px;font-size:20px}.all-notes-filters{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.filter-field{flex-direction:column;gap:4px;display:flex}.filter-field label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.filter-field select,.filter-field input{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);min-width:120px;padding:6px 8px;font-size:13px}.all-notes-reset{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;white-space:nowrap;padding:7px 12px;font-size:13px}.all-notes-reset:hover{border-color:var(--accent);color:var(--accent-strong)}.all-notes-hint{color:var(--text-faint);margin:0;font-size:13px}.all-notes-list{flex-direction:column;gap:6px;display:flex}.all-notes-row{border-radius:var(--radius-control);background:var(--bg-elevated);border:1px solid var(--border-soft);cursor:pointer;padding:10px 12px}.all-notes-row:hover{border-color:var(--accent)}.all-notes-row-main{align-items:baseline;gap:10px;display:flex}.all-notes-row-title{color:var(--text);overflow-wrap:break-word;flex:1;min-width:0}.all-notes-row-type{color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:11px}.all-notes-row-meta{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.all-notes-row-date,.all-notes-row-tag{white-space:nowrap}.all-notes-row-afn{white-space:nowrap;color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:1px 8px}.all-notes-row-folder{white-space:nowrap}.project-task-status{cursor:pointer;transition:border-color .12s,filter .12s,transform .12s}.project-task-status:hover,.project-task-status:focus-visible{border-color:var(--project-accent);filter:brightness(1.15);outline:none}.project-task-status:active{transform:translateY(1px)}.project-task-status.compact{min-height:24px;padding:2px 7px;font-size:.65rem}.dashboard-view{background:var(--bg);min-width:0;height:100%;color:var(--text);flex:1;padding:clamp(20px,4vw,52px);font-family:system-ui,sans-serif;overflow-y:auto}.dashboard-header{align-items:center;gap:12px;margin-bottom:22px;display:flex}.dashboard-header h1{margin:0;font-size:clamp(24px,3vw,34px)}.dashboard-header p{color:var(--text-faint);margin:4px 0 0;font-size:14px}.dashboard-sidebar-toggle{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-elevated);width:38px;height:38px;color:var(--text);cursor:pointer;align-self:flex-start}.dashboard-quick-actions{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.dashboard-quick-actions button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-elevated);color:var(--text-dim);cursor:pointer;padding:9px 13px;font-weight:600}.dashboard-quick-actions button:hover{border-color:var(--accent);color:var(--accent-strong)}.dashboard-quick-actions button.primary{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:var(--accent-text);border-color:#0000}.dashboard-grid{grid-template-columns:minmax(280px,1.15fr) minmax(280px,1fr);align-items:start;gap:16px;display:grid}.dashboard-wide-section{grid-column:1/-1}.dashboard-section{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--bg-elevated);min-width:0;box-shadow:var(--shadow-card);padding:16px}.dashboard-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.dashboard-section-heading h2{margin:0;font-size:15px}.dashboard-text-action{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:2px;font-size:12px}.dashboard-empty{color:var(--text-faint);margin:4px 0;font-size:13px}.dashboard-project-metrics{grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px;margin-bottom:16px;display:grid}.dashboard-project-metrics>div{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--bg);padding:10px 12px}.dashboard-project-metrics strong,.dashboard-project-metrics span{display:block}.dashboard-project-metrics strong{font-size:20px}.dashboard-project-metrics span{color:var(--text-faint);margin-top:2px;font-size:11px}.dashboard-project-columns{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:22px;display:grid}.dashboard-project-columns h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:12px;font-weight:650}.dashboard-project-task,.dashboard-active-project{border:0;border-top:1px solid var(--border-soft);width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;display:flex}.dashboard-project-task-main{align-items:center;gap:7px;min-width:0;display:flex}.dashboard-project-task-main small{color:var(--accent-strong);flex-shrink:0}.dashboard-project-task-main strong,.dashboard-active-project strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.dashboard-project-task-meta,.dashboard-active-project>span:last-child,.dashboard-active-project small{color:var(--text-faint);flex-shrink:0;font-size:11px}.dashboard-active-project>span:first-child{flex-direction:column;min-width:0;display:flex}.dashboard-project-task:hover strong,.dashboard-active-project:hover strong{color:var(--accent-strong)}.dashboard-task-list,.dashboard-page-list{flex-direction:column;display:flex}.dashboard-task{border-top:1px solid var(--border-soft);align-items:flex-start;gap:9px;padding:9px 2px;display:flex}.dashboard-task:first-child,.dashboard-page-row:first-child{border-top:0}.dashboard-task input{accent-color:var(--accent-strong);margin-top:3px}.dashboard-task-content,.dashboard-page-row{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0}.dashboard-task-content{flex-direction:column;flex:1;gap:3px;padding:0;display:flex}.dashboard-page-row{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:14px;padding:9px 2px;display:flex}.dashboard-page-main{flex-direction:column;gap:3px;min-width:0;display:flex}.dashboard-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-item-meta,.dashboard-time{color:var(--text-faint);font-size:12px}.dashboard-time{flex-shrink:0}.dashboard-task-content:hover .dashboard-item-title,.dashboard-page-row:hover .dashboard-item-title{color:var(--accent-strong)}.dashboard-favorite-list{flex-wrap:wrap;gap:7px;display:flex}.dashboard-favorite-list button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg);max-width:260px;color:var(--accent-strong);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;padding:6px 9px;overflow:hidden}.dashboard-favorite-list button span{color:var(--text-dim)}@media (width<=820px){.dashboard-view{padding:20px 16px 36px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.dashboard-wide-section{grid-column:auto}.dashboard-project-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.dashboard-quick-actions{grid-template-columns:1fr 1fr;display:grid}.dashboard-quick-actions button{min-width:0}.dashboard-page-row{flex-direction:column;align-items:flex-start;gap:4px}.dashboard-project-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-project-task{flex-direction:column;align-items:flex-start;gap:2px}}.projects-view{min-width:0;height:100%;padding:var(--project-page-padding);color:var(--project-text-primary);background:var(--bg);flex:1;overflow:auto}.project-page-content,.project-detail-content{width:100%;max-width:var(--project-page-max);margin:0 auto}.projects-header{justify-content:space-between;align-items:flex-start;gap:var(--project-content-gap);display:flex}.projects-header h1{margin:2px 0 20px;font-size:2rem}.projects-eyebrow{color:var(--text-faint);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:650}.projects-view button,.projects-view input,.projects-view select,.projects-view textarea{font:inherit}.projects-view button{cursor:pointer}.primary,.secondary-action,.danger-action,.project-list-tools button,.milestone-actions button{width:auto;min-height:var(--project-control-height);padding:0 var(--project-control-padding-x);border-radius:var(--project-radius-md);justify-content:center;align-items:center;font-size:.86rem;display:inline-flex}.primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:var(--accent-text);border:1px solid #0000;font-weight:700}.primary:hover{filter:brightness(1.08)}.primary.compact{min-height:var(--project-control-height);padding:0 var(--project-control-padding-x)}.primary:disabled,.milestone-actions button:disabled{opacity:.4;cursor:not-allowed}.secondary-action,.project-list-tools button,.milestone-actions button{border:1px solid var(--project-border);background:var(--project-surface);color:var(--project-text-secondary)}.secondary-action:hover,.project-list-tools button:hover,.milestone-actions button:hover:not(:disabled){border-color:var(--project-accent);color:var(--project-accent)}.danger-action{color:var(--project-danger);background:0 0;border:1px solid #0000;padding-left:0;padding-right:0}.dialog-form-field input,.dialog-form-field select,.overview-due-date input,.project-search,.assignee-filter select{height:var(--project-control-height);min-height:var(--project-control-height);border:1px solid var(--project-border);border-radius:var(--project-radius-md);background:var(--bg);color:var(--project-text-primary);outline:none}.dialog-form-field input,.dialog-form-field select,.project-search,.assignee-filter select{padding:0 var(--project-control-padding-x)}.dialog-form-field input:focus,.dialog-form-field select:focus,.dialog-form-field textarea:focus,.overview-due-date input:focus,.project-search:focus,.assignee-filter select:focus{border-color:var(--project-accent);box-shadow:0 0 0 2px var(--accent-soft)}.dialog-form-field input[list]::-webkit-calendar-picker-indicator{display:none}.project-tabs{border-bottom:1px solid var(--project-border);gap:8px;margin-bottom:24px;display:flex}.project-tabs button{min-height:var(--project-control-height);color:var(--project-text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 12px}.project-tabs button:hover{color:var(--project-text-primary)}.project-tabs .active{border-bottom-color:var(--project-accent);color:var(--project-accent)}.project-list-tools{margin-bottom:var(--project-content-gap);align-items:center;gap:10px;display:flex}.project-search{width:min(420px,100%);margin:0}.project-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.project-card{border:1px solid var(--project-border-soft);border-radius:var(--project-radius-lg);background:var(--project-surface);width:100%;min-height:76px;color:var(--project-text-primary);text-align:left;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;display:flex}.project-card:hover{border-color:var(--project-border);background:var(--project-surface-raised)}.project-card small{color:var(--text-faint);margin-top:4px;display:block}.project-metrics{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;display:grid}.project-metric,.project-section{border:1px solid var(--project-border-soft);border-radius:var(--project-radius-lg);background:var(--project-surface)}.project-metric{padding:16px}.project-metric strong{font-size:1.6rem;display:block}.project-metric span{color:var(--text-faint);margin-top:4px;display:block}.project-section{margin-top:20px;padding:18px}.project-section h2{margin:0 0 12px;font-size:1.05rem}.empty{color:var(--project-text-secondary)}.overview-task-section{padding-bottom:10px}.overview-task-list{flex-direction:column;display:flex}.overview-task-row{border-top:1px solid var(--project-border-soft);grid-template-columns:minmax(0,1fr) 38px 48px 150px 112px;align-items:center;gap:12px;min-height:54px;display:grid}.overview-task-row>.project-status-badge{justify-self:end}.overview-task-main{min-width:0;color:var(--project-text-primary);text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:10px 0;font-size:.82rem;display:flex}.overview-task-main:hover .overview-task-title{color:var(--project-accent)}.overview-customer{color:var(--project-accent);flex-shrink:0;font-size:.75rem}.overview-project{color:var(--project-text-secondary);flex-shrink:0;font-weight:620}.overview-project:after{content:"·";color:var(--text-faint);margin-left:7px}.overview-task-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.overview-afns{color:var(--text-faint);flex-shrink:0;font-size:.68rem}.overview-custom-field{border:1px solid var(--project-border-soft);color:var(--project-text-secondary);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:.68rem}.overview-waiting-for{border:1px solid color-mix(in srgb,var(--project-warning) 35%,transparent);background:color-mix(in srgb,var(--project-warning) 8%,transparent);color:var(--project-warning);border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:.68rem}.overview-assignee{background:var(--accent-soft);width:32px;height:32px;color:var(--project-accent);cursor:help;border-radius:50%;place-items:center;font-size:.68rem;font-weight:750;display:inline-grid}.comment-preview{position:relative}.comment-preview summary,.comment-preview-empty{min-height:32px;color:var(--project-text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:3px;font-size:.8rem;list-style:none;display:flex}.comment-preview summary::-webkit-details-marker{display:none}.comment-preview-empty{opacity:.35}.comment-preview-popover{z-index:20;border:1px solid var(--project-border);border-radius:var(--project-radius-md);background:var(--project-surface-raised);width:min(360px,100vw - 40px);max-height:280px;padding:10px;display:none;position:absolute;bottom:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 14px 36px #0006}.comment-preview[open] .comment-preview-popover,.comment-preview:hover .comment-preview-popover,.comment-preview:focus-within .comment-preview-popover{display:block}.comment-preview-popover article+article{border-top:1px solid var(--project-border-soft);margin-top:8px;padding-top:8px}.comment-preview-popover header{color:var(--project-text-secondary);align-items:center;gap:6px;font-size:.68rem;display:flex}.comment-preview-popover header strong{color:var(--project-accent)}.comment-preview-popover time{color:var(--text-faint);margin-left:auto}.comment-preview-popover p{white-space:pre-wrap;margin:5px 0 0;font-size:.78rem;line-height:1.35}.overview-due-date input{width:150px;padding:0 9px;font-size:.76rem;display:block}.task-overview-toolbar{margin-top:var(--project-content-gap);justify-content:flex-end;display:flex}.other-tasks-toggle{width:auto}.project-detail-task-list{border-top:1px solid var(--project-border-soft);margin-top:14px}.back-link{color:var(--project-text-secondary);background:0 0;border:0;margin-bottom:12px;padding:4px 0;display:inline-flex}.back-link:hover{color:var(--project-accent)}.project-read-header{border-bottom:1px solid var(--project-border-soft);justify-content:space-between;align-items:center;gap:20px;padding:8px 0 14px;display:flex}.project-read-title{min-width:0}.project-read-title h1{white-space:nowrap;gap:8px;margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:720;line-height:1.15;display:flex;overflow:hidden}.project-read-title h1 span{text-overflow:ellipsis;overflow:hidden}.project-read-title h1 i{color:var(--text-faint);font-style:normal}.project-read-title p{color:var(--project-text-secondary);flex-wrap:wrap;gap:5px 18px;margin:7px 0 0;font-size:.78rem;display:flex}.project-header-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:7px;display:flex}.project-header-actions .secondary-action{min-height:32px;padding:0 10px;font-size:.75rem}.project-status-badge{border:1px solid var(--project-border);background:var(--project-surface);min-height:28px;color:var(--project-text-secondary);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:750;display:inline-flex}.status-active,.status-in_progress{border-color:color-mix(in srgb,var(--project-success) 45%,transparent);color:var(--project-success);background:color-mix(in srgb,var(--project-success) 10%,transparent)}.status-waiting{border-color:color-mix(in srgb,var(--project-warning) 45%,transparent);color:var(--project-warning);background:color-mix(in srgb,var(--project-warning) 10%,transparent)}.status-completed,.status-archived{color:var(--text-faint)}.status-archived{border-style:dashed}.status-open{border-color:var(--project-accent-hover);color:var(--project-accent);background:var(--accent-soft)}.project-meta-grid{gap:clamp(36px,8vw,100px);padding:24px 0;display:flex}.project-meta-item{flex-direction:column;gap:5px;display:flex}.project-meta-item span,.project-read-description>span{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.project-meta-item strong{font-size:.95rem;font-weight:600}.assignee-filter{color:var(--project-text-secondary);align-items:center;gap:9px;margin-bottom:10px;font-size:.78rem;display:flex}.assignee-filter select{width:auto;min-width:160px}.team-member-list{gap:6px;margin-top:18px;display:grid}.team-member-list label{min-height:var(--project-control-height);border:1px solid var(--project-border-soft);border-radius:var(--project-radius-md);background:var(--bg);align-items:center;gap:10px;padding:0 12px;display:flex}.team-member-list input{width:16px;height:16px;accent-color:var(--project-accent)}.team-member-list span{flex:1}.team-member-list small{color:var(--text-faint)}.project-read-description{max-width:820px;margin-bottom:20px}.project-read-description p{color:var(--project-text-secondary);white-space:pre-wrap;margin:6px 0 0;line-height:1.6}.project-tasks-section,.project-milestones-section,.project-notes-section{border-top:1px solid var(--project-border);margin-top:20px;padding-top:18px}.project-tasks-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.project-tasks-heading h2,.project-milestones-section h2{margin:3px 0 0;font-size:1.4rem}.project-quick-task-form{gap:8px;max-width:720px;margin:18px 0 16px;display:flex}.project-quick-task-form input{border:1px solid var(--border-soft);border-radius:var(--radius-control);background:var(--bg-elevated);min-width:0;color:var(--text);font:inherit;flex:1;padding:10px 12px}.project-quick-task-form input:focus{border-color:var(--accent);outline:none}.project-quick-task-form button{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--accent-contrast,white);font:inherit;cursor:pointer;padding:10px 15px}.project-quick-task-form button:disabled{opacity:.45;cursor:default}.project-notes-empty{color:var(--project-text-secondary);margin:14px 0 0;font-size:.82rem}.project-note-list{border-top:1px solid var(--project-border-soft);flex-direction:column;margin-top:14px;display:flex}.project-note-list>button{border:0;border-bottom:1px solid var(--project-border-soft);min-height:52px;color:var(--project-text-primary);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:16px;padding:8px;display:flex}.project-note-list>button:hover{background:var(--project-surface-raised)}.project-note-list>button span{flex-direction:column;gap:3px;min-width:0;display:flex}.project-note-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-note-list small,.project-note-list time{color:var(--project-text-secondary);font-size:.72rem}.task-filter-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.task-filter-bar{scrollbar-width:none;gap:7px;padding:18px 0 14px;display:flex;overflow-x:auto}.task-filter-bar button{min-height:var(--project-control-height);border:1px solid var(--project-border-soft);color:var(--project-text-secondary);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:.78rem;display:flex}.task-filter-bar button strong{background:var(--project-surface);min-width:18px;color:var(--text-faint);border-radius:999px;padding:1px 5px;font-size:.7rem}.task-filter-bar button.active{border-color:var(--project-accent-hover);background:var(--accent-soft);color:var(--project-accent)}.task-filter-menu{flex-shrink:0;position:relative}.secondary-action.active{border-color:var(--project-accent-hover);color:var(--project-accent);background:var(--accent-soft)}.task-filter-popover{flex-direction:column;gap:12px;min-width:220px;padding:14px;display:flex}.task-filter-popover .assignee-filter{flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:0}.task-filter-popover .assignee-filter select{width:100%;min-width:0}.task-column-header,.task-row{grid-template-columns:minmax(0,1fr) 110px 90px 90px 130px 110px}.task-column-header{color:var(--text-faint);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:10px;padding:6px 16px 6px 34px;font-size:.68rem;display:grid}.task-column-sort{min-width:0;color:inherit;font:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:0;overflow:hidden}.task-column-sort:hover{color:var(--project-text-secondary)}.task-column-sort.active{color:var(--project-accent);font-weight:700}.task-row{border-top:1px solid var(--project-border-soft);align-items:center;gap:10px;min-height:38px;padding:7px 0;font-size:.82rem;display:grid}.task-row-main{align-items:center;gap:7px;min-width:0;padding-left:8px;display:flex}.task-row-title-button{min-width:0;color:var(--project-text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:flex;overflow:hidden}.task-row-title-button .overview-waiting-for{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.task-row-title-button:hover .task-row-title{color:var(--project-accent)}.task-row .comment-preview-popover{left:0;right:auto}.task-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.task-row-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--project-text-secondary);font-size:.78rem;overflow:hidden}.task-row-due input{border:1px solid var(--project-border);border-radius:var(--project-radius-sm);background:var(--bg);width:100%;height:30px;color:var(--project-text-primary);padding:0 8px;font-size:.76rem;display:block}.milestone-list{border-top:1px solid var(--project-border-soft);flex-direction:column;margin-top:14px;display:flex}.project-empty-state{color:var(--project-text-secondary);flex-direction:column;gap:4px;padding:28px 12px;display:flex}.project-empty-state strong{color:var(--project-text-primary);font-size:.9rem}.project-empty-state span{font-size:.8rem}.upcoming-milestones{flex-direction:column;display:flex}.upcoming-milestones h2{margin-bottom:5px}.upcoming-milestones button{border:0;border-top:1px solid var(--project-border-soft);min-height:52px;color:var(--project-text-primary);text-align:left;background:0 0;grid-template-columns:100px minmax(140px,.8fr) minmax(180px,1.2fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.upcoming-milestones button span,.upcoming-milestones button small{color:var(--project-text-secondary);font-size:.78rem}.upcoming-milestones .milestone-overdue{color:var(--project-danger)}.milestone-row{border-bottom:1px solid var(--project-border-soft);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:68px;padding:10px 8px;display:grid}.milestone-main{color:var(--project-text-primary);text-align:left;background:0 0;border:0;justify-content:space-between;gap:20px;display:flex}.milestone-main>span{flex-direction:column;gap:4px;display:flex}.milestone-main>span:last-child{color:var(--project-text-secondary);justify-content:center;font-size:.78rem}.milestone-main small{color:var(--text-faint)}.milestone-actions{gap:5px;display:flex}.milestone-actions button{padding:0 10px}.next-milestone{border:1px solid var(--project-border);border-radius:var(--project-radius-md);background:var(--project-surface);width:100%;max-width:900px;color:var(--project-text-primary);text-align:left;white-space:nowrap;align-items:center;gap:12px;margin-top:14px;padding:9px 12px;display:flex;position:relative;overflow:hidden}.next-milestone>.projects-eyebrow{flex-shrink:0}.next-milestone strong{text-overflow:ellipsis;min-width:0;font-size:.88rem;overflow:hidden}.next-milestone>span:not(.projects-eyebrow){margin-left:auto;font-size:.78rem}.next-milestone small{text-overflow:ellipsis;color:var(--project-text-secondary);font-size:.75rem;overflow:hidden}.next-milestone i{background:var(--project-accent);height:2px;position:absolute;bottom:0;left:0}.project-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050403b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.project-dialog{border:1px solid var(--project-border);border-radius:var(--project-radius-lg);background:var(--project-surface);width:min(680px,100%);max-height:min(820px,100vh - 48px);overflow:auto;box-shadow:0 22px 60px #0000007a}.project-dialog>header{border-bottom:1px solid var(--project-border-soft);justify-content:space-between;align-items:flex-start;gap:20px;padding:21px 24px;display:flex}.project-dialog h2{margin:3px 0 0;font-size:1.25rem}.dialog-close{width:var(--project-control-height);height:var(--project-control-height);border:1px solid var(--project-border);color:var(--project-text-secondary);background:0 0;border-radius:50%;font-size:1.3rem}.project-dialog-form,.milestone-detail{padding:22px 24px 20px}.dialog-form-grid{gap:var(--project-content-gap);grid-template-columns:1fr 1fr;display:grid}.dialog-form-field{min-width:0;color:var(--project-text-secondary);flex-direction:column;gap:6px;font-size:.76rem;display:flex}.dialog-form-field.wide{grid-column:1/-1}.dialog-form-field select,.dialog-form-field input[list],.assignee-filter select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.dialog-form-field textarea{width:100%;min-height:104px;padding:10px var(--project-control-padding-x);resize:vertical;border:1px solid var(--project-border);border-radius:var(--project-radius-md);background:var(--bg);color:var(--project-text-primary);outline:none}.dialog-form-field small{color:var(--text-faint);font-size:.7rem}.dialog-actions{border-top:1px solid var(--project-border-soft);grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;margin-top:24px;padding-top:18px;display:grid}.task-comments{border-top:1px solid var(--project-border-soft);margin-top:22px;padding-top:18px}.task-comments h3{margin:0 0 12px;font-size:.95rem}.task-comment-list{flex-direction:column;gap:9px;max-height:240px;display:flex;overflow:auto}.task-comment{border-radius:var(--project-radius-md);background:var(--project-surface-raised);padding:10px 12px}.task-comment header{color:var(--project-text-secondary);align-items:center;gap:8px;font-size:.7rem;display:flex}.task-comment header strong{background:var(--accent-soft);width:27px;height:27px;color:var(--project-accent);border-radius:50%;place-items:center;font-size:.65rem;display:inline-grid}.task-comment header time{color:var(--text-faint);margin-left:auto}.task-comment p{white-space:pre-wrap;margin:7px 0 0;font-size:.82rem}.task-comment-compose{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin-top:12px;display:grid}.task-comment-compose textarea{resize:vertical;border:1px solid var(--project-border);border-radius:var(--project-radius-md);background:var(--bg);width:100%;min-height:58px;color:var(--project-text-primary);outline:none;padding:9px 11px}.task-comment-compose .primary{align-self:stretch}.task-comment-error{color:var(--project-danger);margin:7px 0 0;font-size:.72rem}.afn-preview-input{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.afn-preview-input button{white-space:nowrap}.afn-preview-error{color:var(--project-danger);margin:14px 0 0;font-size:.78rem}.afn-previews{border-top:1px solid var(--project-border-soft);margin-top:22px;padding-top:18px}.afn-previews h3{margin:0 0 12px;font-size:.95rem}.afn-preview{border:1px solid var(--project-border-soft);border-radius:var(--project-radius-md);background:var(--project-surface-raised);padding:12px}.afn-preview+.afn-preview{margin-top:10px}.afn-preview>header{align-items:baseline;gap:9px;display:flex}.afn-preview>header span{color:var(--project-text-secondary);font-size:.8rem}.afn-preview-responsible{color:var(--project-text-secondary);margin:6px 0 10px;font-size:.74rem}.afn-preview-entries{gap:8px;display:grid}.afn-preview-entries>div{border-top:1px solid var(--project-border-soft);padding-top:8px}.afn-preview-entries p{white-space:pre-wrap;margin:0;font-size:.8rem;line-height:1.45}.afn-preview-entries small{color:var(--text-faint);margin-top:4px;font-size:.68rem;display:block}.wwapi-login{border:1px solid var(--project-border-soft);border-radius:var(--project-radius-md);background:var(--project-surface-raised);margin-top:16px;padding:12px}.wwapi-login h3{margin:0;font-size:.88rem}.wwapi-login p{color:var(--project-text-secondary);margin:4px 0 10px;font-size:.72rem}.wwapi-login>div{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.wwapi-login button{white-space:nowrap}.wwapi-connected{color:var(--project-text-secondary);justify-content:space-between;align-items:center;margin-top:12px;font-size:.72rem;display:flex}.wwapi-connected button{min-height:30px;color:var(--project-text-secondary);background:0 0;padding:0 10px}.milestone-detail>p{color:var(--project-text-secondary);white-space:pre-wrap}.milestone-detail-meta{justify-content:space-between;align-items:center;margin:18px 0;display:flex}.milestone-progress{background:var(--project-border-soft);border-radius:999px;height:5px;margin:10px 0 18px;overflow:hidden}.milestone-progress i{background:var(--project-accent);height:100%;display:block}.milestone-task-list{flex-direction:column;margin:16px 0;display:flex}.milestone-task-list button{border:0;border-top:1px solid var(--project-border-soft);min-height:44px;color:var(--project-text-primary);text-align:left;background:0 0;gap:10px;padding:10px 2px;display:flex}.new-project-menu{position:relative}.template-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px;display:grid}.template-card{border:1px solid var(--project-border-soft);border-radius:var(--project-radius-lg);background:var(--project-surface);flex-direction:column;gap:6px;padding:15px 16px;display:flex}.template-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.template-card-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;overflow:hidden}.template-visibility{background:var(--project-surface-raised);color:var(--project-text-secondary);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:700}.template-visibility-public{border:1px solid color-mix(in srgb,var(--project-accent) 45%,transparent);color:var(--project-accent);background:var(--accent-soft)}.template-card-description{color:var(--project-text-secondary);margin:0;font-size:.82rem;line-height:1.4}.template-card-meta{color:var(--text-faint);margin:0;font-size:.74rem}.template-card-actions{gap:8px;margin-top:6px;display:flex}.template-hint{color:var(--text-faint);grid-column:1/-1;margin:0;font-size:.72rem}.template-hint-menu{padding:8px 10px}@media (width<=800px){.projects-view{padding:20px 14px 34px}.project-metrics{grid-template-columns:repeat(2,1fr)}.projects-header{flex-direction:column;align-items:stretch}.projects-header>.new-project-menu{align-self:flex-start}.project-list-tools{flex-direction:column;align-items:stretch}.project-list-tools button{align-self:flex-start}.project-search{width:100%;max-width:none}.project-read-header{gap:14px}.project-meta-grid{flex-wrap:wrap;gap:25px}.project-dialog-backdrop{align-items:flex-end;padding:0}.project-dialog{border-radius:var(--project-radius-lg) var(--project-radius-lg) 0 0;width:100%;max-height:92vh}.overview-task-row{grid-template-columns:minmax(0,1fr) auto auto auto}.overview-task-main{flex-wrap:wrap;grid-column:1/-1}.overview-due-date input{width:132px}.overview-task-title{flex-basis:100%}.overview-project:after{content:""}.overview-afns{display:none}.upcoming-milestones button{grid-template-columns:90px 1fr}.upcoming-milestones button span:nth-of-type(2),.upcoming-milestones button small{grid-column:2}.milestone-row{grid-template-columns:1fr auto}.milestone-actions{grid-column:1/-1}.milestone-main{flex-direction:column;gap:7px}.task-column-header,.task-row{grid-template-columns:minmax(0,1fr) 90px 130px 100px}.task-col-module,.task-col-prio{display:none}.task-filter-row{flex-wrap:wrap}}@media (width<=560px){.project-read-header{flex-direction:column;align-items:flex-start}.project-header-actions{justify-content:flex-start;width:100%}.project-meta-grid{grid-template-columns:1fr;display:grid}.dialog-form-grid{grid-template-columns:1fr}.dialog-form-field.wide{grid-column:auto}.dialog-actions{grid-template-columns:1fr 1fr}.dialog-actions>span{display:none}.danger-action{grid-column:1/-1;justify-self:start}.project-dialog>header,.project-dialog-form,.milestone-detail{padding-left:17px;padding-right:17px}.next-milestone small{display:none}}.customer-overview .project-read-header{margin-bottom:var(--project-section-gap)}.customer-section{margin-top:var(--project-content-gap)}.customer-list{flex-direction:column;display:flex}.customer-row{border:0;border-top:1px solid var(--project-border-soft);min-height:58px;color:var(--project-text-primary);text-align:left;background:0 0;grid-template-columns:minmax(180px,1fr) minmax(120px,auto) auto;align-items:center;gap:16px;padding:9px 4px;display:grid}.customer-row:hover{background:var(--project-surface-raised)}.customer-row>span:first-child{gap:2px;min-width:0;display:grid}.customer-row strong,.customer-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.customer-row small,.customer-row>span:not(:first-child){color:var(--project-text-secondary);font-size:.78rem}.customer-task-row{grid-template-columns:minmax(220px,1fr) minmax(130px,.5fr) 115px auto}.customer-row .milestone-overdue{color:var(--project-danger)}@media (width<=800px){.customer-row,.customer-task-row{grid-template-columns:minmax(0,1fr) auto}.customer-row>span:not(:first-child),.customer-task-row .project-status-badge{grid-column:2}}@media (width<=768px){.task-column-header{display:none}.task-row{grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px 12px;padding:10px 4px}.task-row-main.task-col-title{grid-column:1/-1}}.organized-task-list{gap:14px;display:grid}.task-milestone-group,.task-section-group{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 86%, transparent);border-radius:10px;overflow:hidden}.task-milestone-group>summary,.task-section-group>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;list-style:none;display:flex}.task-milestone-group>summary::-webkit-details-marker{display:none}.task-section-group>summary::-webkit-details-marker{display:none}.task-milestone-group>summary{padding:12px 14px;font-size:15px;font-weight:700}.task-section-group{border-radius:8px;margin:0 12px 12px}.task-section-group>summary{color:var(--text);padding:9px 12px;font-weight:650}.task-milestone-group>summary:before,.task-section-group>summary:before{content:"▸";color:var(--muted);font-size:11px;transition:transform .12s}.task-milestone-group[open]>summary:before,.task-section-group[open]>summary:before{transform:rotate(90deg)}.task-milestone-group>summary small,.task-section-group>summary small{color:var(--muted);margin-left:auto;font-weight:500}.kebab-menu{flex-shrink:0;position:relative}.kebab-menu-trigger{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 7px;font-size:16px;line-height:1}.kebab-menu-trigger:hover{background:var(--accent-soft);color:var(--accent-strong)}.kebab-menu-popover{min-width:180px}.kebab-menu-popover .danger-text{color:var(--bad)}.task-section-group .project-detail-task-list{padding:0 12px 10px}.task-section-group.ungrouped{border-style:dashed}.task-section-empty{color:var(--muted);margin:0;padding:2px 12px 12px;font-size:13px}@media (width<=700px){.task-milestone-group>summary{padding:10px}.task-section-group{margin-inline:8px}}.task-milestone-group>.project-detail-task-list{padding:0 16px 10px}.task-drop-list{min-height:18px}.project-task-drag-item{padding-left:18px;position:relative}.project-task-drag-item.dragging{opacity:.42}.task-drag-handle{z-index:1;color:var(--text-faint);letter-spacing:-3px;cursor:grab;opacity:.55;-webkit-user-select:none;user-select:none;font-size:13px;position:absolute;top:50%;left:1px;transform:translateY(-50%)}.project-task-drag-item:hover .task-drag-handle{color:var(--project-accent);opacity:1}.project-task-drag-item.drop-before:before,.project-task-drag-item.drop-after:after,.task-drop-list.drop-at-end:after{content:"";z-index:2;background:var(--project-accent);height:2px;box-shadow:0 0 0 2px color-mix(in srgb, var(--project-accent) 18%, transparent);border-radius:2px;position:absolute;left:0;right:0}.project-task-drag-item.drop-before:before{top:-1px}.project-task-drag-item.drop-after:after{bottom:-1px}.task-drop-list.drop-at-end{position:relative}.task-drop-list.drop-at-end:after{bottom:3px}.task-drop-list .task-section-empty{pointer-events:none}.guest-invite-box{border:1px solid var(--border);background:var(--panel-muted);border-radius:12px;gap:10px;margin-top:18px;padding:16px;display:grid}.guest-invite-box>div:first-child{gap:4px;display:grid}.guest-invite-box small{color:var(--text-muted)}.guest-invite-row,.guest-invite-result{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.guest-invite-row input,.guest-invite-result input{border:1px solid var(--border);background:var(--input-bg);min-width:0;color:inherit;border-radius:8px;padding:10px}.guest-invite-result small{grid-column:1/-1}.guest-invite-result button{border:1px solid var(--border);background:var(--panel-bg);color:inherit;border-radius:8px}.guest-invite-error{color:#ff6676;margin:0}.team-member-list .guest-remove-button{border:1px solid var(--project-danger);color:var(--project-danger);background:0 0;border-radius:7px;padding:6px 9px;font-size:.7rem}@media (width<=650px){.guest-invite-row,.guest-invite-result{grid-template-columns:1fr}.guest-invite-result small{grid-column:auto}}.access-view{background:var(--bg);min-width:0;height:100%;color:var(--text);flex:1;padding:34px clamp(20px,5vw,72px);overflow:auto}.access-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.access-header p{color:var(--text-faint);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.access-header h1{margin:3px 0 0}.access-group{max-width:900px;margin-top:24px}.access-group h2{font-size:1rem}.access-list{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--bg-elevated);overflow:hidden}.access-list>p{color:var(--text-faint);margin:0;padding:22px}.access-row{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex}.access-row:first-child{border-top:0}.access-row>div:first-child{gap:2px;min-width:0;display:grid}.access-row strong,.access-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-row span,.access-row small{color:var(--text-faint)}.access-row button{flex-shrink:0;min-height:36px}.access-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.access-error{max-width:900px;color:var(--bad)}@media (width<=600px){.access-row{flex-direction:column;align-items:flex-start}.access-row-actions{justify-content:flex-start;width:100%}}.workspace{width:100vw;height:100dvh;display:flex;overflow:hidden}@media (width<=768px){.workspace{padding-top:env(safe-area-inset-top)}}.sidebar-resize-handle{z-index:20;cursor:col-resize;touch-action:none;flex-shrink:0;width:10px;margin-left:-5px;margin-right:-5px;position:relative}.sidebar-resize-handle:after{content:"";background:0 0;transition:background .15s;position:absolute;inset:0 4px}.sidebar-resize-handle:hover:after,.sidebar-resize-handle.active:after{background:var(--accent)}.mobile-header-row{align-items:center;gap:12px;display:flex}.mobile-header-row>:last-child{flex:1;min-width:0}.mobile-sidebar-backdrop{z-index:499;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a08058c;position:fixed;inset:0}.profile-name-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a0805b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.profile-name-dialog{border:1px solid var(--border);background:var(--bg-elevated);border-radius:20px;width:min(460px,100%);padding:30px;box-shadow:0 24px 80px #00000073}.profile-name-dialog h2{margin:4px 0 10px}.profile-name-dialog>p:not(.profile-name-eyebrow){color:var(--text-dim);margin:0 0 24px;line-height:1.5}.profile-name-eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.profile-name-dialog form,.profile-name-dialog label{gap:8px;display:grid}.profile-name-dialog input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:13px 14px}.profile-name-dialog small{color:var(--text-faint)}.profile-name-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.profile-name-error{color:var(--bad);margin:4px 0 0}.guest-workspace{background:var(--bg);min-height:100vh;color:var(--text)}.guest-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:24px;padding:24px 5vw;display:flex}.guest-header h1{margin:4px 0 0}.guest-header small,.guest-project-card small{color:var(--project-accent);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.guest-header>div:last-child{align-items:center;gap:10px;display:flex}.guest-header button,.guest-project-tabs button{border:1px solid var(--border);background:var(--bg-accent-tint);color:inherit;border-radius:9px;padding:9px 13px}.guest-content{width:min(1040px,90vw);margin:34px auto}.guest-project-tabs{gap:8px;margin-bottom:18px;display:flex}.guest-project-tabs .active{border-color:var(--project-accent);color:var(--project-accent)}.guest-project-card,.guest-task-section,.guest-empty{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;padding:26px}.guest-project-card h2{margin:7px 0}.guest-task-section{margin-top:18px}.guest-task-section h2{margin-top:0}.guest-task-table{overflow-x:auto}.guest-task-columns,.guest-task-list>button{grid-template-columns:minmax(240px,2fr) minmax(90px,1fr) minmax(90px,1fr) minmax(130px,1.2fr) 105px 105px;align-items:center;gap:14px;min-width:850px;display:grid}.guest-task-columns{color:var(--text-faint);text-transform:uppercase;padding:7px 14px;font-size:.7rem}.guest-task-list{display:grid}.guest-task-list>button{text-align:left;border:0;border-top:1px solid var(--border-soft);background:var(--bg-elevated);width:100%;color:inherit;padding:14px}.guest-task-list>button:hover{background:var(--bg-accent-tint)}.guest-task-title{gap:4px;display:grid}.guest-task-list small{color:var(--warn)}.guest-task-list em{color:var(--project-accent);font-style:normal}.guest-task-groups{border:1px solid var(--border);border-radius:11px;min-width:850px;overflow:hidden}.guest-task-group>h3,.guest-milestone>summary,.guest-section>summary{background:var(--bg-sunken);margin:0;padding:13px 14px}.guest-task-group>h3{font-size:.9rem}.guest-milestone>summary,.guest-section>summary{cursor:pointer;grid-template-columns:minmax(220px,1fr) 120px 120px;align-items:center;gap:12px;list-style-position:inside;display:grid}.guest-milestone>summary em{color:var(--text-dim);text-align:right;font-size:.75rem;font-style:normal}.guest-milestone+.guest-milestone{border-top:1px solid var(--border)}.guest-section{border:1px solid var(--border-soft);border-radius:9px;margin:8px 12px;overflow:hidden}.guest-section>summary{background:var(--bg-accent-tint);grid-template-columns:1fr auto;font-size:.85rem}.guest-section>summary span{color:var(--text-dim);font-size:.72rem}.guest-error{color:#ff6676;background:#ff45581c;border-radius:8px;margin:18px 5vw;padding:12px}.guest-empty{width:min(700px,90vw);margin:40px auto}.guest-task-backdrop{z-index:100;background:#000000d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.guest-task-dialog{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;width:min(720px,96vw);max-height:88vh;padding:24px;overflow:auto;box-shadow:0 24px 80px #000}.guest-task-dialog>header{justify-content:space-between;display:flex}.guest-task-dialog>header h2{margin:4px 0}.guest-task-dialog>header button{color:inherit;background:0 0;border:0;font-size:28px}.guest-task-details{border:1px solid var(--border-soft);background:var(--bg-sunken);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;padding:14px;display:grid}.guest-task-details div{min-width:0}.guest-task-details dt{color:var(--text-faint);text-transform:uppercase;font-size:.7rem}.guest-task-details dd{text-overflow:ellipsis;margin:3px 0 0;overflow:hidden}.guest-comments{gap:9px;display:grid}.guest-comments article{background:var(--bg-accent-tint);border-radius:9px;padding:12px}.guest-comments time{float:right;color:var(--text-dim);font-size:.8rem}.guest-comments article p{margin-bottom:0}.guest-task-dialog form{gap:9px;margin-top:16px;display:grid}.guest-task-dialog textarea{border:1px solid var(--border);background:var(--bg-sunken);color:inherit;border-radius:9px;padding:12px}.guest-task-dialog form button{background:var(--project-accent);color:#fff;border:0;border-radius:9px;justify-self:end;padding:10px 15px}.guest-own-task-status{border:1px solid var(--project-accent);background:var(--accent-soft);border-radius:10px;gap:10px;margin:0 0 20px;padding:14px;display:grid}.guest-own-task-status>div:first-child{gap:2px;display:grid}.guest-own-task-status small{color:var(--text-dim)}.guest-own-task-status>div:last-child{flex-wrap:wrap;gap:7px;display:flex}.guest-own-task-status button{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:999px;padding:7px 10px}.guest-own-task-status button.active{border-color:var(--project-accent);color:var(--project-accent)}.guest-own-task-status button:disabled{opacity:.6}.guest-name-backdrop{z-index:200;background:#000000e0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.guest-name-dialog{border:1px solid var(--border);background:var(--bg-elevated);border-radius:16px;gap:13px;width:min(470px,96vw);padding:28px;display:grid;box-shadow:0 24px 80px #000}.guest-name-dialog small{color:var(--project-accent);text-transform:uppercase;font-weight:700}.guest-name-dialog h2,.guest-name-dialog p{margin:0}.guest-name-dialog p{color:var(--text-dim)}.guest-name-dialog label{gap:6px;display:grid}.guest-name-dialog label span{color:var(--text-dim);font-size:.8rem}.guest-name-dialog input{border:1px solid var(--border);background:var(--bg-sunken);color:var(--text);font:inherit;border-radius:9px;padding:11px}.guest-name-dialog button{background:var(--project-accent);color:#fff;border:0;border-radius:9px;justify-self:end;padding:10px 16px}@media (width<=700px){.guest-header{flex-direction:column;align-items:flex-start}.guest-header>div:last-child{flex-wrap:wrap;align-items:flex-start}.guest-header>div:last-child span{width:100%}.guest-content{width:94vw}.guest-task-table{overflow:visible}.guest-task-columns{display:none}.guest-task-groups{border:0;min-width:0}.guest-task-list>button{border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr 1fr;min-width:0;margin-bottom:8px}.guest-task-title{grid-column:1/-1}.guest-task-list [data-label]:before{content:attr(data-label);color:var(--text-faint);text-transform:uppercase;font-size:.65rem;display:block}.guest-task-details{grid-template-columns:1fr 1fr}.guest-milestone>summary{grid-template-columns:1fr auto}.guest-milestone>summary em{text-align:left;grid-column:1/-1}}.auth-loading{text-align:center;background:var(--bg);height:100dvh;color:var(--text-dim);justify-content:center;align-items:center;padding:24px;font-family:system-ui,sans-serif;display:flex}.access-waiting-screen{background:var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.access-waiting-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-elevated);width:min(520px,100%);box-shadow:var(--shadow-card);gap:14px;padding:30px;display:grid}.access-waiting-card h1,.access-waiting-card p{margin:0}.access-waiting-card>p:not(.access-waiting-eyebrow){color:var(--text-dim);margin-bottom:8px;line-height:1.6}.access-waiting-eyebrow{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.access-waiting-card button{min-height:42px}.log{white-space:pre-wrap;color:#7ee787;background:#0d0e12;border-top:1px solid #2e303a;height:110px;padding:6px 10px;font-family:ui-monospace,Consolas,monospace;font-size:11px;line-height:1.5;overflow-y:auto}.test-page{flex-direction:column;width:100vw;height:100dvh;display:flex}.test-header{padding:10px 14px;padding-top:max(10px, env(safe-area-inset-top));background:#f4f3ec;border-bottom:1px solid #e5e4e7;flex-wrap:wrap;align-items:center;gap:12px;font-family:system-ui,sans-serif;font-size:14px;display:flex}.test-header a{color:#1d5fd6;white-space:nowrap;text-decoration:none}.test-header strong{flex:1}.test-header button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:6px 10px}.test-area{background:#fff;flex:1;min-height:0;position:relative}.test-dot{pointer-events:none;background:#d1263f;border-radius:50%;width:14px;height:14px;margin-top:-7px;margin-left:-7px;display:none;position:absolute}.tests-index{max-width:640px;margin:0 auto;padding:24px 20px 60px;font-family:system-ui,sans-serif;line-height:1.5}.tests-index h1{font-size:22px}.tests-index ol{padding-left:20px}.tests-index li{margin-bottom:10px}.tests-index a{color:#1d5fd6}@media (prefers-color-scheme:dark){.test-header{background:#1f2028;border-bottom-color:#2e303a}.test-header button{color:#f3f4f6;background:#16171d;border-color:#2e303a}.test-area{background:#16171d}}
