:root{font-family:DM Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f4f0e8;--surface: #fdfcf9;--surface-raised: #ede9e0;--border: #d8d0c4;--border-muted: #e5e0d6;--text: #1c1916;--text-muted: #7a6f62;--text-faint: #b0a898;--primary: #d4771e;--primary-hover: #be6918;--primary-dim: rgba(212, 119, 30, .1);--primary-glow: rgba(212, 119, 30, .06);--lane-bg: #ece8de;--shadow-sm: 0 1px 3px rgba(0,0,0,.07), 0 0 0 1px rgba(0,0,0,.04);--shadow-md: 0 4px 14px rgba(0,0,0,.09), 0 0 0 1px rgba(0,0,0,.05);--shadow-lg: 0 16px 40px rgba(0,0,0,.13), 0 0 0 1px rgba(0,0,0,.06);--radius-sm: 7px;--radius-md: 11px;--radius-lg: 16px;--font-display: "Syne", system-ui, sans-serif;--header-bg: rgba(244, 240, 232, .92);--backdrop-bg: rgba(180, 172, 158, .55);--logo-back: #c8bfb5;--logo-front: #d4771e}[data-theme=dark]{--bg: #1e1b16;--surface: #272318;--surface-raised: #302b20;--border: #3e3828;--border-muted: #2c2820;--text: #ede8de;--text-muted: #9a8f82;--text-faint: #615850;--primary: #e8943a;--primary-hover: #d4812a;--primary-dim: rgba(232, 148, 58, .12);--primary-glow: rgba(232, 148, 58, .07);--lane-bg: #191610;--shadow-sm: 0 1px 4px rgba(0,0,0,.5);--shadow-md: 0 4px 16px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.025);--shadow-lg: 0 16px 48px rgba(0,0,0,.72), 0 0 0 1px rgba(255,255,255,.03);--header-bg: rgba(30, 27, 22, .92);--backdrop-bg: rgba(8, 7, 5, .78);--logo-back: #4e4636;--logo-front: #e8943a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.022;pointer-events:none;z-index:9999}h1,h2,h3,h4{font-family:var(--font-display);margin:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.5em 1.2em;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .13s,box-shadow .13s,transform .1s,border-color .13s,color .13s}.btn-primary{background:var(--primary);color:#fff;font-family:DM Sans,system-ui,sans-serif;font-weight:700;letter-spacing:.02em;line-height:1.5;box-shadow:0 1px 4px #00000059,0 0 0 1px #e8943a40}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 3px 12px #e8943a47,0 0 0 1px #e8943a66;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:btn-spin .55s linear infinite;vertical-align:middle}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-secondary{background:var(--surface);color:var(--text-muted);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-raised);color:var(--text);border-color:#3a342d}.home-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.25rem;text-align:center;position:relative;overflow:hidden}.home-page:before{content:"";position:absolute;width:700px;height:700px;background:radial-gradient(ellipse,rgba(232,148,58,.07) 0%,transparent 68%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.home-page h1{font-family:var(--font-display);font-size:clamp(3rem,8vw,5rem);font-weight:800;letter-spacing:-.04em;line-height:1;background:linear-gradient(145deg,var(--text) 40%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-page p{color:var(--text-faint);font-size:.85rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}.board-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.board-page:before{content:"";position:absolute;width:900px;height:600px;background:radial-gradient(ellipse,rgba(232,148,58,.045) 0%,transparent 65%);top:-200px;right:-100px;pointer-events:none;z-index:0}.app-footer{display:flex;align-items:center;justify-content:center;height:36px;padding:0 1.5rem;flex-shrink:0;border-top:1px solid var(--border-muted);position:relative}.home-page .board-header{position:absolute;top:0;left:0;right:0}.home-page .app-footer{position:absolute;bottom:0;left:0;right:0}.app-footer__copyright{font-size:.7rem;color:var(--text-faint);letter-spacing:.04em}.app-footer__theme{position:absolute;right:1.5rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.app-footer__theme span{font-size:.7rem;font-weight:600;letter-spacing:.04em;color:var(--text-muted);font-family:var(--font-display);text-transform:uppercase}.board-header{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:54px;background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);flex-shrink:0;position:relative;z-index:10}.header-admin-nav{display:flex;align-items:center;gap:2px}.header-admin-nav-link{padding:.3rem .65rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:background .12s,color .12s}.header-admin-nav-link:hover{background:var(--surface-raised);color:var(--text)}.header-admin-nav-link--active{background:var(--primary-dim);color:var(--primary)}.board-subheader{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:38px;background:var(--lane-bg);border-bottom:1px solid var(--border);flex-shrink:0;position:relative;z-index:9;gap:.5rem;overflow:hidden}.board-subheader-actions{display:flex;align-items:center;gap:.5rem}.board-toolbar{display:flex;align-items:center;gap:.25rem}.icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;position:relative;padding:0}.icon-btn:hover{background:var(--border);color:var(--text)}.tooltip-anchor{display:inline-flex;align-items:center}.tooltip{position:fixed;transform:translate(-50%);background:var(--lane-bg);color:var(--text-muted);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:.7rem;padding:.25em .6em;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:9999}.board-name-label{font-size:.8125rem;font-weight:500;color:var(--text-muted);padding:.2em .4em;border-radius:var(--radius-sm);line-height:1}.board-name-label--editable{cursor:pointer}.board-name-label--editable:hover{background:var(--surface);color:var(--text)}.board-name-input{font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--text);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-sm);padding:.2em .5em;outline:none;min-width:160px;line-height:1}.btn-primary--sm{font-size:.75rem;padding:.3em .85em}.logo-lockup{display:flex;align-items:center;gap:.45rem}.logo-wordmark{font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.home-logo-mark{animation:home-mark-in .5s cubic-bezier(.34,1.26,.64,1) both;filter:drop-shadow(0 4px 12px rgba(212,119,30,.25))}@keyframes home-mark-in{0%{opacity:0;transform:scale(.7) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}.board{display:flex;gap:.875rem;padding:1.25rem 1.5rem;flex:1;min-height:0;position:relative;z-index:1;align-items:stretch}.lane{background:var(--lane-bg);border-radius:var(--radius-md);flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);overflow:hidden;transition:border-color .15s}.lane[style*="rgba(79"]{border-color:#e8943a59!important;background:#e8943a08}.lane-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem .9rem .7rem;border-bottom:1px solid var(--border-muted)}.lane-header h3{font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.lane-expand-btn{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:.15rem;border-radius:var(--radius-sm);display:flex;align-items:center;transition:color .1s,background .1s}.lane-expand-btn:hover{color:var(--text-muted);background:var(--surface-raised)}.lane-count{font-family:DM Sans,system-ui,sans-serif;font-size:.7rem;font-weight:600;line-height:1;letter-spacing:0;color:var(--text-faint);background:var(--surface);border:1px solid var(--border);border-radius:20px;height:1.35rem;min-width:1.35rem;display:inline-flex;align-items:center;justify-content:center;padding:0 .35em}.lane-cards{display:flex;flex-direction:column;gap:.375rem;overflow-y:auto;overflow-x:clip;padding:.625rem;flex:1;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.btn-add-card{background:transparent;border:none;border-top:1px solid var(--border-muted);border-radius:0;color:var(--text-faint);text-align:left;padding:.6rem .9rem;font-size:.775rem;font-family:inherit;width:100%;cursor:pointer;transition:color .12s,background .12s;letter-spacing:.01em}.btn-add-card:hover{color:var(--text-muted);background:#ffffff05}.card-name-input{font-family:DM Sans,system-ui,sans-serif;font-size:.865rem;font-weight:500;color:var(--text);line-height:1.5;flex:1;background:none;border:none;outline:none;padding:0;width:100%;cursor:text}.inline-card{background:var(--surface);border-radius:var(--radius-sm);padding:.7rem .8rem;border:1px solid var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.inline-card-input{font-family:DM Sans,system-ui,sans-serif;font-size:.865rem;font-weight:500;color:var(--text);background:none;border:none;outline:none;width:100%;padding:0;line-height:1.5}.inline-card-label{display:block;font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:.35rem}.inline-card-input::placeholder{color:var(--text-faint)}.card{background:var(--surface);border-radius:var(--radius-sm);padding:.7rem .8rem;border:1px solid var(--border);display:flex;flex-direction:column;gap:.3rem;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .13s ease,box-shadow .13s ease,border-color .13s ease;box-shadow:var(--shadow-sm)}.card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f,0 0 0 1px #00000014;border-color:#c4bab0}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.25rem}.card-name{font-family:DM Sans,system-ui,sans-serif;font-size:.865rem;font-weight:500;color:var(--text);line-height:1.5;flex:1}.card--done .card-name{text-decoration:line-through;color:var(--text-muted)}.card-done-check{flex-shrink:0;width:13px;height:13px;margin-top:.2rem}.card-delete{flex-shrink:0;background:none;border:none;color:var(--text-faint);padding:.1rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;opacity:0;transition:opacity .1s,color .1s;line-height:1;position:relative}.card:hover .card-delete{opacity:1}.card-delete:hover{color:#c0392b}.card-description{font-size:.775rem;font-weight:300;color:var(--text-muted);margin:0;line-height:1.45;display:flex;align-items:flex-start;gap:.3rem;cursor:pointer}.card-description-text{min-width:0}.card-description--collapsed .card-description-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-description--expanded .card-description-text{white-space:pre-wrap}.card-meta{display:flex;flex-wrap:wrap;gap:.5rem}.card-date{font-size:.695rem;color:var(--text-faint);font-weight:400;letter-spacing:.01em;display:flex;align-items:center;gap:.25rem}.card-date--due{color:#e8943ad9;font-weight:500}.card-field-icon{display:flex;align-items:center;flex-shrink:0;opacity:.7;margin-top:.1em}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;animation:backdrop-fade .15s ease}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.modal{position:relative;background:var(--surface);border-radius:var(--radius-lg);padding:1.75rem;width:440px;max-width:calc(100vw - 2rem);display:flex;flex-direction:column;gap:1.25rem;border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:modal-appear .18s cubic-bezier(.34,1.26,.64,1)}@keyframes modal-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal--wide{width:980px}.modal-columns{display:grid;grid-template-columns:1fr 480px;gap:1.5rem;align-items:start}.modal-fields{display:flex;flex-direction:column;gap:.875rem}.modal-history-panel{border-left:1px solid var(--border);padding-left:1.5rem;min-height:200px}.card-history-empty{color:var(--text-faint);font-size:.8rem;font-style:italic;margin:.35rem 0 0}.history-pagination{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.history-page-label{flex:1;text-align:center;font-size:.75rem;color:var(--text-faint)}.modal h3{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.modal-title-with-icon{display:flex;align-items:center;gap:.45rem}.modal form{display:flex;flex-direction:column;gap:.875rem}.modal label{display:flex;flex-direction:column;gap:.35rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-family:var(--font-display)}.modal input,.modal textarea,.modal select{font-family:DM Sans,system-ui,sans-serif;font-size:.875rem;font-weight:400;padding:.6em .875em;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;resize:vertical;transition:border-color .13s,box-shadow .13s;color-scheme:light}[data-theme=dark] .modal input,[data-theme=dark] .modal textarea,[data-theme=dark] .modal select{color-scheme:dark}.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.modal input::placeholder,.modal textarea::placeholder{color:var(--text-faint)}.modal select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237c7166' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875em center;background-size:10px;padding-right:2.5em;cursor:pointer}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.25rem;line-height:1;color:var(--text-faint);cursor:pointer;padding:.2rem .4rem;border-radius:var(--radius-sm);transition:color .1s,background .1s}.modal-close:hover{color:var(--text);background:var(--surface-raised)}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-muted)}.modal-actions-right{display:flex;gap:.5rem}.btn-danger{font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.02em;padding:.45em .875em;border-radius:var(--radius-sm);border:1px solid rgba(192,57,43,.35);background:transparent;color:#c0392b;cursor:pointer;transition:background .13s,border-color .13s,color .13s}.btn-danger:hover{background:#c0392b14;border-color:#c0392b99}.confirm-dialog{width:420px;gap:.75rem}.confirm-message{font-size:.9rem;font-weight:500;color:var(--text);margin:0;line-height:1.5}.confirm-description{font-size:.8rem;color:var(--text-muted);margin:-.25rem 0 0;line-height:1.4}.field-error{display:block;font-size:.75rem;color:#c0392b;margin-top:.3em}.week-view{flex-shrink:0;border-top:1px solid var(--border);padding:.875rem 1.5rem 1.125rem;background:var(--bg);position:relative;z-index:1}.week-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.week-label{font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);flex:1}.week-nav button{padding:.3em .75em;font-size:.75rem}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem}.week-days--workweek{grid-template-columns:repeat(5,1fr)}.week-days--with-overdue{grid-template-columns:repeat(8,1fr)}.week-days--workweek.week-days--with-overdue{grid-template-columns:repeat(6,1fr)}.workweek-toggle{margin-left:0}.workweek-toggle--active{background:var(--primary-dim);border-color:#e8943a4d;color:var(--primary)}.workweek-toggle-chip{display:inline-flex;align-items:center;justify-content:center;background:#e8943a26;color:#e8943ae6;font-size:.65rem;font-weight:700;min-width:1.2em;height:1.2em;border-radius:20px;padding:0 .35em;margin-left:.35em;line-height:1}.overdue-column{background:#dc5a5a0a;border-color:#dc5a5a33}.overdue-column .day-header{border-bottom-color:#dc5a5a33}.overdue-label{color:#dc5a5ab3!important}.overdue-sub-label{font-family:var(--font-display);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#dc5a5a73;line-height:1.15;height:1.265rem;display:flex;align-items:center}.overdue-column .day-header>.tooltip-anchor{position:absolute;top:0;right:0}.overdue-count-chip{display:inline-flex;align-items:center;justify-content:center;font-family:DM Sans,system-ui,sans-serif;font-size:.6rem;font-weight:600;line-height:1;background:#dc5a5a1f;color:#dc5a5ad9;border:1px solid rgba(220,90,90,.25);border-radius:20px;padding:.2em .5em;cursor:default}.overdue-toggle{margin-left:0}.overdue-toggle--active{background:#dc5a5a14;border-color:#dc5a5a4d;color:#dc5a5ad9}.overdue-toggle-chip{display:inline-flex;align-items:center;justify-content:center;background:#dc5a5a26;color:#dc5a5ae6;font-size:.65rem;font-weight:700;min-width:1.2em;height:1.2em;border-radius:20px;padding:0 .35em;margin-left:.35em;line-height:1}.day-column{background:var(--lane-bg);border:1px solid var(--border-muted);border-radius:var(--radius-sm);padding:.5rem;min-height:140px;overflow-y:auto;transition:background .12s,border-color .12s;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.day-column.is-over{background:var(--primary-dim);border-color:#e8943a4d}.day-column.today{border-color:#e8943a38;background:#e8943a08}.day-header{position:relative;display:flex;flex-direction:column;align-items:center;padding-bottom:.4rem;margin-bottom:.35rem;border-bottom:1px solid var(--border-muted)}.day-name{font-family:var(--font-display);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.day-date{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-muted);line-height:1.15}.day-column.today .day-name{color:#e8943ab3}.day-column.today .day-date{color:var(--primary)}.today-chip{position:absolute;top:0;left:0;font-family:DM Sans,system-ui,sans-serif;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:.2em .5em;line-height:1}.day-header>.tooltip-anchor{position:absolute;top:0;right:0}.day-count-chip{display:inline-flex;align-items:center;gap:.2em;font-family:DM Sans,system-ui,sans-serif;font-size:.6rem;font-weight:600;line-height:1;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:.2em .5em;cursor:default}.day-count-active{color:var(--text-muted)}.day-count-active--overdue{color:#dc5a5ad9}.day-count-sep{color:var(--text-faint)}.day-count-done{color:#22c55e}.week-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.3rem .45rem;font-size:.72rem;font-weight:400;color:var(--text-muted);margin-bottom:.25rem;cursor:grab;display:flex;align-items:center;gap:.4rem;justify-content:space-between;overflow:hidden;transition:background .1s,transform .1s,border-color .1s,color .1s}.week-card:hover{background:var(--surface-raised);color:var(--text);border-color:#c4bab0;transform:translateY(-1px)}.week-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;cursor:pointer}.week-card-remove{flex-shrink:0;background:none;border:none;color:var(--text-faint);font-size:1rem;padding:0 0 0 .3rem;line-height:1;cursor:pointer;border-radius:3px;opacity:0;transition:opacity .1s,color .1s}.week-card:hover .week-card-remove{opacity:1}.week-card-remove:hover{color:var(--text-muted)}.week-card--done{opacity:.7}.week-card--done .week-card-name{text-decoration:line-through;color:var(--text-muted)}.week-card--overdue{border-color:#dc5a5a4d;background:#dc5a5a0f}.week-card--overdue .week-card-name{color:#dc5a5ad9}.week-card-check{flex-shrink:0;width:12px;height:12px}.week-card-toggle{flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;opacity:0;transition:opacity .15s,color .15s}.week-card-toggle svg{width:14px;height:14px}.week-card:hover .week-card-toggle{opacity:1}.week-card-toggle:hover{color:#22c55e}.week-card-toggle--done{opacity:1;color:#22c55e}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.4rem;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35em .75em;font-size:.8rem;color:var(--text-muted);cursor:pointer;max-width:200px;transition:background .13s,color .13s}.user-menu-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-trigger:hover{color:var(--text);background:var(--surface-raised);border-color:var(--border)}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;z-index:200;display:flex;flex-direction:column;overflow:hidden}.user-menu-item{display:flex;align-items:center;gap:.6rem;padding:.65em 1em;font-size:.85rem;color:var(--text);background:none;border:none;border-radius:0;cursor:pointer;text-align:left;width:100%;transition:background .12s}.user-menu-item:hover{background:var(--surface-raised)}.user-menu-item svg{flex-shrink:0;color:var(--text-muted)}.user-menu-item--danger{color:var(--text-muted)}.boards-menu-dropdown{min-width:220px;max-height:320px;overflow-y:auto}.boards-menu-empty{display:block;padding:.65em 1em;font-size:.8rem;color:var(--text-faint)}.boards-menu-divider{height:1px;background:var(--border);margin:.25rem 0}.boards-menu-new{color:var(--primary)}.boards-menu-new svg{color:var(--primary)}.board-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:50vh;text-align:center;padding:2rem}.board-gate h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text);margin:0}.board-gate p{color:var(--text-muted);font-size:.9rem;margin:0}.board-gate-actions{display:flex;gap:.75rem;margin-top:.5rem}.theme-toggle{position:relative;width:38px;height:22px;background:var(--border);border-radius:11px;border:none;cursor:pointer;padding:0;transition:background .2s;flex-shrink:0}.theme-toggle:hover{background:var(--text-faint);transform:none}.theme-toggle[aria-checked=true]{background:var(--primary)}.theme-toggle:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s cubic-bezier(.34,1.4,.64,1);box-shadow:0 1px 3px #0003}.theme-toggle[aria-checked=true]:after{transform:translate(16px)}.board-tags-row{display:flex;align-items:center;gap:.35rem}.board-toolbar-divider{width:1px;height:18px;background:var(--border);flex-shrink:0}.tag-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2em .65em;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:.72rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s;line-height:1.4}.tag-pill:hover{background:var(--border);color:var(--text)}.tag-pill.active{background:color-mix(in srgb,var(--tag-color, #5278e0) 15%,transparent);border-color:var(--tag-color, #5278e0);color:var(--text)}.tag-pill--all.active{background:var(--border);border-color:var(--text-muted);color:var(--text)}.tag-color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tag-manage-btn{margin-left:.15rem;flex-shrink:0}.card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.card-tag-chip{display:inline-flex;align-items:center;gap:.25em;font-size:.6rem;font-weight:600;color:var(--text-muted);background:color-mix(in srgb,var(--tag-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--tag-color) 25%,transparent);border-radius:20px;padding:.1em .45em;line-height:1.3;white-space:nowrap}.card-tag-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.card-tag-tooltip-list{display:flex;flex-direction:column;gap:.3rem}.card-tag-dots{display:inline-flex;gap:.3rem;align-items:center}.card-tag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.card--promoted-subtask{border-left:3px dashed var(--primary)}.card-parent-label{display:flex;align-items:center;gap:.3em;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-subtask-badge{display:inline-flex;align-items:center;gap:.25em;font-family:DM Sans,system-ui,sans-serif;font-size:.65rem;font-weight:600;color:var(--text-faint);background:transparent;border:1px solid var(--border);border-radius:20px;padding:.15em .5em;cursor:pointer;transition:border-color .12s,color .12s}.card-subtask-badge:hover{border-color:var(--text-muted);color:var(--text-muted)}.card-subtask-list{display:flex;flex-direction:column;gap:.35rem;padding:.25rem 0 .25rem .75rem;margin-top:-.1rem;margin-bottom:.3rem;border-left:2px solid var(--border-muted);margin-left:.5rem}.card-subtask-list .card{font-size:.85em}.card-subtask-list .card-subtask-list{margin-left:.25rem;padding-left:.5rem}.card-subtask-add-area{opacity:0;transition:opacity .15s;padding-top:.15rem}.card-subtask-list:hover>.card-subtask-add-area,.card-subtask-add-area--active{opacity:1}.card-subtask-add-btn{display:flex;width:100%;align-items:center;justify-content:center;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-faint);font-size:.72rem;padding:.35em .6em;cursor:pointer;transition:border-color .12s,color .12s}.card-subtask-add-btn:hover{border-color:var(--text-muted);color:var(--text-muted)}.settings-dialog{max-width:680px;width:100%}.settings-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.settings-dialog .settings-toggle-row{display:flex;flex-direction:row!important;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;font-size:.85rem;font-weight:400}.settings-toggle-label{font-size:.85rem;color:var(--text);flex:1}.settings-toggle{position:relative;width:36px;height:20px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;flex-shrink:0;padding:0;transition:background .15s,border-color .15s}.settings-toggle--on{background:var(--primary);border-color:var(--primary)}.settings-toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:transform .15s,background .15s}.settings-toggle--on .settings-toggle-knob{transform:translate(16px);background:#fff}.settings-danger-zone{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.settings-danger-label{font-size:.75rem;font-weight:600;color:var(--danger, #e05252);text-transform:uppercase;letter-spacing:.05em}.trash-dialog{max-width:480px;width:100%}.trash-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;max-height:400px;overflow-y:auto}.trash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-sm)}.trash-card--done{opacity:.6}.trash-card-crumbs{font-size:.68rem;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.trash-card-name{font-family:DM Sans,system-ui,sans-serif;font-size:.85rem;font-weight:500;color:var(--text);line-height:1.4;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-card--done .trash-card-name{text-decoration:line-through;color:var(--text-muted)}.trash-card-tags{display:flex;flex-wrap:wrap;gap:.25rem}.trash-card-meta{font-size:.68rem;color:var(--text-faint)}.trash-empty{color:var(--text-faint);font-size:.85rem;text-align:center;padding:1.5rem 0}.trash-hint{font-size:.72rem;color:var(--text-faint);text-align:center;margin-top:.5rem}.trash-btn,.archive-btn{position:relative}.trash-badge,.archive-badge{position:absolute;top:-4px;right:-4px;background:var(--danger, #e05252);color:#fff;font-size:.6rem;font-weight:600;min-width:14px;height:14px;line-height:14px;text-align:center;border-radius:7px;padding:0 3px}.archive-badge{background:var(--text-muted, #8b7e74)}.archive-dialog{max-width:520px;width:100%}.archive-search{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;background:var(--surface);color:var(--text);margin-bottom:.75rem}.archive-search:focus{outline:none;border-color:var(--primary)}.archive-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;max-height:400px;overflow-y:auto}.archive-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-sm)}.archive-card--done{opacity:.6}.archive-card-crumbs{font-size:.68rem;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.archive-card-name{font-family:DM Sans,system-ui,sans-serif;font-size:.85rem;font-weight:500;color:var(--text);line-height:1.4;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-card--done .archive-card-name{text-decoration:line-through;color:var(--text-muted)}.archive-card-tags{display:flex;flex-wrap:wrap;gap:.25rem}.archive-card-meta{font-size:.68rem;color:var(--text-faint)}.archive-empty{color:var(--text-faint);font-size:.85rem;text-align:center;padding:1.5rem 0}.card-archive{flex-shrink:0;background:none;border:none;color:var(--text-faint);cursor:pointer;padding:.1rem;border-radius:4px;display:flex;align-items:center;opacity:0;transition:opacity .1s,color .1s;line-height:1}.card:hover .card-archive{opacity:1}.card-archive:hover{color:#27ae60}.goal-board-page{display:flex;flex-direction:column;height:100vh;overflow:hidden}.goal-board{display:flex;gap:1.25rem;padding:1.25rem;flex:1;overflow-x:auto;overflow-y:auto;align-items:flex-start}.goal-column{width:200px;display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0}.goal-column-header{width:100%;padding:.6rem .75rem;border-radius:var(--radius-sm);background:linear-gradient(to right,#22c55e 0,#22c55e calc(var(--goal-progress, 0%) - 12%),#22c55eeb calc(var(--goal-progress, 0%) - 8%),#22c55ead calc(var(--goal-progress, 0%) - 4%),#22c55e61 calc(var(--goal-progress, 0%)),#22c55e26 calc(var(--goal-progress, 0%) + 4%),#22c55e0a calc(var(--goal-progress, 0%) + 8%),#22c55e00 calc(var(--goal-progress, 0%) + 12%),#22c55e00),var(--surface);border:1px solid var(--border);color:var(--text);font-size:.8rem;font-weight:600;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:.4rem}.goal-column-header--done{background:#22c55e;border-color:#16a34a;color:#fff}.goal-column-name{cursor:pointer;flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-column-name-input{background:transparent;border:1px solid var(--border);border-radius:3px;color:inherit;font-size:.8rem;font-weight:600;text-align:center;padding:.15rem .4rem;width:100%}.goal-column-header--done .goal-column-name-input{border-color:#fff6}.goal-column-name-input:focus{outline:none}.goal-column-delete{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-faint);font-size:1.1rem;cursor:pointer;visibility:hidden;transition:color .1s;line-height:1;padding:0}.goal-column-header:before{content:"";display:block;width:18px;flex-shrink:0}.goal-column-header--done .goal-column-delete{color:#ffffff80}.goal-column-header:hover .goal-column-delete{visibility:visible}.goal-column-delete:hover{color:var(--text)}.goal-column-header--done .goal-column-delete:hover{color:#fff}.goal-column-items{display:flex;flex-direction:column;align-items:center;width:100%;gap:0}.goal-item-slot{width:100%;display:flex;flex-direction:column;align-items:center}.goal-item{position:relative;width:100%;margin-top:1.5rem;padding:.5rem .65rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.78rem;text-align:center;box-shadow:var(--shadow-sm);color:var(--text);cursor:default;transition:border-color .1s}.goal-item:hover{border-color:var(--text-faint)}.goal-item:before{content:"";position:absolute;left:50%;top:-1.5rem;height:1.5rem;width:2px;background:var(--border);transform:translate(-50%)}.goal-item--done{background:#22c55e;border-color:#16a34a;color:#fff;font-weight:500}.goal-item--done:hover{border-color:#15803d}.goal-item--done:before{background:#22c55e}.goal-item--linked{border-style:dashed}.goal-item--adding{background:transparent;border-style:dashed;border-color:var(--border)}.goal-item-name{cursor:pointer}.goal-item-edit-input{background:transparent;border:none;font-size:.78rem;text-align:center;color:inherit;width:100%;padding:0}.goal-item-edit-input:focus{outline:none}.goal-item-add-input{background:transparent;border:none;font-size:.78rem;text-align:center;color:var(--text);width:100%;padding:0}.goal-item-add-input:focus{outline:none}.goal-item-actions{position:absolute;top:-.6rem;right:-.3rem;display:none;gap:.15rem;background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:.1rem;box-shadow:var(--shadow-sm)}.goal-item:hover .goal-item-actions{display:flex}.goal-item-action-btn{background:none;border:none;font-size:.7rem;color:var(--text-faint);cursor:pointer;padding:.1rem .25rem;border-radius:2px;line-height:1;transition:color .1s,background .1s}.goal-item-action-btn:hover{color:var(--text);background:var(--surface-raised)}.goal-item-action-btn--danger:hover{color:#c0392b}.goal-item-link-badge{position:absolute;bottom:-.4rem;right:-.4rem;background:var(--surface);border:1px solid var(--border);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.goal-item-add-btn{margin-top:.75rem;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-faint);font-size:.72rem;padding:.3rem .6rem;cursor:pointer;transition:border-color .1s,color .1s}.goal-item-add-btn:hover{border-color:var(--text-muted);color:var(--text-muted)}.link-card-dialog{max-width:420px;width:100%}.link-card-hint{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.link-card-search{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;background:var(--surface);color:var(--text);margin-bottom:.5rem}.link-card-search:focus{outline:none;border-color:var(--primary)}.link-card-list{display:flex;flex-direction:column;gap:.25rem;max-height:300px;overflow-y:auto}.link-card-option{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.82rem;color:var(--text);text-align:left;cursor:pointer;transition:border-color .1s,background .1s}.link-card-option:hover{border-color:var(--primary);background:var(--surface-raised)}.link-card-empty{color:var(--text-faint);font-size:.82rem;text-align:center;padding:1rem 0}.link-card-back{background:none;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;padding:0;margin-bottom:.5rem;transition:color .1s}.link-card-back:hover{color:var(--text)}.goal-column--add{width:200px;height:fit-content;padding:.6rem .75rem;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .1s,color .1s;flex-shrink:0}.goal-column--add:hover{border-color:var(--text-muted)}.goal-add-label{font-size:.78rem;color:var(--text-faint)}.timeframe-selector{display:flex;align-items:center;gap:.5rem}.timeframe-year-btn{background:none;border:none;font-size:1.1rem;color:var(--text-muted);cursor:pointer;padding:.2rem .4rem;border-radius:var(--radius-sm);transition:color .1s,background .1s}.timeframe-year-btn:hover{color:var(--text);background:var(--surface-raised)}.timeframe-year{font-size:.85rem;font-weight:600;color:var(--text);min-width:3rem;text-align:center}.timeframe-buttons{display:flex;gap:.25rem}.timeframe-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.3rem .6rem;font-size:.72rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .1s}.timeframe-btn:hover{border-color:var(--text-muted);color:var(--text)}.timeframe-btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.goal-add-inline{display:flex}.goal-add-input{padding:.35rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;background:var(--surface);color:var(--text)}.goal-add-input:focus{outline:none;border-color:var(--primary)}.tag-propagation-dialog{max-width:360px}.tag-propagation-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.tag-propagation-actions button{width:100%}.modal-title-breadcrumbs{font-size:inherit;font-weight:inherit}.modal-breadcrumb-link{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;font-size:inherit;font-family:inherit;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .12s,color .12s}.modal-breadcrumb-link:hover{color:var(--text);text-decoration-color:var(--text-muted)}.modal-breadcrumb-sep{color:var(--text-faint)}.modal-breadcrumb-current{color:var(--text-muted);font-weight:600}.modal-subtask-section{margin-top:.25rem}.modal-subtask-list{list-style:none;padding:0;margin:.4rem 0;display:flex;flex-direction:column;gap:.35rem}.modal-subtask-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.modal-subtask-item input[type=checkbox]{flex-shrink:0;cursor:pointer}.modal-subtask-name{cursor:pointer;flex:1;color:var(--text)}.modal-subtask-name:hover{text-decoration:underline}.modal-subtask-name--done{text-decoration:line-through;color:var(--text-muted)}.modal-subtask-lane-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.btn-add-subtask{display:inline-flex;align-items:center;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.78rem;padding:.25em .7em;cursor:pointer;transition:border-color .12s,color .12s}.btn-add-subtask:hover{border-color:var(--text-muted);color:var(--text)}.subtask-inline-add input{width:100%;font-size:.85rem;background:var(--bg);border:1px solid var(--primary);border-radius:var(--radius-sm);padding:.3em .6em;color:var(--text);outline:none}.tag-picker{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.tag-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2em .65em;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:.72rem;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s;line-height:1.4}.tag-chip:hover{background:var(--border);color:var(--text)}.tag-chip.selected{background:color-mix(in srgb,var(--tag-color, #5278e0) 15%,transparent);border-color:var(--tag-color, #5278e0);color:var(--text)}.vtd-modal{max-width:460px;width:100%}.vtd-tag-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;max-height:320px;overflow-y:auto}.vtd-empty{color:var(--text-faint);font-size:.85rem;text-align:center;padding:.5rem 0}.vtd-tag-row{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.vtd-color-swatches{display:flex;gap:.25rem;flex-shrink:0}.vtd-swatch{width:14px;height:14px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;flex-shrink:0;transition:transform .1s}.vtd-swatch:hover{transform:scale(1.2)}.vtd-swatch--active{border-color:var(--text);transform:scale(1.15)}.vtd-tag-label{flex:1;min-width:0}.vtd-label-text{font-size:.85rem;cursor:pointer;color:var(--text);border-bottom:1px dashed transparent}.vtd-label-text:hover{border-bottom-color:var(--text-muted)}.vtd-label-input{width:100%;font-size:.85rem;background:var(--input-bg, var(--surface));border:1px solid var(--primary);border-radius:var(--radius-sm);padding:.15em .4em;color:var(--text);outline:none}.vtd-tag-actions{display:flex;align-items:center;gap:.15rem;flex-shrink:0}.vtd-order-btn,.vtd-delete-btn{width:22px;height:22px}.vtd-order-btn:disabled{opacity:.25;cursor:not-allowed}.vtd-add-btn{display:inline-flex;align-items:center;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8rem;padding:.3em .8em;cursor:pointer;margin-bottom:1rem;transition:border-color .12s,color .12s}.vtd-add-btn:hover{border-color:var(--text-muted);color:var(--text)}.ld-modal{max-width:520px;width:100%}.ld-hint{font-size:.78rem;color:var(--text-muted);margin-bottom:.75rem;line-height:1.4}.ld-lane-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;max-height:360px;overflow-y:auto}.ld-lane-row{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.ld-lane-label{flex:1;min-width:0}.ld-role-toggles{display:flex;gap:.2rem;flex-shrink:0}.ld-role-btn{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--text-faint);font-size:.55rem;font-weight:700;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:border-color .12s,background .12s,color .12s}.ld-role-btn:hover{border-color:var(--text-muted);color:var(--text-muted)}.ld-role-btn--active{border-color:var(--primary);background:var(--primary);color:#fff}.ld-lane-row--over{border-color:var(--primary);background:var(--primary-dim)}.ld-lane-row--overlay{box-shadow:var(--shadow-lg);cursor:grabbing;opacity:.95}.ld-lane-actions{display:flex;align-items:center;gap:.15rem;flex-shrink:0}.ld-validation{font-size:.75rem;color:#c0392b;margin-bottom:.5rem}.admin-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg)}.admin-body{display:flex;flex:1;overflow:hidden}.admin-sidebar{width:180px;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);padding:1.25rem .75rem;gap:1.5rem}.admin-nav{display:flex;flex-direction:column;gap:2px}.admin-nav-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.admin-nav-item:hover{background:var(--surface-raised);color:var(--text)}.admin-nav-item--active,.admin-nav-item--active:hover{background:var(--primary-dim);color:var(--primary)}.admin-content{flex:1;overflow-y:auto;padding:2rem}.admin-page-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text);margin-bottom:1.25rem}.admin-page-loading,.admin-page-error{color:var(--text-muted);font-size:.9rem;padding:1rem 0}.admin-page-error{color:#c0392b}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-family:var(--font-display);padding:0 .75rem .6rem;border-bottom:1px solid var(--border)}.admin-table td{padding:.65rem .75rem;color:var(--text);border-bottom:1px solid var(--border-muted);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table-uid{color:var(--text-faint);font-size:.78rem;font-family:monospace}.admin-table-empty{color:var(--text-faint);font-style:italic}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.admin-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.25rem 1rem}.admin-stat-card-title{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:.85rem}.admin-stat-body{display:flex;align-items:center;gap:1.1rem}.admin-stat-donut{flex-shrink:0;width:88px;height:88px}.admin-stat-list{flex:1;margin:0;display:flex;flex-direction:column;gap:.4rem}.admin-stat-row{display:flex;align-items:center;gap:.5rem}.admin-stat-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.admin-stat-label{flex:1;font-size:.82rem;color:var(--text-muted)}.admin-stat-value{font-size:.9rem;font-weight:600;color:var(--text);margin:0}.admin-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.admin-page-header .admin-page-title{margin-bottom:0}.admin-rows-label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-muted)}.admin-rows-select{font-size:.82rem;padding:.2rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text)}.admin-pagination{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.admin-pagination-page{font-size:.82rem;color:var(--text-muted)}.admin-cleanup-boards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.admin-cleanup-boards li{display:flex;align-items:center;gap:.4rem}.admin-cleanup-board-name{font-size:.82rem;color:var(--text)}.admin-cleanup-reason{font-size:.7rem;padding:.1rem .35rem;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.admin-cleanup-reason--soft-deleted{background:#c0392b1f;color:#c0392b}.admin-cleanup-reason--stale-unowned{background:var(--surface-raised);color:var(--text-muted)}.admin-cleanup-preview{margin-top:2rem}.admin-cleanup-preview-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:.75rem}.admin-cleanup-last-run{font-size:.82rem;color:var(--text-muted)}.modal-field-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-family:var(--font-display);margin-bottom:.35rem}.card-history{margin-top:.25rem}.card-history-list{list-style:none;margin:.35rem 0 0;padding:0;border:1px solid var(--border);border-radius:6px}.card-history-entry{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.4rem .65rem;font-size:.8rem;border-bottom:1px solid var(--border)}.card-history-entry:last-child{border-bottom:none}.card-history-label{color:var(--text);flex:1}.card-history-meta{color:var(--text-faint);font-size:.72rem;white-space:nowrap;flex-shrink:0}
