@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&display=swap');
:root { color-scheme: light; --ink:#1b2b26; --muted:#708078; --line:#dce7dc; --paper:#f7fbf3; --panel:#ffffff; --green:#2d7d57; --lime:#b8df68; --yellow:#f0bd45; --shadow:0 22px 60px rgba(31,64,45,.11); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; color:var(--ink); background:radial-gradient(circle at 8% 0%,#e6f2cf 0,transparent 30%),linear-gradient(145deg,#f5faf0,#eef5ed 60%,#e5eee5); font-family:Manrope,ui-sans-serif,sans-serif; }
body:before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.22; background-image:linear-gradient(rgba(46,96,68,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(46,96,68,.04) 1px,transparent 1px); background-size:28px 28px; }
.shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:56px 0 34px; }
.masthead { display:flex; align-items:flex-start; gap:18px; margin-bottom:38px; animation:rise .55s ease both; }
.brand-mark { display:grid; place-items:center; width:56px; height:56px; flex:0 0 auto; border:1px solid #bcd49e; border-radius:16px 16px 16px 4px; color:#244834; background:var(--lime); font:500 18px 'DM Mono',monospace; box-shadow:7px 7px 0 rgba(45,125,87,.12); }
.eyebrow { margin:2px 0 5px; color:var(--green); font:500 11px 'DM Mono',monospace; letter-spacing:.12em; }
h1,h2,p { margin:0; } h1 { font-size:clamp(31px,5vw,48px); line-height:1; letter-spacing:-.04em; } .subtitle { margin-top:9px; color:var(--muted); font-size:14px; }
.status-pill { margin-left:auto; display:flex; align-items:center; gap:9px; padding:10px 14px; border:1px solid var(--line); border-radius:99px; color:var(--muted); font-size:12px; background:rgba(255,255,255,.62); } .status-pill span:first-child { width:8px;height:8px;border-radius:50%;background:#e4a946; }
.workspace { display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.4fr); gap:20px; align-items:stretch; }
.panel { border:1px solid rgba(181,207,183,.7); border-radius:20px; background:rgba(255,255,255,.82); box-shadow:var(--shadow); backdrop-filter:blur(12px); } .form-panel,.result-panel,.records-panel { padding:27px; }
.panel-heading { display:flex; align-items:flex-start; gap:13px; margin-bottom:24px; } .panel-heading h2 { font-size:20px; letter-spacing:-.03em; } .panel-heading p { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.5; } .step { color:var(--green); font:500 12px 'DM Mono',monospace; }
label { display:block; margin-top:17px; color:#527064; font-size:12px; font-weight:700; } .optional { color:#9aa9a0; font-weight:400; } input { width:100%; margin-top:8px; padding:13px 14px; border:1px solid var(--line); border-radius:10px; outline:0; color:var(--ink); background:#fbfdf9; font:500 14px Manrope,sans-serif; transition:.2s; } input:focus { border-color:#82b76e; box-shadow:0 0 0 4px rgba(184,223,104,.2); } .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
button { border:0; cursor:pointer; font:700 13px Manrope,sans-serif; } .primary { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:25px; padding:15px 17px; border-radius:11px; color:#173622; background:linear-gradient(100deg,var(--lime),#d6ed8c); box-shadow:0 8px 18px rgba(120,165,69,.2); } .primary:hover { transform:translateY(-1px); } .ghost { padding:9px 12px; border:1px solid var(--line); border-radius:9px; color:var(--green); background:#fff; } .ghost:disabled { opacity:.4; cursor:not-allowed; }
.message { min-height:18px; margin-top:12px; color:#a84c3e; font-size:12px; } .results { min-height:310px; max-height:405px; overflow:auto; padding:5px; } .results.empty { display:grid; place-content:center; justify-items:center; color:#9aaa9d; } .empty-icon { display:grid; place-items:center; width:42px;height:42px;margin-bottom:13px;border-radius:50%;color:var(--green);background:#eef7df;font-size:25px; } .key-row { display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px dashed var(--line); } .key-row:last-child { border-bottom:0; } .key { flex:1; color:#315e49; font:500 13px 'DM Mono',monospace; letter-spacing:.02em; } .copy-one { padding:7px 9px; border-radius:7px; color:#6c8877; background:#edf5e9; font-size:11px; }
.records-panel { margin-top:20px; } .table-wrap { overflow:auto; } table { width:100%; border-collapse:collapse; font-size:12px; white-space:nowrap; } th { padding:0 15px 12px 0; text-align:left; color:#95a69b; font-weight:600; } td { padding:14px 15px 14px 0; border-top:1px solid #edf2eb; } .table-empty { padding:35px 0; color:#9aaa9d; text-align:center; } .badge { display:inline-flex; padding:4px 8px; border-radius:99px; color:#397250; background:#e6f4d8; font-size:11px; } .badge.revoked { color:#9c554b; background:#fae6e0; } footer { display:flex; justify-content:space-between; gap:15px; margin-top:19px; color:#8b9d92; font:11px 'DM Mono',monospace; }
@keyframes rise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } } @media (max-width:760px) { .shell{width:min(100% - 24px,560px);padding:28px 0;} .masthead{margin-bottom:25px;} .status-pill{display:none;} .workspace{grid-template-columns:1fr;} .form-panel,.result-panel,.records-panel{padding:21px;} .results{min-height:220px;} footer{display:block;line-height:1.8;} }
