@import "https://fonts.googleapis.com/css2?family=Zilla+Slab:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@500;600&display=swap";:root{--ink:#1b2430;--ink-soft:#2e3a4d;--paper:#f7f5f0;--paper-line:#e4dfd3;--brass:#b9862f;--brass-bright:#d9a441;--sage:#52735a;--sage-bg:#e7ede5;--clay:#b0503c;--clay-bg:#f3e3de;--slate:#6b7280;--font-display:"Zilla Slab", Georgia, serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);background-image:linear-gradient(var(--paper-line) 1px, transparent 1px);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-size:100% 2.1rem;margin:0}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:.95rem}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--ink);color:var(--paper);border-bottom:3px solid var(--brass);justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.brand{align-items:baseline;gap:.5rem;display:flex}.brand-mark{font-family:var(--font-display);letter-spacing:.01em;font-size:1.25rem;font-weight:700}.brand-sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brass-bright);font-size:.68rem}.who{align-items:center;gap:.9rem;font-size:.85rem;display:flex}.who-role{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--brass);color:var(--ink);border-radius:2px;padding:.2rem .5rem;font-size:.65rem}.logout-btn{color:var(--paper);background:0 0;border:1px solid #f7f5f059;border-radius:3px;padding:.35rem .7rem;font-size:.8rem}.logout-btn:hover{border-color:var(--brass-bright);color:var(--brass-bright)}.tabs{background:var(--ink-soft);gap:.25rem;padding:0 1.25rem;display:flex;overflow-x:auto}.tab{color:#f7f5f0a6;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.65rem 1rem;font-size:.85rem;font-weight:500}.tab.active{color:var(--paper);border-bottom-color:var(--brass-bright)}.main{flex:1;width:100%;max-width:920px;margin:0 auto;padding:1.5rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:1rem;display:flex}.page-title{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:600}.page-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);font-size:.7rem}.login-wrap{justify-content:center;align-items:center;min-height:100%;padding:1.5rem;display:flex}.login-card{background:var(--paper);border:1px solid var(--paper-line);box-shadow:0 1px 0 var(--brass), 0 12px 30px -18px #1b243080;width:100%;max-width:360px;padding:2.25rem 2rem;position:relative}.login-card:before{content:"";background:var(--ink);height:4px;position:absolute;top:0;left:0;right:0}.login-mark{font-family:var(--font-display);margin:0 0 .15rem;font-size:1.7rem;font-weight:700}.login-sub{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin-bottom:1.75rem;font-size:.72rem}.field{flex-direction:column;gap:.3rem;margin-bottom:1rem;display:flex}.field label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--paper-line);color:var(--ink);background:#fff;border-radius:2px;padding:.55rem .65rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brass)}.btn{background:var(--ink);color:var(--paper);border:none;border-radius:2px;padding:.6rem 1.1rem;font-size:.88rem;font-weight:600}.btn:hover{background:var(--ink-soft)}.btn:disabled{opacity:.5;cursor:default}.btn-brass{background:var(--brass);color:var(--ink)}.btn-brass:hover{background:var(--brass-bright)}.btn-ghost{border:1px solid var(--paper-line);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--ink)}.btn-block{width:100%}.error-banner{background:var(--clay-bg);color:var(--clay);border-left:3px solid var(--clay);border-radius:2px;margin-bottom:1rem;padding:.6rem .8rem;font-size:.85rem}.ledger{border:1px solid var(--paper-line);background:#fff}.ledger-row{border-bottom:1px dashed var(--paper-line);grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.8rem 1rem;display:grid}.ledger-row:last-child{border-bottom:none}.ledger-name{font-size:.95rem;font-weight:600}.ledger-meta{color:var(--slate);margin-top:.15rem;font-size:.78rem}.ledger-time{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;white-space:nowrap;font-size:.8rem}.stamp{font-family:var(--font-mono);letter-spacing:.08em;white-space:nowrap;border:1.5px solid;border-radius:2px;padding:.25rem .5rem;font-size:.65rem;font-weight:600;transform:rotate(-2deg)}.stamp-in{color:var(--sage)}.stamp-out{color:var(--slate)}.card{border:1px solid var(--paper-line);background:#fff;margin-bottom:.75rem;padding:1rem 1.1rem}.card-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.card-title{margin:0 0 .25rem;font-size:.98rem;font-weight:600}.card-body{color:var(--ink-soft);font-size:.88rem;line-height:1.5}.card-meta{font-family:var(--font-mono);color:var(--slate);margin-top:.5rem;font-size:.72rem}.badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:2px;padding:.2rem .5rem;font-size:.65rem;font-weight:600}.badge-open{background:var(--clay-bg);color:var(--clay)}.badge-in_progress{color:var(--brass);background:#fbefd9}.badge-resolved{background:var(--sage-bg);color:var(--sage)}.badge-pinned{background:var(--ink);color:var(--brass-bright)}.empty{text-align:center;color:var(--slate);border:1px dashed var(--paper-line);background:#fff;padding:2rem 1rem;font-size:.9rem}.form-panel{border:1px solid var(--paper-line);background:#fff;margin-bottom:1.25rem;padding:1.1rem}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=520px){.form-row{grid-template-columns:1fr}.ledger-row{text-align:left;grid-template-columns:1fr}.ledger-time{text-align:left}}.select-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.modal-overlay{z-index:50;background:#1b24308c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--paper);border:1px solid var(--paper-line);box-shadow:0 1px 0 var(--brass), 0 20px 40px -20px #1b243099;width:100%;max-width:360px;padding:1.75rem;position:relative}.modal-card:before{content:"";background:var(--ink);height:4px;position:absolute;top:0;left:0;right:0}.modal-title{font-family:var(--font-display);margin:0 0 1.1rem;font-size:1.25rem;font-weight:600}.password-input-wrap{position:relative}.password-toggle-btn{color:var(--slate);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:.3rem .4rem;font-size:.72rem;font-weight:600;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.chip{border:1px solid var(--paper-line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:.35rem .75rem;font-size:.78rem}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hamburger-btn{display:none}@media (width<=640px){.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;padding:.7rem .9rem}.brand-mark{font-size:1.05rem;line-height:1.25}.brand-sub{display:none}.hamburger-btn{color:var(--paper);background:0 0;border:1px solid #f7f5f059;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:2.3rem;height:2.3rem;font-size:1.05rem;display:inline-flex}.hamburger-btn:hover{border-color:var(--brass-bright);color:var(--brass-bright)}.who{display:none}.who.menu-open{border-top:1px solid #f7f5f026;flex-direction:column;align-items:flex-start;gap:.6rem;width:100%;margin-top:.6rem;padding:.9rem 0;display:flex}.who.menu-open .logout-btn{text-align:left;width:100%}.tabs{display:none}.tabs.menu-open{flex-direction:column;padding:.4rem 0;display:flex}.tabs.menu-open .tab{text-align:left;border-bottom:1px solid #f7f5f014;border-left:2px solid #0000;padding:.85rem .9rem}.tabs.menu-open .tab.active{border-left-color:var(--brass-bright);background:#d9a44114}.main{padding:1rem .85rem}.page-title{font-size:1.25rem}.login-wrap{padding:1rem}.login-card{padding:1.5rem 1.25rem}.login-mark{font-size:1.4rem}.form-panel{padding:.9rem}.card{padding:.85rem .9rem}.card-title-row{flex-wrap:wrap}.modal-overlay{padding:1rem}.modal-card{padding:1.25rem}}
