@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:#123d2b;--green2:#1b5a3c;--mint:#eaf5ee;--gold:#caa65b;--ink:#17251d;--muted:#718078;--line:#e2eae5;--bg:#f5f8f6;--white:#fff;--shadow:0 12px 35px rgba(18,61,43,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}h1,h2,h3{font-family:Manrope,sans-serif;color:var(--green);margin-top:0}h1{font-size:clamp(24px,3vw,32px);margin-bottom:8px}h2{font-size:18px;margin-bottom:18px}p{line-height:1.65}.muted,small{color:var(--muted)}small{font-size:12px}.block{display:block;margin-top:5px}.app-shell{min-height:100vh;display:flex}.sidebar{width:255px;flex-shrink:0;background:var(--green);color:#fff;padding:22px 15px;display:flex;flex-direction:column;min-height:100vh}.side-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:5px 8px 22px;border-bottom:1px solid #ffffff20}.side-brand b,.side-brand small{display:block}.side-brand b{font:800 13px Manrope}.side-brand small{font-size:10px;color:#c7d8ce;margin-top:4px}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#f0d88f,#b18a38);display:grid;place-items:center;color:var(--green);font:800 23px Manrope;box-shadow:0 4px 15px #0002}.brand-mark.large{width:64px;height:64px;font-size:36px;border-radius:20px}.side-user{padding:20px 10px 14px}.side-user b,.side-user small{display:block}.side-user small{color:#bbd2c4;margin-top:5px}.sidebar nav{display:grid;gap:5px;margin-top:6px}.sidebar nav a,.logout-link{padding:12px 12px;border-radius:9px;text-decoration:none;color:#d8e7de;font-weight:500;transition:.2s}.sidebar nav a:hover,.sidebar nav a:focus{background:#ffffff17;color:#fff}.logout-link{margin-top:auto;border-top:1px solid #ffffff20;border-radius:0;padding-top:20px}.main-area{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:3}.topbar-note{color:var(--muted)}.profile-pill{display:flex;align-items:center;gap:10px;font-weight:600}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-weight:800}.mobile-brand{display:none}.content{padding:30px;flex:1;width:100%;max-width:1600px;margin:0 auto}.footer{padding:16px 30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.page-heading p{margin:0;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#9a7a32;margin:0 0 8px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.stat-card{padding:20px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-20px;top:-24px;width:78px;height:78px;border-radius:50%;background:var(--mint)}.stat-card span{display:block;color:var(--muted);font-size:12px;position:relative;z-index:1}.stat-card strong{display:block;font:800 28px Manrope;color:var(--green);margin-top:12px;position:relative;z-index:1;overflow-wrap:anywhere}.panel{padding:24px;margin-bottom:20px;min-width:0}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-links a{border:1px solid var(--line);border-radius:10px;padding:14px;text-decoration:none;color:var(--green);font-weight:600}.quick-links a:hover{border-color:var(--gold);background:#fffdf7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;padding:11px 16px;text-decoration:none;font:700 13px 'DM Sans',sans-serif;cursor:pointer;transition:.2s}.btn.primary{background:var(--green2);color:#fff}.btn.primary:hover{background:var(--green)}.btn.secondary{background:#fff;border-color:var(--line);color:var(--green)}.btn.secondary:hover{border-color:var(--gold)}.btn:disabled{opacity:.45;cursor:not-allowed}.full{width:100%;margin-top:18px}.small-btn{padding:7px 10px;font-size:11px;background:var(--mint);color:var(--green);border-color:#d7e8dc}.alert,.notice{padding:13px 15px;border-radius:10px;margin:0 0 18px;background:#fff7e5;border:1px solid #f0dba7;color:#75571c}.notice.success{background:#eaf7ee;border-color:#c7e5d0;color:#205c36}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}label{font-weight:700;font-size:12px;color:#34493c}input,select,textarea{font:inherit;color:var(--ink);width:100%;padding:11px 12px;border:1px solid #dce5df;border-radius:8px;background:#fff;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:#5d9874;box-shadow:0 0 0 3px #1b5a3c12}textarea{min-height:88px;resize:vertical}.field small,.stack-form small{line-height:1.5}.stack-form{display:grid;gap:10px}.stack-form label{margin-top:5px}.checkline{display:flex;align-items:center;gap:9px;font-weight:500}.checkline input{width:auto}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.form-section{margin:28px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}.required{color:#bb5d43}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;color:#6e7c73;font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:#f8faf8}td,th{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:hover{background:#fbfdfb}.empty{text-align:center;padding:30px;color:var(--muted)}.badge{display:inline-block;padding:5px 9px;border-radius:30px;font-size:10px;font-weight:700;background:#eef1ef;color:#65736a}.badge.good{background:#e3f4e8;color:#23643a}.badge.bad{background:#fdebe7;color:#a43f2c}.badge.wait{background:#fff3d8;color:#8a6415}.filters{display:flex;gap:10px;margin-bottom:18px}.filters input{flex:1}.filters select{max-width:240px}.mini-form{display:grid;gap:8px;padding:10px 0;min-width:190px}.mini-form label{margin-top:4px}.inline-form{display:inline}.actions{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}details summary{cursor:pointer;color:var(--green);font-weight:700;font-size:12px}.narrow{max-width:720px}.identity-strip,.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.identity-strip>div,.receipt-grid>div{padding:13px;border-radius:9px;background:#f7faf7}.identity-strip small,.identity-strip b,.receipt-grid small,.receipt-grid b{display:block}.identity-strip b,.receipt-grid b{margin-top:5px;overflow-wrap:anywhere}.confirmation{text-align:center;max-width:800px;margin:0 auto}.success-icon{width:50px;height:50px;border-radius:50%;background:#e2f5e8;color:#27723e;display:grid;place-items:center;font-size:25px;font-weight:800;margin:0 auto 15px}.receipt-grid{text-align:left;margin:22px 0}.login-page{min-height:100vh;background:radial-gradient(circle at 20% 15%,#e1f0e6,transparent 40%),linear-gradient(135deg,#f7faf7,#edf4ef);display:grid;place-items:center;padding:24px}.login-shell{width:min(100%,1000px);display:grid;grid-template-columns:1fr .9fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 25px 80px #123d2b20;min-height:560px}.login-hero{background:linear-gradient(150deg,#123d2b,#1c6843);color:#fff;padding:54px 45px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;overflow:hidden}.login-hero:after{content:"";position:absolute;width:320px;height:320px;border:1px solid #ffffff20;border-radius:50%;right:-120px;bottom:-120px;box-shadow:0 0 0 35px #ffffff08,0 0 0 70px #ffffff05}.login-hero h1{color:#fff;font-size:35px;line-height:1.25;margin:10px 0 14px}.login-hero p{color:#d4e6da;max-width:360px}.hero-tag{border:1px solid #ffffff3a;border-radius:30px;padding:9px 14px;font-size:11px;margin-top:20px;color:#e8d39a}.login-card{padding:45px 40px;align-self:center}.login-card h2{font-size:25px;margin-bottom:8px}.login-card>p{color:var(--muted);margin-bottom:24px}.login-card form{display:grid;gap:10px}.login-card label{margin-top:8px}.login-card .small{font-size:11px;margin-top:25px}.small{font-size:12px}.mobile-brand{font-weight:800;color:var(--green)}.mobile-brand span{color:#9a7a32}.narrow hr{border:0;border-top:1px solid var(--line);margin:15px 0}
@media(max-width:1050px){.sidebar{width:220px}.content{padding:24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:0 24px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{width:100%;min-height:0;padding:12px 14px}.side-brand{padding:3px 5px 12px}.side-user{display:none}.sidebar nav{display:flex;overflow:auto;padding:10px 0 2px;gap:6px}.sidebar nav a{white-space:nowrap;padding:9px 11px;font-size:12px;background:#ffffff0b}.logout-link{display:none}.topbar{height:58px;padding:0 16px;position:static}.topbar-note{display:none}.profile-pill span:last-child{display:none}.mobile-brand{display:block}.content{padding:18px 14px}.footer{padding:15px}.grid.two{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.stats-grid{gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:23px}.panel{padding:17px}.login-shell{grid-template-columns:1fr;min-height:0}.login-hero{padding:30px 25px}.login-hero h1{font-size:28px}.login-hero .large{width:50px;height:50px;font-size:27px}.login-card{padding:30px 25px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.filters{flex-direction:column}.filters select{max-width:none}.quick-links{grid-template-columns:1fr}.identity-strip,.receipt-grid{grid-template-columns:1fr}.confirmation{text-align:left}.success-icon{margin-left:0}.form-actions .btn{flex:1}}
@media print{.sidebar,.topbar,.footer,.btn,.form-actions,.page-heading .eyebrow{display:none!important}.main-area,.content{padding:0!important;background:#fff}.panel{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.confirmation{max-width:none}.login-page{background:#fff}}
