:root{--bg:#161615;--bg-raised:#1e1e1c;--bg-column:#232321;--bg-card:#1a1a18;--bg-card-selected:#2a2a27;--text:#f3f1ea;--text-secondary:#c4c0b4;--text-tertiary:#8d897e;--line:rgba(243,241,234,0.12);--line-strong:rgba(243,241,234,0.28);--accent:#d7a15e;--accent-ink:#1a140c;--done:#6fbf8b;--doing:#7aa2e3;--ready:#e0a15a;--backlog:#8d897e;--danger:#e07a72;--font:"Inter",system-ui,sans-serif;--radius:8px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}input,select,textarea{color:var(--text);background:var(--bg);caret-color:var(--text)}input::placeholder,textarea::placeholder{color:var(--text-tertiary);opacity:1}a{color:var(--accent)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.auth-card{width:min(420px,100%);background:var(--bg-raised);border:1px solid var(--line);border-radius:12px;padding:28px 24px}.brand{margin-bottom:20px}.brand h1{margin:0 0 4px;font-size:24px;font-weight:600;letter-spacing:-.02em}.brand p,.meta{margin:0;color:var(--text-secondary)}.auth-tabs{display:flex;gap:8px;margin-bottom:16px}.auth-tab,.btn,.pill{border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 14px}.auth-tab.active,.btn.primary,.pill.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{border-color:transparent;color:var(--text-secondary)}.btn.danger{color:var(--danger);border-color:rgba(224,122,114,.45)}.form-stack{gap:12px}.field,.form-stack{display:flex;flex-direction:column}.field{gap:6px}.field label,.section-label{font-size:13px;color:var(--text-tertiary)}.detail input,.detail textarea,.field input,.field select,.field textarea,.name-input,.toolbar input,.toolbar select{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.detail input:-webkit-autofill,.detail textarea:-webkit-autofill,.field input:-webkit-autofill,.field input:-webkit-autofill:focus,.field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--bg) inset;-webkit-transition:background-color 99999s ease-out;transition:background-color 99999s ease-out}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:44px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--text-tertiary);padding:0}.password-toggle:hover{color:var(--text)}.form-error{color:var(--danger);margin:0}.banner{margin:0;padding:10px 12px;border-radius:8px;background:rgba(215,161,94,.12);color:var(--text-secondary)}.form-footer{display:flex;justify-content:flex-end}.link{font-size:13px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:5}.product{font-weight:600;letter-spacing:-.02em;margin-right:8px}.topbar select{min-width:180px}.spacer{flex:1 1}.who{color:var(--text-tertiary);font-size:13px}.page{padding:20px;display:flex;flex-direction:column;gap:16px;max-width:1440px}.page h1{margin:0;font-size:24px;letter-spacing:-.03em}.caption,.sub{margin:0;color:var(--text-tertiary);font-size:13px}.stats{display:flex;flex-wrap:wrap;gap:18px}.stat{min-width:120px}.stat b{display:block;font-size:22px;font-weight:600}.stat span{color:var(--text-tertiary);font-size:13px}.stat.done b{color:var(--done)}.stat.doing b{color:var(--doing)}.usage{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--bg-column)}.usage i{display:block;height:100%}.usage i.done{background:var(--done)}.usage i.doing{background:var(--doing)}.usage i.ready{background:var(--ready)}.usage i.backlog{background:var(--backlog)}.pills,.section-head,.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.toolbar input[type=search]{width:220px}.detail{border:1px solid var(--line);border-radius:12px;background:var(--bg-raised);padding:16px;display:flex;flex-direction:column;gap:10px}.detail-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.detail h2{margin:0;font-size:16px}.detail input[type=text],.detail textarea{width:100%}.scroll-copy{max-height:240px;overflow:auto;display:flex;flex-direction:column;gap:8px}.callout{border:1px solid rgba(224,161,90,.45);border-radius:8px;padding:10px 12px;color:var(--text-secondary)}.callout strong{color:var(--ready)}.board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));grid-gap:10px;gap:10px;overflow-x:auto}.column{border:1px solid var(--line);border-radius:var(--radius);padding:8px;min-height:240px;max-height:70vh;overflow:auto}.column,.column-head{background:var(--bg-column)}.column-head{display:flex;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;padding-bottom:8px;font-weight:600}.column-head span{color:var(--text-tertiary);font-weight:400;font-size:13px}.tiles{display:flex;flex-direction:column;gap:6px}.tile{text-align:left;width:100%;border-radius:6px;border:1px solid var(--line);background:var(--bg-card);padding:8px 10px}.tile.selected{border-color:var(--accent);background:var(--bg-card-selected)}.tile-meta,.tile-top{display:flex;justify-content:space-between;gap:8px}.tile-top{font-size:13px;font-weight:600}.muted,.tile-meta{color:var(--text-tertiary);font-size:13px;font-weight:400}.tile-title{display:block;margin-top:4px}.list-wrap{max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{position:-webkit-sticky;position:sticky;top:0;background:var(--bg-raised);font-size:13px;color:var(--text-tertiary);font-weight:500}tr.selected{background:rgba(215,161,94,.08)}tbody tr:nth-child(2n){background:rgba(255,255,255,.02)}.empty{color:var(--text-secondary);margin:0}.admin-panel{border:1px solid var(--line);border-radius:12px;background:var(--bg-raised);padding:16px;display:flex;flex-direction:column;gap:14px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-head h2{margin:0;font-size:18px}.admin-section{display:flex;flex-direction:column;gap:12px}.admin-section h3{margin:0;font-size:15px}.admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.check-row{display:flex;align-items:center;gap:8px}.admin-notice{margin:0;padding:10px 12px;border-radius:8px;border:1px solid rgba(110,168,122,.45);color:var(--text-secondary);word-break:break-word}