:root{color-scheme:dark;--bg:#191919;--bg-elevated:#202020;--bg-hover:#2a2a2a;--bg-active:#333;--border:hsla(0,0%,100%,.09);--border-strong:hsla(0,0%,100%,.16);--text:hsla(0,0%,100%,.92);--text-muted:hsla(0,0%,100%,.55);--text-faint:hsla(0,0%,100%,.38);--heading:#fff;--accent:#4f8cff;--accent-hover:#6b9eff;--danger:#eb5757;--danger-bg:rgba(235,87,87,.12);--tag-bg:hsla(0,0%,100%,.08);--card-bg:#242424;--code-bg:#141414;--menu-shadow:0 8px 24px rgba(0,0,0,.4);--radius:6px;--font-stack:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono-stack:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--kanban-col-not-started:#1f1f1f;--kanban-col-in-progress:#1a1e29;--kanban-col-done:#1a231d;--pill-neutral-bg:hsla(0,0%,100%,.09);--pill-neutral-fg:hsla(0,0%,100%,.75);--pill-blue-bg:rgba(79,140,255,.18);--pill-blue-fg:#8ab4ff;--pill-green-bg:rgba(72,187,120,.18);--pill-green-fg:#7bd8a0;--badge-green-bg:rgba(72,187,120,.14);--chip-blue:#8ab4ff;--chip-purple:#c4a2ff;--chip-orange:#ffb877;--chip-pink:#ff9dbd;--chip-teal:#6fdcb8;--chip-yellow:#ffe08a;--chip-cyan:#8fe2ff;--chip-red:#f39a9a}[data-theme=light]{color-scheme:light;--bg:#fff;--bg-elevated:#f7f7f5;--bg-hover:#ececea;--bg-active:#e2e2df;--border:rgba(0,0,0,.09);--border-strong:rgba(0,0,0,.18);--text:rgba(0,0,0,.86);--text-muted:rgba(0,0,0,.56);--text-faint:rgba(0,0,0,.4);--heading:#1a1a1a;--accent:#2f6fe4;--accent-hover:#1e5fd6;--danger:#d43f3f;--danger-bg:rgba(212,63,63,.1);--tag-bg:rgba(0,0,0,.06);--card-bg:#fff;--code-bg:#f2f2f0;--menu-shadow:0 8px 24px rgba(0,0,0,.14);--kanban-col-not-started:#f4f4f2;--kanban-col-in-progress:#eef3fd;--kanban-col-done:#edf7f0;--pill-neutral-bg:rgba(0,0,0,.07);--pill-neutral-fg:rgba(0,0,0,.65);--pill-blue-bg:rgba(79,140,255,.15);--pill-blue-fg:#2b5fc7;--pill-green-bg:rgba(72,187,120,.18);--pill-green-fg:#1f7a48;--badge-green-bg:rgba(72,187,120,.16);--chip-blue:#2b5fc7;--chip-purple:#6d3fc4;--chip-orange:#b25e12;--chip-pink:#c2366b;--chip-teal:#157a57;--chip-yellow:#8f6c00;--chip-cyan:#0f7ba3;--chip-red:#c03535}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-stack);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}input,select,textarea{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);padding:7px 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical}::selection{background:rgba(79,140,255,.35)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);padding:7px 14px;cursor:pointer;transition:background .12s ease,border-color .12s ease;white-space:nowrap}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-small{padding:4px 10px;font-size:13px}.icon-btn{background:transparent;border:none;color:var(--text-faint);cursor:pointer;border-radius:4px;padding:2px 6px;line-height:1}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.centered-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:40px 44px;max-width:380px;width:100%;text-align:center;display:flex;flex-direction:column;gap:16px}.login-card h1{margin:0;font-size:26px}.login-card p{margin:0;color:var(--text-muted)}.login-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius);padding:8px 12px;font-size:13px}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.topbar{justify-content:space-between;gap:16px;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:10px;min-width:0}.topbar-logo{height:28px;width:auto;border-radius:6px;display:block;flex-shrink:0}.topbar-title{font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{gap:10px;flex-shrink:0}.segmented,.topbar-right{display:flex;align-items:center}.segmented{gap:2px;background:var(--tag-bg);border:1px solid var(--border);border-radius:999px;padding:3px}.segment{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;color:var(--text-muted);font-size:13.5px;font-weight:500;white-space:nowrap;line-height:1.5}.segment:hover{color:var(--text);background:var(--bg-hover)}.segment-active,.segment-active:hover{background:var(--bg-active);color:var(--text)}.segment-icon{font-size:14px;line-height:1}.space-menu{position:relative}.space-menu-list{position:absolute;top:calc(100% + 6px);right:0;min-width:190px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;padding:6px;z-index:60;box-shadow:var(--menu-shadow);display:flex;flex-direction:column;gap:2px}.space-menu-item{display:block;width:100%;text-align:left;padding:6px 10px;border-radius:6px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;font-size:14px}.space-menu-item:hover{background:var(--bg-hover);color:var(--text)}.space-menu-item-active{color:var(--text);font-weight:600}.space-menu-sep{border-top:1px solid var(--border);margin:4px 0}.space-menu-user{padding:2px 10px 4px;font-size:12px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-menu-logout{color:var(--danger)}.space-menu-logout:hover{background:var(--danger-bg);color:var(--danger)}.theme-toggle{font-size:16px;padding:5px 8px}.space-content{flex:1 1;overflow:hidden;display:flex;flex-direction:column}.empty-state{padding:48px 32px;color:var(--text-muted);text-align:center}.empty-state h2{color:var(--text);margin-top:0}.notes-layout{flex:1 1;display:flex;min-height:0}.notes-sidebar{width:260px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:12px 8px}.notes-content{flex:1 1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.sidebar-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);padding:6px 10px}.notes-tree-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tree-empty{color:var(--text-faint);font-size:13px;padding:4px 10px}.tree-row{display:flex;align-items:center;gap:2px;border-radius:var(--radius);padding-right:4px}.tree-row:hover{background:var(--bg-hover)}.tree-row-active{background:var(--bg-active)}.tree-toggle{background:transparent;border:none;color:var(--text-faint);cursor:pointer;width:20px;padding:2px 0;border-radius:4px}.tree-toggle:hover{color:var(--text)}.tree-link{flex:1 1;min-width:0;padding:4px 2px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row-active .tree-link,.tree-row:hover .tree-link{color:var(--text)}.tree-add{background:transparent;border:none;color:var(--text-faint);cursor:pointer;padding:2px 6px;border-radius:4px;visibility:hidden}.tree-row:hover .tree-add{visibility:visible}.tree-add:hover{background:var(--bg-active);color:var(--text)}.editor{flex:1 1;display:flex;flex-direction:column;min-height:0;padding:20px 24px;gap:14px}.editor-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.editor-status{font-size:12px;color:var(--text-faint);margin-right:auto}.editor-title{flex:none;width:100%;min-width:0;font-size:34px;font-weight:800;color:var(--heading);background:transparent;border:none;padding:4px 0}.editor-title:focus{border:none}.editor-actions{display:flex;align-items:center;gap:8px}.editor-dirty{font-size:12px;color:var(--text-faint)}.tree-row-dragging{opacity:.45}.tree-row-drop-into{background:rgba(79,140,255,.14);border-radius:6px;box-shadow:inset 0 0 0 1px var(--accent)}.tree-row-drop-before{box-shadow:inset 0 2px 0 0 var(--accent)}.tree-row-drop-after{box-shadow:inset 0 -2px 0 0 var(--accent)}.note-editor{flex:1 1;min-height:0;overflow-y:auto;cursor:text}.note-editor .ProseMirror{outline:none;min-height:55vh;font-size:15.5px;line-height:1.7;padding-bottom:30vh}.note-editor .ProseMirror h1,.note-editor .ProseMirror h2,.note-editor .ProseMirror h3{color:var(--heading);margin:1em 0 .35em;line-height:1.25}.note-editor .ProseMirror h1{font-size:1.7em;font-weight:800}.note-editor .ProseMirror h2{font-size:1.4em;font-weight:700}.note-editor .ProseMirror h3{font-size:1.15em;font-weight:700}.note-editor .ProseMirror h1:first-child,.note-editor .ProseMirror h2:first-child,.note-editor .ProseMirror p:first-child{margin-top:0}.note-editor .ProseMirror p{margin:.35em 0}.note-editor .ProseMirror a{color:var(--accent);text-decoration:underline;cursor:pointer}.note-editor .ProseMirror code{background:var(--tag-bg);border-radius:4px;padding:1px 5px;font-family:var(--mono-stack);font-size:13px}.note-editor .ProseMirror pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;overflow-x:auto}.note-editor .ProseMirror pre code{background:transparent;padding:0}.note-editor .ProseMirror blockquote{margin:.5em 0;padding-left:12px;border-left:3px solid var(--border-strong);color:var(--text-muted)}.note-editor .ProseMirror hr{border:none;border-top:1px solid var(--border);margin:16px 0}.note-editor .ProseMirror ol,.note-editor .ProseMirror ul{margin:.35em 0;padding-left:22px}.note-editor .ProseMirror mark{border-radius:3px;padding:0 2px;color:inherit}.note-editor .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:2px}.note-editor .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.note-editor .ProseMirror ul[data-type=taskList] li>label{margin-top:5px}.note-editor .ProseMirror ul[data-type=taskList] li>div{flex:1 1}.note-editor .ProseMirror ul[data-type=taskList] li[data-checked=true]>div{color:var(--text-faint);text-decoration:line-through}.note-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none;color:var(--text-faint)}.bubble-menu{position:relative;display:flex;align-items:center;gap:2px;padding:4px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--menu-shadow)}.bubble-btn{background:none;border:none;border-radius:5px;min-width:26px;padding:4px 6px;font-size:13px;color:var(--text);cursor:pointer;line-height:1.3}.bubble-btn:hover{background:var(--bg-hover)}.bubble-btn-active{background:var(--bg-active);color:var(--accent)}.bubble-sep{width:1px;height:18px;background:var(--border-strong);margin:0 3px}.bubble-highlight-icon{background:rgba(202,152,73,.4);border-radius:3px;padding:0 3px}.bubble-palette{position:absolute;top:calc(100% + 6px);right:0;display:flex;gap:3px;padding:5px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--menu-shadow);z-index:10}.palette-swatch{width:26px;height:26px;border:1px solid var(--border);border-radius:5px;background:transparent;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.palette-swatch:hover{border-color:var(--border-strong)}.palette-swatch-default{color:var(--text-muted)}.kanban{flex:1 1;display:flex;flex-direction:column;min-height:0;padding:24px 28px;gap:18px;overflow-y:auto}.kanban-title{margin:0;font-size:40px;font-weight:800;line-height:1.15;letter-spacing:.01em;text-transform:uppercase;color:var(--heading)}.kanban-toolbar{justify-content:space-between;gap:12px}.filter-tabs,.kanban-toolbar{display:flex;align-items:center;flex-wrap:wrap}.filter-tabs{gap:4px}.filter-tab{display:inline-flex;align-items:center;background:transparent;border:none;border-radius:999px;padding:5px 14px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;line-height:1.4}.filter-tab:hover{background:var(--bg-hover);color:var(--text)}.filter-tab-active{background:var(--bg-active);color:var(--text)}.view-pill{padding:0;gap:0}.view-pill-name{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:5px 14px;border-radius:999px}.view-pill.filter-tab-active .view-pill-name{padding-right:4px}.view-pill-actions{display:inline-flex;align-items:center;gap:2px;padding-right:8px}.view-pill-btn{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:12px;line-height:1;padding:3px 4px;border-radius:4px}.view-pill-btn:hover{background:var(--bg-hover);color:var(--text)}.view-add{font-size:15px;padding:5px 10px;color:var(--text-faint)}.view-name-form input{background:var(--bg-elevated);border:1px solid var(--accent);border-radius:999px;padding:4px 12px;font-size:13px;color:var(--text);outline:none;width:150px}.kanban-toolbar-actions{display:flex;align-items:center;gap:8px}.filter-toggle{display:inline-flex;align-items:center;gap:6px}.filter-toggle-active{color:var(--accent)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:600}.btn-save-view{color:var(--accent);font-weight:600}.filter-panel{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated)}.filter-group{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.filter-group-label{width:76px;flex-shrink:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.filter-group-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-chip{background:transparent;border:1px solid var(--border-strong);border-radius:999px;padding:3px 11px;font-size:12.5px;color:var(--text-muted);cursor:pointer;line-height:1.5}.filter-chip:hover{background:var(--bg-hover);color:var(--text)}.filter-chip-active{background:rgba(79,140,255,.16);border-color:var(--accent);color:var(--accent);font-weight:500}.filter-clear{align-self:flex-start;background:none;border:none;color:var(--text-faint);font-size:12.5px;cursor:pointer;padding:2px 0;text-decoration:underline}.filter-clear:hover{color:var(--danger)}.admin-page{min-height:100vh;display:flex;flex-direction:column}.admin-content{flex:1 1;max-width:860px;width:100%;margin:0 auto;padding:24px 28px;display:flex;flex-direction:column;gap:16px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-error{margin:0;padding:8px 12px;border-radius:6px;background:var(--danger-bg);color:var(--danger);font-size:13px}.admin-form{gap:12px;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated)}.admin-form,.admin-form label{display:flex;flex-direction:column}.admin-form label{gap:5px;font-size:13px;color:var(--text-muted)}.admin-form-spaces{display:flex;align-items:baseline;gap:12px}.admin-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}.admin-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--bg-elevated)}.admin-row+.admin-row{border-top:1px solid var(--border)}.admin-row-id{display:flex;align-items:center;gap:10px;flex:1 1;min-width:0}.admin-row-names{display:flex;flex-direction:column;min-width:0}.admin-row-name{font-weight:600;color:var(--heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-you{font-weight:400;color:var(--text-faint)}.admin-row-email{font-size:12.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-role{flex-shrink:0}.admin-row-spaces{display:flex;gap:5px;flex-wrap:wrap}.admin-remove{font-size:16px}.admin-remove:disabled{opacity:.3;cursor:default}.admin-hint{margin:0;font-size:12.5px;color:var(--text-faint);line-height:1.6}.admin-info{margin:0;padding:8px 12px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);font-size:13px}.admin-notif-btn{border:none;background:none;padding:0;margin:0;text-align:left;font-size:11.5px;color:var(--text-faint);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-notif-btn:hover{color:var(--text-muted);text-decoration:underline}.admin-notif-input{font-size:11.5px;padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);max-width:240px}.calendar{flex:1 1;display:flex;flex-direction:column;min-height:0;padding:24px 28px;gap:14px;overflow-y:auto}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-nav{display:flex;align-items:center;gap:6px}.calendar-month{min-width:150px;text-align:center;font-size:15px;font-weight:700;color:var(--heading)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding:0 2px}.calendar-weekdays span{text-align:right;padding-right:8px}.calendar-grid{flex:1 1;display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;min-height:0}.cal-cell{border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);padding:6px;min-height:96px;display:flex;flex-direction:column;gap:4px;transition:border-color .12s ease,box-shadow .12s ease}.cal-cell-out{opacity:.45;background:transparent}.cal-cell-today{border-color:var(--accent)}.cal-cell-today .cal-day{background:var(--accent);color:#fff}.cal-cell-over{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cal-cell-head{display:flex;align-items:center;justify-content:flex-end;gap:4px}.cal-add{order:-1;margin-right:auto;background:none;border:none;color:var(--text-faint);font-size:13px;line-height:1;padding:2px 5px;border-radius:4px;cursor:pointer;opacity:0}.cal-cell:hover .cal-add{opacity:1}.cal-add:hover{background:var(--bg-hover);color:var(--text)}.cal-day{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text-muted)}.cal-cell-tasks{display:flex;flex-direction:column;gap:3px;overflow-y:auto}.cal-chip{display:flex;align-items:center;gap:5px;width:100%;text-align:left;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;padding:3px 6px;font-size:12px;color:var(--text);cursor:pointer;line-height:1.4}.cal-chip:hover{border-color:var(--border-strong)}.cal-chip-dragging{opacity:.45}.cal-chip-dot{flex-shrink:0;width:7px;height:7px;border-radius:999px;background:var(--text-faint)}.cal-chip-in_progress .cal-chip-dot{background:var(--accent)}.cal-chip-done .cal-chip-dot{background:var(--pill-green-fg)}.cal-chip-done .cal-chip-title{text-decoration:line-through;color:var(--text-faint)}.cal-chip-late .cal-chip-dot{background:var(--danger)}.cal-chip-icon{flex-shrink:0}.cal-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-nodate{display:flex;align-items:baseline;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.calendar-nodate-chips{flex:1 1;display:flex;gap:6px;flex-wrap:wrap}.calendar-nodate-chips .cal-chip{width:auto;max-width:240px}.member-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:-6px}.kanban-columns{flex:1 1;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;min-height:0}.kanban-column{border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-direction:column;min-height:120px;transition:border-color .12s ease,box-shadow .12s ease}.kanban-col-not_started{background:var(--kanban-col-not-started)}.kanban-col-in_progress{background:var(--kanban-col-in-progress)}.kanban-col-done{background:var(--kanban-col-done)}.kanban-column-over{border-color:rgba(79,140,255,.6);box-shadow:inset 0 0 0 1px rgba(79,140,255,.4)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px}.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:3px 11px;font-size:12.5px;font-weight:600}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-pill-not_started{background:var(--pill-neutral-bg);color:var(--pill-neutral-fg)}.status-pill-not_started .status-dot{background:#9b9b9b}.status-pill-in_progress{background:var(--pill-blue-bg);color:var(--pill-blue-fg)}.status-pill-in_progress .status-dot{background:#4f8cff}.status-pill-done{background:var(--pill-green-bg);color:var(--pill-green-fg)}.status-pill-done .status-dot{background:#48bb78}.kanban-count{color:var(--text-faint);font-weight:500;font-size:13px}.kanban-cards{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:40px}.kanban-empty{color:var(--text-faint);font-size:13px;text-align:center;margin:12px 0}.task-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;cursor:-webkit-grab;cursor:grab}.task-card:hover{border-color:var(--border-strong)}.task-card:active{cursor:-webkit-grabbing;cursor:grabbing}.task-card-dragging{opacity:.4}.task-card-top{justify-content:space-between}.task-card-top,.task-head{display:flex;align-items:flex-start;gap:8px}.task-head{min-width:0}.task-icon{font-size:15px;line-height:1.45;flex-shrink:0}.task-icon-empty{color:var(--text-faint);border:1px dashed var(--border-strong);border-radius:4px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;margin-top:2px}.task-title{font-weight:500;font-size:15px;color:var(--heading);overflow-wrap:anywhere}.task-card-buttons{display:flex;gap:2px;flex-shrink:0}.task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.task-meta:empty{display:none}.task-tag{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:500}.task-assignee{gap:5px;color:var(--text-muted);font-size:12.5px;font-weight:500}.task-assignee,.task-avatar{display:inline-flex;align-items:center}.task-avatar{width:18px;height:18px;border-radius:50%;background:var(--bg-active);border:1px solid var(--border-strong);color:var(--text);font-size:10px;font-weight:600;justify-content:center;flex-shrink:0}.task-badge{font-family:var(--mono-stack);font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 7px}.task-badge-late{background:var(--danger-bg);color:var(--danger)}.task-badge-ok{background:var(--badge-green-bg);color:var(--pill-green-fg)}.task-badge-done{background:var(--pill-green-bg);color:var(--pill-green-fg)}.task-details{margin:0;font-size:13px;color:var(--text-muted);white-space:pre-wrap}.emoji-input{max-width:120px}.emoji-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:-4px}.emoji-pick{background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 6px;cursor:pointer;font-size:16px;line-height:1.3}.emoji-pick:hover{background:var(--bg-hover)}.emoji-pick-active{background:var(--bg-active);border-color:var(--border-strong)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}[data-theme=light] .modal-overlay{background:rgba(0,0,0,.35)}.modal{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:10px;padding:24px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto}.modal h2{margin:0 0 16px;font-size:18px}.modal-form{gap:12px}.modal-form,.modal-form label{display:flex;flex-direction:column}.modal-form label{gap:5px;font-size:13px;color:var(--text-muted)}.modal-error{margin:0;padding:8px 10px;border-radius:8px;background:var(--danger-bg);color:var(--danger);font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.link-button{padding:0;border:0;background:transparent;color:var(--accent,#4f8cff);font:inherit;text-decoration:underline;cursor:pointer}.today{flex:1 1;min-height:0;overflow-y:auto;padding:28px 32px 40px}.today-inner{width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.today-heading{min-width:0}.today-date{margin:4px 0 0;font-size:14px;color:var(--text-muted)}.today-date:first-letter{text-transform:uppercase}.today-sun{font-size:.7em;vertical-align:.2em}.today-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.kpi-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg)}.kpi-num{font-size:26px;font-weight:800;line-height:1.2;color:var(--heading);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.kpi-card-late{border-color:rgba(235,87,87,.4);background:var(--danger-bg)}.kpi-card-late .kpi-num{color:var(--danger)}.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:28px;gap:28px;align-items:start}@media (max-width:980px){.today-grid{grid-template-columns:minmax(0,1fr)}}.today-main,.today-side{display:flex;flex-direction:column;gap:22px;min-width:0}.today-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.today-scope{flex:0 0 auto}.today-empty{padding:24px 0}.today-block{display:flex;flex-direction:column;gap:8px}.today-block-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.today-block-late{color:var(--danger)}.today-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.today-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg)}.today-row:hover{border-color:var(--border-strong)}.today-row-done{opacity:.5}.today-row-done .today-title{text-decoration:line-through}.today-check{flex:0 0 auto;width:18px;height:18px;padding:0;border:1px solid var(--border-strong,var(--border));border-radius:50%;background:transparent;color:var(--text-muted);font-size:11px;line-height:1;cursor:pointer}.today-check-on,.today-check:hover{border-color:var(--chip-teal);color:var(--chip-teal)}.today-row-body{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;color:var(--text);text-decoration:none}.today-space{flex:0 0 auto;padding:1px 8px;border-radius:999px;background:var(--chip-bg,hsla(0,0%,50%,.15));font-size:11px;letter-spacing:.4px;color:var(--text-muted)}.today-title{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-people{color:var(--text-muted)}.today-day,.today-people{flex:0 0 auto;font-size:12px}.today-day{color:var(--text-faint);white-space:nowrap}.today-spaces{gap:10px}.space-card,.today-spaces{display:flex;flex-direction:column}.space-card{gap:6px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg)}.space-card-name{font-size:15px;font-weight:700;color:var(--heading);text-decoration:none;letter-spacing:.3px}.space-card-name:hover{color:var(--accent);text-decoration:none}.space-card-stats{margin:0;font-size:12px;color:var(--text-muted)}.space-card-late{color:var(--danger)}.space-card-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.space-card-links a{padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:transparent;font-size:12px;color:var(--text-muted);text-decoration:none;white-space:nowrap}.space-card-links a:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.task-urgency,.today-note .today-title{font-size:13px}.task-urgency{flex:0 0 auto;font-weight:700;letter-spacing:-.5px}.task-urgency-low{color:var(--chip-orange)}.task-urgency-high{color:var(--danger)}.cal-chip-rolling{flex:0 0 auto;opacity:.8}.check-line{flex-direction:row;align-items:flex-start;gap:8px;color:var(--text);cursor:pointer}.check-line input{width:auto;margin-top:2px}.cal-rem{display:flex;align-items:center;gap:4px;width:100%;padding:2px 4px;border:1px solid rgba(255,184,77,.35);border-radius:6px;background:rgba(255,184,77,.12);font-size:11px;line-height:1.3}.cal-rem-done{opacity:.55}.cal-rem-done .cal-chip-title{text-decoration:line-through}.cal-rem-check{flex:0 0 auto;width:14px;height:14px;padding:0;border:1px solid var(--chip-orange);border-radius:4px;background:transparent;color:var(--chip-orange);font-size:10px;line-height:1;cursor:pointer}.cal-rem-check:hover{background:rgba(255,184,77,.25)}.cal-rem-body{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto;padding:0;border:0;background:transparent;color:var(--chip-orange);font:inherit;text-align:left;cursor:pointer}.cal-rem-icon{flex:0 0 auto}.modal-hint{margin:0;font-size:12px;color:var(--text-muted)}.modal-actions .btn-danger{margin-right:auto}@media (max-width:900px){.kanban-columns{grid-template-columns:1fr}.notes-sidebar{width:200px}}@media (max-width:720px){.topbar{padding:10px 12px;gap:10px}.segment-label{display:none}.segment{padding:5px 10px}}.loading-screen{flex:1 1;min-height:200px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-faint);font-size:14px}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-card{max-width:420px;padding:28px;border:1px solid var(--border);border-radius:14px;background:var(--card-bg);text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.error-title{margin:0;font-size:20px;color:var(--heading)}.error-text{margin:0;font-size:14px;color:var(--text-muted)}.toaster{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;flex-direction:column;pointer-events:none}.toast,.toaster{display:flex;gap:8px;align-items:center}.toast{max-width:min(520px,calc(100vw - 32px));padding:10px 14px;border:1px solid rgba(235,87,87,.45);border-radius:10px;background:var(--bg-elevated);box-shadow:var(--menu-shadow);font-size:13px;color:var(--text);pointer-events:auto}.toast-icon{flex:0 0 auto}.toast-text{min-width:0}.toast-close{flex:0 0 auto;padding:0 2px;border:0;background:transparent;color:var(--text-faint);font-size:16px;line-height:1;cursor:pointer}.toast-close:hover{color:var(--text)}.editor-status-error{color:var(--danger)}.pnl{display:flex;flex-direction:column;gap:14px;flex:1 1;min-height:0;overflow-y:auto;padding:12px 20px 160px;max-width:100%}.pnl-top-toggle{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:7px 12px;color:var(--heading);font-weight:600;font-size:13px;cursor:pointer}.pnl-top-toggle:hover{background:var(--bg-hover)}.pnl-top-caret{color:var(--text-faint);width:10px}.pnl-top-summary{font-weight:400;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.pnl-top-toggle .pnl-hint{margin-left:auto}.pnl-empty{max-width:520px;margin:60px auto;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;color:var(--text-muted)}.pnl-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.pnl-toolbar-left,.pnl-toolbar-right{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pnl-select{max-width:280px;padding:5px 8px;font-size:13.5px}.pnl-inline-input{padding:3px 6px;font-size:13px;min-width:160px}.pnl-danger{color:var(--danger)}.pnl-save{font-size:12px;color:var(--text-faint);padding-left:6px;white-space:nowrap}.pnl-save-dirty{color:var(--text-muted)}.pnl-save-error{color:var(--danger)}.pnl-banner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(255,184,119,.5);background:rgba(255,184,119,.12);border-radius:10px;font-size:13.5px}.pnl-banner-actions{display:flex;gap:6px;flex-wrap:wrap}.pnl-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.pnl-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:8px;gap:8px}.pnl-kpi{position:relative;padding:10px 12px}.pnl-kpi-num{font-size:18px}.pnl-kpi-hide{position:absolute;top:4px;right:6px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;font-size:14px;line-height:1;opacity:0;padding:2px 4px;border-radius:4px}.pnl-kpi:hover .pnl-kpi-hide{opacity:1}.pnl-kpi-hide:hover{background:var(--bg-hover);color:var(--text)}.pnl-kpi-hidden{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pnl-kpi-sub{font-size:11.5px;color:var(--text-muted)}.pnl-section{display:flex;flex-direction:column;gap:10px}.pnl-section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.pnl-section-head h2{margin:0;font-size:15px;text-transform:uppercase;letter-spacing:.6px;color:var(--heading)}.pnl-hint{font-size:12.5px;color:var(--text-faint)}.pnl-settings{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:8px 12px;gap:8px 12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg)}.pnl-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.pnl-field-input{display:flex;align-items:center;gap:6px}.pnl-field-input .pnl-cell-input{max-width:120px}.pnl-field-years .pnl-field-input{flex-wrap:wrap}.pnl-unit{color:var(--text-faint);font-size:12px}.pnl-cell-input{width:100%;min-width:0;padding:4px 6px;font-size:13px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text)}.pnl-cell-input.pnl-text,select.pnl-cell-input{text-align:left}.pnl-cell-input:focus{border-color:var(--accent);outline:none}.pnl-readonly .pnl-cell-input,.pnl-readonly input[type=checkbox]{pointer-events:none;opacity:.75}.pnl-grid-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--card-bg)}.pnl-grid{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;font-size:12px}.pnl-grid td,.pnl-grid th{padding:2px 4px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pnl-grid thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--bg-elevated);font-weight:600;font-size:12px;color:var(--text-muted);text-align:right;padding:6px 4px}.pnl-th-total,.pnl-th-year{color:var(--text);background:var(--bg-active)}.pnl-sticky{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--card-bg);text-align:left;width:215px;border-right:1px solid var(--border-strong)}.pnl-grid thead .pnl-sticky{z-index:3;background:var(--bg-elevated)}.pnl-th-name span{font-weight:500;color:var(--text-faint);font-size:12px}.pnl-block-row td,.pnl-block-row th{background:var(--bg-elevated);border-top:1px solid var(--border-strong)}.pnl-block-name{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--heading);padding:8px 6px 4px}.pnl-block-title{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pnl-block-caret{border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:0 4px 0 0;font-size:11px}.pnl-block-cell{cursor:pointer}.pnl-grid-tools{display:flex;gap:4px;padding:4px 6px 0}.pnl-block-actions{margin-left:8px;opacity:0;transition:opacity .12s ease}.pnl-block-row:hover .pnl-block-actions{opacity:1}.pnl-line-head{display:flex;align-items:center;gap:4px;min-height:22px}.pnl-line-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;font-weight:400}.pnl-row-total .pnl-line-label,.pnl-row-total .pnl-td-calc{font-weight:700;color:var(--heading)}.pnl-row-total td,.pnl-row-total th{background:var(--bg-elevated)}.pnl-row-sub .pnl-line-label,.pnl-row-sub .pnl-td-calc{color:var(--text-muted);font-style:italic;font-size:12.5px}.pnl-row-system .pnl-td-calc{color:var(--text-muted)}.pnl-err-mark,.pnl-row-error .pnl-line-label{color:var(--danger)}.pnl-err-mark{display:inline-block;margin-left:6px;font-weight:700}.pnl-tag{margin-left:6px;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:0 6px}.pnl-fx-btn,.pnl-pct-btn{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:4px;padding:1px 6px;font-size:11px;cursor:pointer;font-family:var(--mono-stack);white-space:nowrap}.pnl-fx-btn:hover:not(:disabled),.pnl-pct-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.pnl-menu-anchor{position:relative}.pnl-menu-btn{opacity:0}.pnl-menu-anchor:focus-within .pnl-menu-btn,.pnl-row:hover .pnl-menu-btn{opacity:1}.pnl-menu{position:absolute;left:0;top:100%;z-index:10;min-width:250px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--menu-shadow);padding:4px;display:flex;flex-direction:column}.pnl-menu-fixed{position:fixed;top:auto;z-index:100}.pnl-menu button{text-align:left;background:transparent;border:none;color:var(--text);padding:6px 10px;border-radius:5px;cursor:pointer;font-size:13px;white-space:nowrap}.pnl-menu button:hover{background:var(--bg-hover)}.pnl-menu-danger{color:var(--danger)!important}.pnl-td{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pnl-td-input{padding:1px 2px!important}.pnl-grid .pnl-cell-input{padding:2px 4px;font-size:12px}.pnl-td-calc{color:var(--text);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pnl-td-total,.pnl-td-year{background:var(--bg-elevated);font-weight:600}.pnl-neg{color:var(--danger)!important}.pnl-grid-foot{padding:8px}.pnl-cash{margin-top:10px}.pnl-table-wrap{overflow-x:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.pnl-table{border-collapse:separate;border-spacing:0;font-size:13px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg);overflow:hidden;min-width:100%}.pnl-table td,.pnl-table th{padding:4px 8px;border-bottom:1px solid var(--border);white-space:nowrap;text-align:right}.pnl-table td:first-child,.pnl-table th:first-child{text-align:left;min-width:200px}.pnl-table thead th{background:var(--bg-elevated);font-size:12px;font-weight:600;color:var(--text-muted);padding:8px}.pnl-table .pnl-cell-input{min-width:90px}.pnl-table .pnl-text{min-width:180px}.pnl-strong{font-weight:700;color:var(--heading)}.pnl-center{text-align:center!important}.pnl-compare,.pnl-formula-modal,.pnl-help{max-width:760px}.pnl-compare{max-width:860px}.pnl-formula-input{font-family:var(--mono-stack);font-size:13px;resize:vertical}.pnl-formula-names{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.pnl-formula-title{font-size:12px;color:var(--text-muted)}.pnl-formula-group{display:flex;flex-direction:column;gap:4px}.pnl-formula-group-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint)}.pnl-formula-names .filter-chip{font-size:12px;padding:2px 9px}.pnl-chip-total{font-weight:600;color:var(--text)}.pnl-chip-fn{font-family:var(--mono-stack)}.pnl-formula-names .filter-group-options{display:flex;flex-wrap:wrap;gap:4px}.pnl-chip-setting{border-style:dashed}.pnl-format-label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-muted);margin-top:12px}.pnl-help p{font-size:13.5px;line-height:1.5;margin:0 0 10px}.pnl-help code{font-family:var(--mono-stack);font-size:12px;background:var(--code-bg);padding:1px 5px;border-radius:4px}.pnl-compare-pick{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:12px}.pnl-compare-pick label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.pnl-compare-table{width:100%}.pnl-delta{color:var(--text-muted)}@media (max-width:1100px){.pnl-top{grid-template-columns:1fr}.pnl-grid{table-layout:auto;width:max-content;min-width:100%}}@media (max-width:720px){.pnl{padding:10px 10px 40px}.pnl-sticky{min-width:170px}.pnl-compare-pick{grid-template-columns:1fr}}:root{--pnl-c1:#5b8ff0;--pnl-c2:#c9721f}[data-theme=light]{--pnl-c1:#3b76e0;--pnl-c2:#d9762b}.pnl-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));grid-gap:12px;gap:12px}.pnl-chart{margin:0;padding:10px 12px 8px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg)}.pnl-chart-title{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.pnl-chart-body{position:relative}.pnl-chart-svg{width:100%;height:auto;display:block}.pnl-chart-grid{stroke:var(--border);stroke-width:1}.pnl-chart-zero{stroke:var(--border-strong);stroke-width:1}.pnl-chart-cross{stroke:var(--text-faint);stroke-width:1;stroke-dasharray:3 3}.pnl-chart-tick{font-size:10px;fill:var(--text-faint)}.pnl-chart-tip{position:absolute;top:6px;transform:translateX(-50%);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:6px;padding:6px 8px;font-size:12px;box-shadow:var(--menu-shadow);pointer-events:none;white-space:nowrap;z-index:5}.pnl-chart-tip-label{color:var(--text-muted);margin-bottom:2px}.pnl-chart-tip-row{display:flex;align-items:center;gap:6px}.pnl-chart-tip-row strong{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pnl-chart-swatch{display:inline-block;width:10px;height:10px;border-radius:3px}.pnl-chart-legend{display:flex;gap:14px;font-size:12px;color:var(--text-muted);margin-top:4px}.pnl-chart-legend-item{display:inline-flex;align-items:center;gap:5px}.pnl-field-notes{grid-column:1/-1}.pnl-notes{width:100%;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);resize:vertical}.pnl-comment-mark{border:none;background:transparent;cursor:pointer;font-size:11px;padding:0 2px;margin-left:4px}.pnl-compare-all{max-width:1200px}.pnl-compare-all-table th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pnl-compare-all-table th:hover{color:var(--text)}.pnl-sort-active{color:var(--accent)!important}.pnl-rank{font-weight:700;color:var(--text-faint);text-align:center!important;width:28px}.pnl-compare-name{font-weight:600;color:var(--heading)}.pnl-compare-current td{background:rgba(79,140,255,.08)}.pnl-best{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;font-weight:600;color:var(--heading)}.pnl-sheet-root{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);overflow-y:auto;padding:24px 16px 60px}.pnl-sheet-bar{max-width:860px;margin:0 auto 10px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff}.pnl-sheet-bar .pnl-hint{color:hsla(0,0%,100%,.8)}.pnl-sheet{max-width:860px;margin:0 auto;background:#fff;color:#1a1a1a;border-radius:8px;padding:32px 36px;font-size:12.5px;line-height:1.4;--card-bg:#fff;--border:#e3e3e0;--border-strong:#c9c9c5;--text-faint:#8a8a86;--text-muted:#5a5a57;--text:#1a1a1a;--heading:#111;--bg-elevated:#f5f5f3;--menu-shadow:0 4px 12px rgba(0,0,0,.12);--pnl-c1:#3b76e0;--pnl-c2:#d9762b}.pnl-sheet h1{margin:2px 0 4px;font-size:24px}.pnl-sheet h2{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#5a5a57;margin:14px 0 6px}.pnl-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:10px}.pnl-sheet-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#5a5a57}.pnl-sheet-sub{color:#5a5a57}.pnl-sheet-date{color:#5a5a57;font-size:12px;white-space:nowrap}.pnl-sheet-kpis{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px;margin:14px 0 6px}.pnl-sheet-kpis>div{display:flex;flex-direction:column;padding:8px 10px;border:1px solid #e3e3e0;border-radius:6px}.pnl-sheet-kpis strong{font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pnl-sheet-kpis span{font-size:10.5px;color:#5a5a57}.pnl-sheet-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:20px;gap:20px}.pnl-sheet-table{width:100%;border-collapse:collapse;font-size:12px}.pnl-sheet-table td,.pnl-sheet-table th{padding:3px 6px;border-bottom:1px solid #ececea;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pnl-sheet-table td:first-child,.pnl-sheet-table th:first-child{text-align:left}.pnl-sheet-table thead th{color:#5a5a57;font-weight:600}.pnl-sheet-strong td{font-weight:700;background:#f5f5f3}.pnl-sheet-facts td:last-child{text-align:left;color:#333}.pnl-sheet-facts td:first-child{color:#5a5a57;white-space:nowrap;width:38%}.pnl-sheet-charts{margin-top:14px}.pnl-sheet-charts .pnl-charts{grid-template-columns:1fr 1fr}.pnl-sheet-notes p,.pnl-sheet-notes ul{margin:0 0 6px;font-size:12px}.pnl-sheet-notes ul{padding-left:18px}.pnl-sheet-foot{margin-top:16px;padding-top:8px;border-top:1px solid #e3e3e0;font-size:10.5px;color:#8a8a86}@media print{@page{size:A4 portrait;margin:12mm}body>:not(.pnl-sheet-root){display:none!important}.pnl-sheet-root{position:static;background:transparent;padding:0;overflow:visible}.pnl-sheet-bar,.toaster{display:none!important}.pnl-sheet{max-width:none;padding:0;border-radius:0;box-shadow:none}.pnl-chart-tip{display:none}}.pnl-compare-all-table td:first-child,.pnl-compare-all-table th:first-child{min-width:28px;text-align:center}.pnl-compare-all-table td:nth-child(2),.pnl-compare-all-table th:nth-child(2){text-align:left;min-width:160px}.pnl-summary-title{margin:0;font-size:18px}.pnl-summary-new{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pnl-summary-new .pnl-inline-input{flex:1 1;min-width:260px;padding:6px 10px}.pnl-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.pnl-tile{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);transition:border-color .12s ease,transform .12s ease}.pnl-tile:hover{border-color:var(--border-strong)}.pnl-tile-fav{border-color:rgba(255,184,119,.6)}.pnl-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pnl-tile-name{font-size:16px;font-weight:700;color:var(--heading);line-height:1.25}.pnl-tile-name:hover{text-decoration:underline}.pnl-star{border:none;background:transparent;cursor:pointer;font-size:20px;line-height:1;color:var(--text-faint);padding:0 2px}.pnl-star-on,.pnl-star:hover{color:#f0a04b}.pnl-tile-author{font-size:12px;color:var(--text-faint);margin-top:-4px}.pnl-tile-sub{font-size:12.5px;color:var(--text-muted)}.pnl-tile-kpis{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 10px;gap:6px 10px;margin-top:2px}.pnl-tile-kpis>div{display:flex;flex-direction:column}.pnl-tile-kpis strong{font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--heading)}.pnl-tile-kpis span{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}.pnl-tile-notes,.pnl-tile-payback{font-size:12.5px;color:var(--text-muted)}.pnl-tile-notes{margin:0;font-style:italic;border-left:2px solid var(--border-strong);padding-left:8px}.pnl-tile-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;border-top:1px solid var(--border)}.pnl-tile-new{align-items:center;justify-content:center;min-height:180px;border-style:dashed;color:var(--text-muted);cursor:pointer;font:inherit}.pnl-tile-new:hover{color:var(--text);background:var(--bg-hover)}.pnl-tile-new-plus{font-size:28px;line-height:1}.pnl-muted{color:var(--text-faint)!important;font-style:italic}