:root{--green:#244b3a;--cream:#f4f1e9;--paper:#fffdfa;--ink:#17271f;--muted:#737b76;--line:#dedfd8;--red:#913832;--mint:#deece4}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}h1,h2{font-family:Georgia,serif;font-weight:500}h1{color:var(--green)}h2{margin:4px 0 20px}.eyebrow{font-size:.65rem;font-weight:800;letter-spacing:.2em;color:var(--muted);margin:0 0 8px}.auth-page{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 50% 0,#fff 0,transparent 42%),var(--cream)}.auth-card{width:min(440px,100%);padding:34px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 65px #1c30251a}.auth-card h1{font-size:2.5rem;margin:0}.intro,.hint{color:var(--muted)}.hint{font-size:.75rem;line-height:1.5}.role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0}.role-tabs button.active{background:var(--green);color:#fff}.topbar{width:min(1440px,calc(100% - 34px));margin:0 auto;padding:28px 0 20px;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:0}.account{display:flex;align-items:center;gap:12px;font-size:.78rem}.account span:first-child{padding:5px 9px;border-radius:99px;background:var(--mint);font-weight:800}.account a{color:var(--red)}.layout{width:min(1440px,calc(100% - 34px));margin:0 auto 70px}.panel,.cards article,.stats article{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 34px #23352b0b}.panel{padding:26px;margin-bottom:18px}label{display:grid;gap:7px;margin:0 0 15px;font-size:.78rem;font-weight:750}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid #ccd1cc;border-radius:9px;background:#fff;padding:10px}input,select{height:43px}button{height:42px;padding:0 14px;border-radius:9px;border:1px solid #ccd1cc;background:#fff;font-weight:750;cursor:pointer}.primary{background:var(--green);border-color:var(--green);color:#fff}.secondary{background:#fff}.link-button{border:0;padding:0;color:var(--green);height:auto;margin:18px 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.upload input{padding:8px;height:auto}.ocr-row,.actions,.section-head{display:flex;gap:10px;align-items:center}.ocr-row{margin-bottom:15px}.ocr-row span{font-size:.75rem;color:var(--muted)}.preview{display:block;width:min(420px,100%);max-height:440px;object-fit:contain;margin:0 0 20px;border-radius:12px;background:#eee}.alert,.success{padding:10px;border-radius:9px}.alert{background:#f6dfdc;color:var(--red)}.success{background:var(--mint);color:var(--green)}.section-head{justify-content:space-between;align-items:start}.actions input{width:160px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stats article{padding:17px}.stats span{display:block;font-size:.61rem;letter-spacing:.13em;color:var(--muted);font-weight:800;margin-bottom:10px}.stats strong{font-family:Georgia,serif;font-size:1.25rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.78rem}th,td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-size:.63rem;letter-spacing:.08em;color:var(--muted)}td a{color:var(--green)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.list-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.list-row small{display:block;color:var(--muted)}.list-row button{height:34px;font-size:.72rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cards article{overflow:hidden}.cards img{width:100%;height:210px;object-fit:cover}.card-body{padding:15px}.card-body h3{margin:5px 0}.card-body p{font-size:.77rem;color:var(--muted)}@media(max-width:850px){.stats,.cards{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.section-head{display:block}.actions{flex-wrap:wrap;margin-bottom:14px}}@media(max-width:560px){.topbar{display:block}.account{margin-top:15px;flex-wrap:wrap}.form-grid,.stats,.cards{grid-template-columns:1fr}.panel{padding:19px}.actions>*{flex:1}.actions input{flex-basis:100%}.auth-card{padding:25px}}

