:root{--bg: #ffffff;--surface: #ffffff;--surface-soft: #f7f8fa;--surface-sunken: #fafbfc;--border: #e5e5ea;--border-strong: #d4d4d8;--fg: #1a1a1a;--muted: #6e6e73;--muted-strong: #48484c;--accent: #2563eb;--accent-soft: #eaf0ff;--accent-fg: #ffffff;--danger: #c0392b;--warn-bg: #fff8e1;--warn-border: #f0d000;--warn-fg: #8a6d00;--ok-bg: #ecfdf5;--ok-border: #a7f3d0;--ok-fg: #047857;--radius: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--sidebar-w: 280px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,system-ui,sans-serif;font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.4rem;font-weight:600;margin:0 0 .5rem;letter-spacing:-.01em}h2{font-size:1.05rem;font-weight:600;margin:1.25rem 0 .5rem;letter-spacing:-.005em}h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem}p{margin:.5rem 0}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}button,.btn{font:inherit;background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.4rem .8rem;cursor:pointer;transition:background 80ms ease,border-color 80ms ease,transform 80ms ease;display:inline-flex;align-items:center;gap:.4rem}button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--surface-soft)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary,button[type=submit]{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:hover:not(:disabled),button[type=submit]:hover:not(:disabled){background:#1d54d9;border-color:#1d54d9}.btn-link{background:none;border:none;padding:0;color:var(--accent);text-decoration:none}.btn-link:hover{background:none;text-decoration:underline}.btn-danger{color:var(--danger);border-color:var(--border)}.btn-danger:hover:not(:disabled){background:#fff1ef;border-color:var(--danger)}input[type=text],input[type=email],input[type=number],input[type=password],input:not([type]){font:inherit;padding:.45rem .55rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--fg)}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}label{display:block;font-size:.85rem;color:var(--muted-strong);font-weight:500}label>input,label>select{margin-top:.25rem;color:var(--fg);font-weight:400}.container{max-width:720px;margin:2.5rem auto;padding:0 1.25rem}.simple-header{display:flex;align-items:center;gap:1rem;max-width:720px;margin:1.25rem auto 0;padding:0 1.25rem}.simple-header .brand{font-weight:600;color:inherit}.simple-header .brand:hover{text-decoration:none}.simple-header .spacer{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem}.callout{padding:.75rem 1rem;border-radius:var(--radius);border:1px solid;margin:.75rem 0}.callout-warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-fg)}.callout-ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-fg)}.callout-error{background:#ffefef;border-color:#ffb4b4;color:var(--danger)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--surface-soft);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem .85rem;gap:.75rem;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{display:flex;align-items:baseline;gap:.4rem;padding:0 .25rem}.sidebar-brand .brand{font-weight:600;font-size:1rem;color:inherit}.sidebar-brand .brand:hover{text-decoration:none}.sidebar-brand .email{color:var(--muted);font-size:.8rem;word-break:break-all}.sidebar-section{display:flex;flex-direction:column;gap:.15rem}.sidebar-section+.sidebar-section{margin-top:.25rem}.sidebar-section h3{padding:0 .25rem}.sidebar-link{display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;border-radius:var(--radius);color:var(--fg);text-decoration:none;font-size:.9rem;cursor:pointer;background:none;border:0;text-align:left;width:100%}.sidebar-link:hover{background:#0000000a;text-decoration:none}.sidebar-link.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.sidebar-link .meta{color:var(--muted);font-size:.75rem;margin-left:auto}.sidebar-divider{height:1px;background:var(--border);margin:.5rem 0}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:.4rem;padding-top:.5rem;border-top:1px solid var(--border)}.main{padding:1.5rem 2rem;max-width:1100px;width:100%}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--border)}.main{padding:1.25rem}}.sheet-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:.85rem;background:var(--surface);box-shadow:var(--shadow-sm)}.sheet-card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.sheet-card-head strong{font-weight:600}.toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.toolbar .spacer{flex:1}
