@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=IBM+Plex+Mono:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d0c0a;--surface:#161410;--surface-2:#1e1b16;--border:#2c2820;--text:#ede5d0;--text-muted:#6a6050;--accent:#c8a135;--accent-dim:#8c6e22;--danger:#a84432;--radius:2px;--font-serif:"Instrument Serif", serif;--font-mono:"IBM Plex Mono", monospace;--max-w:660px}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.6}.auth-shell{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.auth-wordmark{font-family:var(--font-serif);color:var(--accent);letter-spacing:-.02em;margin-bottom:.25rem;font-size:2rem}.auth-sub{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:2.5rem;font-size:11px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;padding:2rem}.auth-card h2{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem;font-size:11px;font-weight:500}.field{margin-bottom:1rem}.field label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem;font-size:11px;display:block}.field input,.field select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--font-mono);appearance:none;outline:none;padding:.55rem .75rem;font-size:13px;transition:border-color .15s}.field input:focus,.field select:focus{border-color:var(--accent-dim)}.field select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236A6050' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.btn{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:12px;font-weight:500;text-decoration:none;transition:opacity .15s,background .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#0d0c0a;justify-content:center;width:100%}.btn-primary:hover{opacity:.88}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.btn-danger-ghost{color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);background:0 0;border:none;padding:.3rem .5rem;transition:color .15s}.btn-danger-ghost:hover{color:#e06050}.auth-link{text-align:center;color:var(--text-muted);margin-top:1.25rem;font-size:12px}.auth-link a{color:var(--accent);text-decoration:none}.auth-link a:hover{text-decoration:underline}.error-msg{color:#e07060;border-radius:var(--radius);background:#a844321f;border:1px solid #a8443259;margin-bottom:1rem;padding:.6rem .75rem;font-size:12px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;position:sticky;top:0}.app-header-inner{max-width:var(--max-w);justify-content:space-between;align-items:center;height:52px;margin:0 auto;padding:0 1.5rem;display:flex}.app-wordmark{font-family:var(--font-serif);color:var(--accent);letter-spacing:-.01em;font-size:1.3rem;text-decoration:none}.header-actions{align-items:center;gap:.75rem;display:flex}.user-email{color:var(--text-muted);font-size:11px}.app-main{max-width:var(--max-w);flex:1;width:100%;margin:0 auto;padding:2rem 1.5rem}.page-header{justify-content:space-between;align-items:baseline;margin-bottom:2rem;display:flex}.page-title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.reminder-count{color:var(--accent);margin-left:.5rem}.ledger{border-top:1px solid var(--border)}.ledger-row{border-bottom:1px solid var(--border);grid-template-columns:140px 1px 1fr;transition:background .12s;display:grid}.ledger-row:hover{background:var(--surface)}.ledger-time{flex-direction:column;justify-content:center;padding:1rem 1rem 1rem 0;display:flex}.ledger-date{color:var(--accent);white-space:nowrap;font-size:12px;font-weight:500}.ledger-clock{color:var(--accent-dim);margin-top:1px;font-size:11px}.ledger-rule{background:var(--border);width:1px}.ledger-body{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 1rem 1rem;display:flex}.ledger-content{flex:1;min-width:0}.ledger-msg{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ledger-meta{align-items:center;gap:.4rem;margin-top:3px;display:flex}.badge{letter-spacing:.07em;text-transform:uppercase;border-radius:var(--radius);border:1px solid;padding:1px 5px;font-size:10px}.badge-recurrence{color:var(--text-muted);border-color:var(--border)}.badge-fired{color:var(--text-muted);border-color:var(--border);opacity:.45}.badge-pending{color:var(--accent-dim);border-color:var(--accent-dim)}.badge-upcoming{color:#5a9a6a;border-color:#2e5a3a}.empty-state{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);padding:3rem 0}.empty-state p{margin-bottom:1rem}.back-link{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.4rem;margin-bottom:1.75rem;font-size:11px;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--text)}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem}.form-card h2{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem;font-size:11px;font-weight:500}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-actions{gap:.75rem;margin-top:1.5rem;display:flex}.form-actions .btn-primary{flex:1;width:auto}@media (width<=520px){.ledger-row{grid-template-columns:115px 1px 1fr}.form-row{grid-template-columns:1fr}.user-email{display:none}}
