:root{--ink:#1f2933;--slate:#52606d;--copper:#b66a3c;--sand:#e8dccb;--paper:#faf9f6;--line:#e5e7eb}.report-filters{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:20px;display:flex}.report-filters label{color:var(--slate);flex-direction:column;gap:5px;font-size:12px;display:flex}.report-filters .input{min-width:155px}.report-section{margin:28px 0}.report-section h2{margin:0 0 12px;font:600 24px Georgia,serif}.report-table{overflow:auto}.report-row{border-bottom:1px solid #eeeae4;grid-template-columns:1.5fr .7fr .7fr 1fr;align-items:center;gap:12px;min-width:560px;padding:12px 14px;font-size:13px;display:grid}.report-row:last-child{border-bottom:0}.report-row.head{color:var(--slate);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.link-head{grid-template-columns:1.1fr 1.5fr 1.2fr .6fr .9fr;min-width:800px}.empty{color:var(--slate);margin:0;padding:18px 14px}.chart{border:1px solid var(--line);border-top:3px solid var(--copper);background:#fff;border-radius:7px;align-items:end;gap:8px;min-height:190px;padding:18px 12px 0;display:flex;overflow-x:auto}.chart-bar{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:4px;min-width:28px;height:165px;display:flex}.chart-bar div{background:var(--copper);border-radius:3px 3px 0 0;width:100%;max-width:34px}.chart-value,.chart-bar small{color:var(--slate);font-size:10px}.save-modal-backdrop{z-index:20;background:#1f29336b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.save-confirmation{border:1px solid var(--line);border-top:4px solid var(--copper);background:#fff;border-radius:10px;flex-direction:column;gap:16px;width:min(100%,560px);padding:30px;display:flex;box-shadow:0 24px 70px #1f293340}.save-kicker{color:var(--copper);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.save-confirmation h2{margin:0 0 4px;font:600 30px/1.15 Georgia,serif}.save-detail{background:var(--paper);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:5px;padding:12px 14px;display:flex}.save-detail span{color:var(--slate);font-size:12px}.save-detail code{overflow-wrap:anywhere;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5}.save-confirmation .button{align-self:flex-end;min-width:76px}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#f3eee7;padding:26px 16px}.brand{margin-bottom:34px;font-family:Georgia,serif;font-size:21px}.brand small{color:var(--copper);letter-spacing:.14em;text-transform:uppercase;margin-top:4px;font-family:Arial,sans-serif;font-size:10px;display:block}.nav-label{color:var(--copper);letter-spacing:.13em;text-transform:uppercase;margin:19px 12px 8px;font-size:10px}.nav-item{width:100%;color:var(--slate);text-align:left;background:0 0;border:0;border-radius:6px;padding:10px 12px;display:block}.nav-item.active{background:var(--sand);color:var(--ink);font-weight:600}.main{width:100%;max-width:1150px;padding:42px 48px}.kicker{color:var(--copper);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.title{margin:7px 0;font:600 38px/1.15 Georgia,serif}.lead{color:var(--slate);margin:0 0 28px;font-size:15px}.toolbar{flex-wrap:wrap;gap:9px;margin-bottom:18px;display:flex}.input,.select{color:var(--ink);background:#fff;border:1px solid #d7d2ca;border-radius:5px;padding:10px 12px}.input{min-width:240px}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:5px;padding:10px 14px;font-weight:600;transition:background .15s,border-color .15s,transform 80ms}.button:hover{background:var(--copper);border-color:var(--copper)}.button:active{background:#8f4d2c;border-color:#8f4d2c;transform:translateY(1px)}.button.secondary{color:var(--ink);background:0 0}.login-page{background:var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);border-top:4px solid var(--copper);text-align:center;background:#fff;border-radius:10px;width:min(100%,440px);padding:42px;box-shadow:0 16px 40px #1f29331f}.login-card .brand{margin-bottom:30px}.login-card h1{margin:0 0 12px;font:600 36px/1.15 Georgia,serif}.login-card p{color:var(--slate);max-width:330px;margin:0 auto 28px;line-height:1.5}.login-card form{justify-content:center;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.stat{border-top:3px solid var(--copper);border-bottom:1px solid var(--line);background:#fff;padding:16px}.stat span{color:var(--slate);font-size:12px;display:block}.stat strong{font:600 28px Georgia,serif}.table{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:auto}.row{border-bottom:1px solid #eeeae4;grid-template-columns:1.1fr 1.6fr 1.15fr .55fr .9fr .65fr;align-items:center;gap:12px;min-width:740px;padding:13px 14px;font-size:13px;display:grid}.row:last-child{border-bottom:0}.row.head{color:var(--slate);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.code{color:var(--copper);font-weight:600}.muted{color:var(--slate);font-size:12px}.status{color:#285943}@media (max-width:720px){.shell{display:block}.sidebar{gap:6px;padding:10px;display:flex;overflow:auto}.brand,.nav-label{display:none}.nav-item{white-space:nowrap;width:auto}.main{padding:28px 18px}.stats{grid-template-columns:1fr}.login-card{padding:32px 24px}}.table-filter{width:100%;min-width:90px;color:var(--ink);letter-spacing:normal;text-transform:none;background:#fff;border:1px solid #d7d2ca;border-radius:4px;margin-top:8px;padding:6px 7px;font-size:11px;font-weight:400;display:block}.empty{color:var(--slate);padding:18px 14px}.shell{grid-template-columns:190px 1fr}.icon-button{width:24px;height:24px;color:var(--slate);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:3px;display:inline-grid}.icon-button:hover{background:var(--sand);color:var(--ink)}.icon-button:active{color:var(--copper)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.archive-button{color:#8a4a2d}.filter-toggle{padding:8px 12px}.filter-row{background:#faf9f6}.filter-row .table-filter{margin:0}.row{grid-template-columns:1.25fr 1.35fr 1fr 1fr .45fr .8fr .55fr;min-width:850px;font-size:12px}.row.head{font-size:10px}.edit-modal-backdrop{z-index:19;background:#1f29336b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.edit-modal{border-top:4px solid var(--copper);background:#fff;border-radius:10px;grid-template-columns:1fr 1fr;gap:10px;width:min(100%,620px);padding:28px;display:grid;box-shadow:0 24px 70px #1f293340}.edit-modal h2{grid-column:1/-1;margin:0 0 8px;font:600 28px Georgia,serif}.edit-modal input:first-of-type,.edit-modal input:nth-of-type(2){grid-column:1/-1}.edit-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.settings-section{margin-top:36px}.settings-section-heading{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.settings-section h2{margin:5px 0 0;font:600 26px Georgia,serif}.archived-row{border-bottom:1px solid #eeeae4;grid-template-columns:1.1fr 1.5fr 1.2fr .8fr 100px;align-items:center;gap:12px;min-width:760px;padding:13px 14px;font-size:13px;display:grid}.archived-row.head{color:var(--slate);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.archived-row:last-child{border-bottom:0}.settings-toggle{border:1px solid var(--line);max-width:420px;color:var(--ink);background:#fff;border-radius:7px;grid-template-columns:auto 1fr;align-items:center;gap:3px 9px;margin:22px 0;padding:14px 16px;font-weight:600;display:grid}.settings-toggle input{width:16px;height:16px;accent-color:var(--copper);grid-row:span 2}.settings-toggle small{color:var(--slate);grid-column:2;font-size:12px;font-weight:400}.audit-modal{display:block}.audit-list{border:1px solid var(--line);border-radius:6px;max-height:360px;overflow:auto}.audit-event{border-bottom:1px solid #eeeae4;padding:12px 14px;font-size:13px}.audit-event:last-child{border-bottom:0}.audit-event>div{justify-content:space-between;gap:12px;display:flex}.audit-event span,.audit-event small{color:var(--slate);font-size:12px}.audit-event p{color:var(--slate);word-break:break-word;margin:7px 0 0;font-size:12px;line-height:1.4}.data-tools{margin-top:36px}.data-tool-actions{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.data-tool-actions label{align-items:center;display:inline-flex}.button.disabled{opacity:.6;pointer-events:none}.audit-system-row{border-bottom:1px solid #eeeae4;grid-template-columns:1.1fr 1.7fr 1.2fr 1.2fr;align-items:center;gap:12px;min-width:720px;padding:12px 14px;font-size:12px;display:grid}.audit-system-row.head{color:var(--slate);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.audit-system-row:last-child{border-bottom:0}.data-tool-actions .button{white-space:nowrap}.import-report{margin-top:22px}.import-report h3{margin:0;font:600 22px Georgia,serif}.import-report-row{border-bottom:1px solid #eeeae4;grid-template-columns:55px 1.8fr 1.2fr 1fr;align-items:center;gap:12px;min-width:700px;padding:11px 14px;font-size:12px;display:grid}.import-report-row.head{color:var(--slate);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.import-report-row:last-child{border-bottom:0}.import-url{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-success{color:#285943}.import-failure{color:#9b3d2b}.bulk-filters{flex-wrap:wrap;gap:9px;margin:0 0 12px;display:flex}.bulk-filters .input{min-width:180px}.pagination{justify-content:center;align-items:center;gap:12px;padding:12px;display:flex}.display-count{color:var(--slate);align-items:center;gap:6px;font-size:13px;display:flex}.display-count .select{padding:8px 10px}.archive-search{min-width:280px;margin-bottom:12px}.data-page-link{margin:20px 0;display:inline-block}.qr-modal{text-align:center;max-width:480px}.qr-modal h2{margin:6px 0;font:600 30px Georgia,serif}.qr-preview{width:240px;height:240px;margin:20px auto;display:block}.qr-target{text-align:left;border:1px solid var(--line);background:#faf9f6;border-radius:5px;margin:16px 0;padding:12px}.qr-target span{color:var(--slate);margin-bottom:6px;font-size:11px;display:block}.qr-target code{overflow-wrap:anywhere;font-size:12px}.qr-modal .edit-actions{justify-content:center}
