:root{--bg-page:#F0EEE6;--bg-card:#FAF9F5;--bg-sunken:#EAE7DD;--ink:#2E2A24;--ink-secondary:#6B655C;--ink-muted:#8B8578;--on-accent:#FAF9F5;--clay:#CC785C;--clay-hover:#B8664B;--clay-weak:#F3E3DB;--blue:#5B7A96;--blue-weak:#E4E9EE;--border-subtle:#E2DED2;--border-input:#C9C3B4;--success:#4A7C59;--success-weak:#E3ECE4;--warn:#B4842E;--warn-weak:#F1E8D5;--danger:#BF4A3C;--danger-weak:#F3E0DC;--font-ui:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SFMono-Regular","Geist Mono",monospace}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg-page);color:var(--ink);font-family:var(--font-ui);font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600}button{font-family:inherit;cursor:pointer}a{color:inherit}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 24px}.auth-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:40px;display:flex;flex-direction:column;gap:24px;box-shadow:0 8px 32px -8px rgba(46,42,36,.13)}.brand{display:flex;align-items:center;gap:10px}.brand .mark{width:26px;height:26px;border-radius:4px;background:var(--ink);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.brand .word{font-weight:600;font-size:16px}.stack{display:flex;flex-direction:column;gap:24px}.heading h1{font-size:24px}.heading p{margin:6px 0 0;color:var(--ink-secondary);line-height:1.45}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:13px;font-weight:500}.field input{width:100%;height:44px;padding:0 14px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-card);font-size:14px;color:var(--ink);outline:none}.field input:focus{border-color:var(--clay)}.btn-primary{height:44px;border:none;border-radius:6px;background:var(--clay);color:var(--on-accent);font-weight:600;font-size:14px;box-shadow:0 2px 6px -2px rgba(204,120,92,.5)}.btn-primary:hover:not(:disabled){background:var(--clay-hover)}.btn-primary:disabled{opacity:.55;cursor:default}.foot{text-align:center;color:var(--ink-muted);font-size:12px;margin:0}.error{color:var(--danger);font-size:13px;margin:0}.meta{display:flex;justify-content:space-between;align-items:center}.link{color:var(--blue);font-weight:500}.link,.muted-link{background:none;border:none;font-size:13px;padding:0}.muted-link{color:var(--ink-secondary)}.row2{display:flex;gap:12px}.row2>*{flex:1 1}.help{font-size:12px;margin:0}.help.ok{color:var(--success)}.help.bad{color:var(--danger)}.locked-note{display:flex;align-items:center;gap:8px;background:var(--bg-sunken);padding:10px 12px;border-radius:6px;font-size:12px}.locked-note .mono{font-family:var(--font-mono);color:var(--ink);flex:1 1}.locked-note .tag{color:var(--ink-muted);font-size:11px}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--bg-card);border-right:1px solid var(--border-subtle);padding:20px 16px;gap:24px}.sidebar,.sidebar .nav{display:flex;flex-direction:column}.sidebar .nav{gap:2px}.nav-item{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:4px;color:var(--ink-secondary);text-decoration:none;font-weight:500}.nav-item.active{background:var(--clay-weak);color:var(--ink);font-weight:600;border-left:2px solid var(--clay)}.main{flex:1 1;padding:28px 32px;display:flex;flex-direction:column;gap:24px}.page-head{display:flex;justify-content:space-between;align-items:center}.page-head h1{font-size:22px}.page-head p{margin:4px 0 0;color:var(--ink-secondary);font-size:13px}.table{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.thead,.trow{display:grid;grid-template-columns:2.4fr 1.4fr 1fr 1.2fr 1.6fr;align-items:center;padding:0 16px}.thead{height:40px;background:var(--bg-sunken);font-family:var(--font-mono);font-size:10px;color:var(--ink-muted);text-transform:uppercase}.thead,.trow{border-bottom:1px solid var(--border-subtle)}.trow{height:60px}.trow:last-child{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:500}.badge .dot{width:7px;height:7px;border-radius:50%}.chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:4px;background:var(--bg-sunken);font-family:var(--font-mono);font-size:12px;color:var(--ink-secondary)}.actions{display:flex;gap:6px;justify-content:flex-end}.btn-row{height:30px;padding:0 12px;font-size:12px}.btn-row,.btn-secondary{border:1px solid var(--border-input);border-radius:6px;background:var(--bg-card);font-weight:500}.btn-secondary{height:40px;padding:0 16px;font-size:14px}