:root{--bg:#f5f7f6;--card:#fff;--text:#17201d;--muted:#66736e;--line:#dfe6e3;--accent:#1e6f50;--accent-dark:#15543c;--soft:#eaf3ef;--danger:#b42318}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(30,111,80,.08),transparent 34rem),var(--bg)}button,input{font:inherit}.button,button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border:0;border-radius:10px;padding:0 18px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;text-decoration:none}.button:hover,button:hover{background:var(--accent-dark)}.button.secondary,button.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}.button.secondary:hover,button.secondary:hover{background:#f2f5f4}button.danger{color:var(--danger)}input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:#fff;color:var(--text);outline:none}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,111,80,.12)}label{font-weight:700;font-size:14px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px}h2{margin-bottom:10px}.muted{color:var(--muted);line-height:1.55}.eyebrow{margin-bottom:6px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card,.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px rgba(20,50,40,.07)}.login-card{width:min(100%,430px);padding:34px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:24px;border-radius:14px;background:var(--accent);color:#fff;font-weight:900;font-size:20px}.form-stack{display:grid;grid-gap:12px;gap:12px}.alert,.hint,.info-box,.success{border-radius:10px;padding:12px 14px;line-height:1.45;font-size:14px}.alert{background:#fff0ee;color:#8f1d14}.success{background:var(--soft);color:var(--accent-dark)}.hint,.info-box{background:#f5f7f6;color:var(--muted)}.dashboard-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 56px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.panel{padding:26px}.result-panel{text-align:center}.history-panel{grid-column:1/-1}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.qr-image{display:block;width:min(100%,280px);height:auto;margin:20px auto;border-radius:12px}.link-box{word-break:break-all;padding:14px;border-radius:10px;background:#f5f7f6;color:var(--muted);text-align:left;font-size:13px}.empty-state{display:grid;place-items:center;min-height:190px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);padding:20px}.history-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.count-badge{min-width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:var(--soft);color:var(--accent-dark);font-weight:800}.history-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.history-item{display:flex;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:12px}.history-item h3{margin-bottom:6px}.history-item p,.history-item small{color:var(--muted)}.history-actions{display:flex;align-items:center;gap:8px}button.small{min-height:36px;padding:0 12px;background:#fff;color:var(--text);border:1px solid var(--line);font-size:13px}@media (max-width:780px){.dashboard-grid{grid-template-columns:1fr}.history-panel{grid-column:auto}.history-item,.topbar{align-items:flex-start;flex-direction:column}.history-actions{width:100%}.history-actions button{flex:1 1}}.autocomplete-wrap{position:relative}.autocomplete-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(20,50,40,.14)}.autocomplete-option{display:block;width:100%;min-height:0;padding:13px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;color:var(--text);text-align:left;font-weight:600}.autocomplete-option:last-child{border-bottom:0}.autocomplete-option:hover{background:#f5f7f6}.autocomplete-status{padding:13px 14px;color:var(--muted);font-size:14px}