:root{--primary: #14532d;--primary-light: #1e7a42;--bg: #f7f6f2;--card-bg: #ffffff;--border: #e2e0d8;--text: #26261f;--muted: #6b6a60;--danger: #b3261e;--font: "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text)}.page-loading{padding:3rem;text-align:center;color:var(--muted)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%)}.auth-card{background:var(--card-bg);padding:2.5rem;border-radius:12px;width:360px;box-shadow:0 12px 32px #0003}.auth-card h1{font-size:1.25rem;margin-bottom:.25rem}.subtitle{color:var(--muted);margin-top:0;margin-bottom:1.5rem;font-size:.9rem}.auth-card label{display:block;margin-bottom:1rem;font-size:.85rem;font-weight:600}.auth-card input{width:100%;padding:.6rem;margin-top:.35rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem}.auth-card button,.dashboard button{cursor:pointer}.auth-card button[type=submit]{width:100%;padding:.7rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-weight:600;margin-top:.5rem}.error-banner{background:#fdecea;color:var(--danger);padding:.6rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.info-banner{background:#eaf6ee;border:1px solid #b7e0c2;padding:.75rem;border-radius:6px;margin-top:1rem;font-size:.9rem}.dashboard{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard-header h1{margin:0;font-size:1.4rem}.muted{color:var(--muted);font-size:.85rem}.header-actions{display:flex;align-items:center;gap:1rem}.year-select{display:flex;flex-direction:column;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.year-select select{margin-top:.25rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:5px;font-size:.85rem;color:var(--text);text-transform:none;font-weight:400}.evidence-cell{max-width:260px;white-space:pre-wrap}.comment-thread{background:#f7f6f2;border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem}.comment-input{display:flex;gap:.5rem;margin-top:.6rem}.comment-input input{flex:1;padding:.45rem .6rem;border:1px solid var(--border);border-radius:5px;font-size:.85rem}button{background:var(--primary);color:#fff;border:none;padding:.4rem .8rem;border-radius:5px;font-size:.85rem}.btn-secondary{background:#e5e3da;color:var(--text)}.btn-danger{background:var(--danger)}.summary-card{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.stat-label{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.stat-value{display:block;font-size:1.3rem;font-weight:700;margin-top:.25rem}.section-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}.section-card h2{font-size:1.05rem;margin-top:0}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase}.badge{padding:.15rem .5rem;border-radius:12px;font-size:.72rem;font-weight:600}.badge-submitted{background:#fff4d6;color:#8a6100}.badge-verified{background:#e0f5e5;color:#1e7a42}.badge-rejected{background:#fdecea;color:var(--danger)}.badge-none{background:#eee;color:var(--muted)}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{background:#eee;color:var(--text)}.tab-active{background:var(--primary)!important;color:#fff!important}.admin-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-form input,.admin-form select{padding:.5rem;border:1px solid var(--border);border-radius:5px;font-size:.85rem}code{background:#f1f0ea;padding:.1rem .4rem;border-radius:4px}a{color:var(--primary)}.comment-thread{background:#faf9f5;border:1px solid var(--border);border-radius:6px;padding:.75rem;margin:.25rem 0}.comment-item{padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.85rem}.comment-item:last-of-type{border-bottom:none}.comment-item p{margin:.2rem 0 0}.comment-input{display:flex;gap:.5rem;margin-top:.5rem}.comment-input input{flex:1;padding:.45rem;border:1px solid var(--border);border-radius:5px;font-size:.85rem}
