@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#123d30;--green2:#1a5944;--gold:#d8b45a;--ink:#17241f;--muted:#748079;--line:#e7ece8;--bg:#f4f7f4;--white:#fff;--red:#b74343;--shadow:0 10px 30px rgba(19,48,37,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}h1,h2,h3,b,strong{font-family:Manrope,'DM Sans',sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--green);color:#eaf2ed;padding:24px 15px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 27px;border-bottom:1px solid rgba(255,255,255,.12)}.brand b{display:block;font-size:13px;letter-spacing:.04em}.brand small{display:block;color:#a9c2b5;font-size:11px;margin-top:4px}.brand-mark{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#e9cf83,#bd9440);display:grid;place-items:center;color:#163b2d;font:800 30px Manrope;box-shadow:0 8px 22px #d6b35b33;margin:0 auto 20px}.brand-mark.small{width:39px;height:39px;border-radius:12px;font-size:22px;margin:0}.nav-label{font-size:10px;letter-spacing:.17em;color:#91b0a1;margin:25px 10px 12px}.nav-group{margin-bottom:5px}.nav-group summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:12px 12px;border-radius:10px;cursor:pointer;color:#d9e6df;font-weight:600}.nav-group summary::-webkit-details-marker{display:none}.nav-group[open] summary,.nav-group summary:hover{background:#ffffff10;color:#fff}.chevron{color:#91b0a1}.nav-sub{padding:4px 0 7px 11px}.nav-link{display:block;padding:10px 12px;border-radius:8px;color:#b9cec3;font-size:13px;margin:2px 0}.nav-link:hover,.nav-link.active{background:#ffffff17;color:#fff}.nav-link.active{border-left:3px solid var(--gold);padding-left:9px}.logout{margin-top:18px;color:#f4c4bd}.sidebar-foot{margin-top:auto;padding:26px 8px 0;font-size:10px;color:#91b0a1}.main-area{margin-left:252px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:91px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:16px;position:sticky;top:0;z-index:10}.topbar h2{font-size:20px;margin:3px 0 0}.eyebrow{font-size:9px;letter-spacing:.17em;color:#829087;font-weight:700}.top-user{margin-left:auto;display:flex;align-items:center;gap:10px}.top-user b{display:block;font-size:12px}.top-user small{display:block;text-transform:capitalize;color:var(--muted);font-size:11px;margin-top:3px}.avatar{width:38px;height:38px;border-radius:50%;background:#e9f1ec;color:var(--green);display:grid;place-items:center;font-weight:800}.icon-btn{display:none;border:0;background:#f0f5f1;border-radius:9px;padding:9px 12px;color:var(--green)}.content{padding:28px 34px;flex:1;max-width:1700px;width:100%;margin:0 auto}.footer{padding:15px 34px;border-top:1px solid var(--line);font-size:11px;color:#87938b}.welcome{background:linear-gradient(115deg,#123d30,#1d6047);border-radius:18px;padding:29px 32px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden;margin-bottom:24px}.welcome:after{content:'';position:absolute;right:20%;top:-100px;width:280px;height:280px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 40px #ffffff06,0 0 0 80px #ffffff04}.welcome h1{font-size:27px;margin:10px 0}.welcome p{margin:0;color:#d0e0d6}.welcome .gold{color:#e6ca7c}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:11px 15px;font-weight:700;font-size:12px;white-space:nowrap}.btn.primary{background:var(--green2);color:#fff}.btn.primary:hover{background:#0f4533}.btn.light{background:#fff;color:var(--green);position:relative;z-index:1}.btn.secondary{background:#eef3ef;color:#3d5548;border:1px solid #dfe7e1}.btn.danger-btn{background:#fff0ef;color:#a83939}.btn.xs{padding:7px 9px;font-size:11px}.btn.full{width:100%;margin-top:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 19px 17px;box-shadow:var(--shadow);min-width:0}.stat-card span{display:block;font-size:11px;color:#758179;font-weight:600}.stat-card strong{display:block;font-size:22px;letter-spacing:-.04em;margin:12px 0 8px;overflow-wrap:anywhere}.stat-card small{font-size:10px;color:#8a968e}.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;margin-bottom:19px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-head h3{font-size:15px;margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:6px 0 0}.text-link{font-size:11px;font-weight:700;color:var(--green2)}.quick-link{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf1ed}.quick-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf4ee;color:var(--green2);font-size:20px}.quick-link b{font-size:12px;display:block}.quick-link small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.quick-link i{margin-left:auto;color:#96a49b;font-style:normal}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 20px}.page-heading h1{font-size:24px;margin:0 0 7px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.form-panel[hidden]{display:none}.data-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 18px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field label,.filter-row label{font-size:11px;font-weight:700;color:#43564a}.form-field em{font-style:normal;color:#b64343}.form-field input,.form-field select,.form-field textarea,.filter-row input,.table-search{width:100%;border:1px solid #dce5de;border-radius:8px;background:#fff;padding:10px 11px;outline:none;color:var(--ink);min-width:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.filter-row input:focus{border-color:#7ea58f;box-shadow:0 0 0 3px #dcebe1}.form-field textarea{resize:vertical}.form-actions{grid-column:1/-1;display:flex;gap:9px;padding-top:5px}.table-search{max-width:230px;padding:9px 11px;font-size:12px}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;background:#f5f8f5;color:#68766d;font-size:10px;text-transform:uppercase;letter-spacing:.05em}td,th{padding:13px 12px;border-bottom:1px solid #edf1ed}tbody tr:hover{background:#fafcfb}tbody tr:last-child td{border-bottom:0}.actions{display:flex;gap:6px;align-items:center}.actions form{display:inline}.empty-state{padding:28px;text-align:center;color:#8a968e;font-size:12px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:18px;font-size:12px}.alert.success{background:#eaf7ee;color:#24673b;border:1px solid #cfe9d6}.alert.danger{background:#fff0ee;color:#9d3434;border:1px solid #f3d1cd}.status-pill{display:inline-block;border-radius:20px;background:#e9f4ed;color:#2b6945;padding:5px 9px;font-size:10px}.filter-row{display:flex;align-items:end;gap:13px;flex-wrap:wrap}.filter-row label{display:flex;flex-direction:column;gap:7px}.filter-row input{min-width:170px}.note{font-size:11px;color:#758179;line-height:1.6}.login-bg{min-height:100vh;background:radial-gradient(ellipse at top left,#2a684e 0%,#123d30 45%,#0b2a20 100%);display:grid;place-items:center;padding:22px}.login-card{width:min(100%,430px);background:#fff;border-radius:22px;padding:37px 39px;box-shadow:0 25px 90px #061d1470;text-align:center}.login-card h1{font-size:20px;letter-spacing:.04em;margin:0 0 8px}.login-card>p{font-size:12px}.login-card form{text-align:left;margin-top:25px}.login-card label{display:block;font-size:11px;font-weight:700;margin:15px 0 7px}.login-card input{width:100%;padding:12px;border:1px solid #dce5de;border-radius:9px}.login-card .tiny{margin-top:24px}.muted{color:var(--muted)}.tiny{font-size:10px}.login-card .eyebrow{color:#a08236}.login-card .brand-mark{margin-bottom:17px}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:23px}.topbar{padding:0 23px}.data-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .22s ease;box-shadow:10px 0 35px #0002}.sidebar.show{transform:translateX(0)}.main-area{margin-left:0}.icon-btn{display:block}.topbar{height:76px;padding:0 17px}.content{padding:18px 15px}.footer{padding:15px}.two-col{grid-template-columns:1fr}.welcome{padding:23px;align-items:flex-start;flex-direction:column}.welcome h1{font-size:23px}.top-user>div{display:none}.page-heading h1{font-size:21px}.panel{padding:16px}.stats-grid.three{grid-template-columns:1fr}.table-wrap{margin:0 -4px}.data-form{grid-template-columns:1fr 1fr}}@media(max-width:520px){.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:14px}.stat-card strong{font-size:17px}.stat-card span{font-size:10px}.stat-card small{font-size:9px}.data-form{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .btn{width:100%}.panel-head{align-items:flex-start;flex-direction:column}.table-search{max-width:none}.login-card{padding:30px 24px}.filter-row{align-items:stretch;flex-direction:column}.filter-row input{min-width:0}.welcome .btn{width:100%}}@media print{.sidebar,.topbar,.page-heading .btn,.filter-row,.panel-head button,.footer,.form-panel{display:none!important}.main-area{margin:0}.content{padding:0;max-width:none}.panel,.stat-card{box-shadow:none;break-inside:avoid}body{background:#fff}.table-wrap{overflow:visible}table{white-space:normal;font-size:10px}td,th{padding:7px}}
