:root{--ink: #16282c;--ink-soft: #46595e;--paper: #f2f1ed;--card: #ffffff;--line: #d9d7d0;--accent: #1d5c63;--accent-press: #14454b;--error: #9c3325}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}.wordmark{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.login-scene{min-height:100%;display:grid;place-items:center;padding:1.5rem}.login-card{width:100%;max-width:22rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:2rem;display:flex;flex-direction:column;gap:.375rem;box-shadow:0 1px 2px #16282c0d,0 8px 24px #16282c0f}.login-card h1{font-size:1.4rem;font-weight:650;letter-spacing:-.01em;margin-top:.75rem}.login-hint{font-size:.85rem;color:var(--ink-soft);margin-bottom:1rem}.login-card label{font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-top:.625rem}.login-card input{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:6px;background:#fbfaf8;color:var(--ink)}.login-card input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;background:var(--card)}.login-card button[type=submit]{font:inherit;font-weight:600;margin-top:1.25rem;padding:.6rem .75rem;border:none;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer}.login-card button[type=submit]:hover{background:var(--accent-press)}.login-card button[type=submit]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.login-card button[type=submit]:active{transform:translateY(1px)}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.form-error{font-size:.85rem;color:var(--error);margin-top:.75rem}.loading{color:var(--ink-soft)}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.5rem;background:var(--card);border-bottom:1px solid var(--line)}.topbar-right{display:flex;align-items:center;gap:1rem}.whoami{font-size:.85rem;color:var(--ink-soft)}button.ghost{font:inherit;font-size:.85rem;font-weight:600;padding:.35rem .75rem;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);cursor:pointer}button.ghost:hover{border-color:var(--accent);color:var(--accent)}button.ghost:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.ghost:active{transform:translateY(1px)}.content{flex:1;width:100%;max-width:60rem;margin:0 auto;padding:2.5rem 1.5rem}.content h1{font-size:1.5rem;font-weight:650;letter-spacing:-.01em;margin-bottom:1.5rem}.empty-state{border:1px dashed var(--line);border-radius:10px;padding:3rem 1.5rem;text-align:center;color:var(--ink-soft);background:#ffffff8c}.empty-sub{font-size:.85rem;margin-top:.25rem}.log-request-form{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.75rem;margin-bottom:2rem;display:flex;flex-direction:column;gap:.375rem;box-shadow:0 1px 2px #16282c0d,0 8px 24px #16282c0f}.log-request-form h2{font-size:1.15rem;font-weight:650;letter-spacing:-.01em;margin-bottom:.5rem}.log-request-form label{font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-top:.75rem}.log-request-form select,.log-request-form textarea,.log-request-form input[type=file]{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:6px;background:#fbfaf8;color:var(--ink)}.log-request-form textarea{resize:vertical;line-height:1.5}.log-request-form select:focus-visible,.log-request-form textarea:focus-visible,.log-request-form input[type=file]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;background:var(--card)}.log-request-form select:disabled,.log-request-form input[type=file]:disabled{opacity:.6;cursor:default}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row>div{display:flex;flex-direction:column}.upload-hint{font-size:.8rem;color:var(--ink-soft);margin-top:.4rem}.attachment-list{list-style:none;margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem}.attachment-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .6rem;border:1px solid var(--line);border-radius:6px;background:#fbfaf8;font-size:.85rem}.log-request-form button[type=submit]{font:inherit;font-weight:600;margin-top:1.25rem;padding:.6rem .75rem;border:none;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;align-self:flex-start}.log-request-form button[type=submit]:hover:not(:disabled){background:var(--accent-press)}.log-request-form button[type=submit]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.log-request-form button[type=submit]:active:not(:disabled){transform:translateY(1px)}.log-request-form button[type=submit]:disabled{opacity:.6;cursor:default}.receipt{font-size:.85rem;color:var(--accent);margin-top:.75rem}.receipt code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#1d5c631a;padding:.1rem .35rem;border-radius:4px}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--card)}.request-table{width:100%;border-collapse:collapse;font-size:.85rem}.request-table th,.request-table td{text-align:left;padding:.65rem .85rem;border-bottom:1px solid var(--line);white-space:nowrap}.request-table th{font-weight:650;color:var(--ink-soft);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:#16282c08}.request-table tr:last-child td{border-bottom:none}.request-table .description-cell{white-space:normal;max-width:22rem}.attachment-link{display:inline-block;color:var(--accent);text-decoration:none;margin-right:.5rem}.attachment-link:hover{text-decoration:underline}.attachment-link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
