:root{--forest:#123d31;--forest2:#1c5947;--ink:#14231d;--muted:#68776f;--paper:#f3f4ef;--surface:#fff;--line:#dde3dc;--yellow:#f4c84a;--red:#b8463d;--blue:#2e658b;--shadow:0 20px 70px rgba(18,61,49,.12);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.is-hidden{display:none!important}.eyebrow{display:block;color:var(--forest2);font-size:10px;font-weight:900;letter-spacing:.16em}.login-shell{display:grid;grid-template-columns:1.1fr .9fr;min-height:100vh;background:var(--forest)}.login-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:70px 8vw;color:#fff}.login-copy img{position:absolute;top:48px;width:66px;height:66px;object-fit:contain}.login-copy .eyebrow{color:var(--yellow)}.login-copy h1{max-width:720px;margin:18px 0;font-size:clamp(48px,6vw,86px);line-height:.94;letter-spacing:-.068em}.login-copy p{max-width:620px;color:#cbd8d2;font-size:17px;line-height:1.7}.login-card{align-self:center;width:min(430px,calc(100% - 48px));margin:auto;padding:34px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.login-card h2{margin:8px 0;font-size:30px}.login-card div p{margin:0 0 22px;color:var(--muted)}label{display:grid;gap:7px;margin:13px 0;color:#3d4c44;font-size:11px;font-weight:800}input,select,textarea{width:100%;min-height:45px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fbfcfa;color:var(--ink);outline:none}textarea{min-height:82px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--forest2);box-shadow:0 0 0 3px rgba(28,89,71,.09)}input[type=checkbox]{width:17px;min-height:17px}.check{display:flex;align-items:center;gap:8px}.form-error{min-height:18px;color:var(--red);font-size:11px;font-weight:800}.button{min-height:42px;padding:10px 14px;border:0;border-radius:10px;font-size:11px;font-weight:900}.button--primary{background:var(--forest);color:#fff}.button--yellow{background:var(--yellow);color:var(--ink)}.button--secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.button--danger{background:#fbe9e6;color:var(--red)}.button--small{min-height:32px;padding:7px 10px}.button--wide{width:100%;display:flex;align-items:center;justify-content:space-between}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:27px 18px 20px;background:var(--forest);color:#fff}.brand{display:flex;align-items:center;gap:10px;padding:0 7px 25px}.brand img{width:41px;height:41px;object-fit:contain}.brand span{display:grid}.brand b{font-size:13px;letter-spacing:.08em}.brand small{color:#b9ccc3;font-size:9px}.sidebar nav{display:grid;gap:4px}.sidebar nav button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 13px;border:0;border-radius:10px;background:transparent;color:#bcd0c7;text-align:left;font-size:13px;font-weight:700}.sidebar nav button.is-active,.sidebar nav button:hover{background:rgba(255,255,255,.1);color:#fff}.sidebar nav button.is-active:before{content:"";position:absolute;left:18px;width:3px;height:22px;border-radius:4px;background:var(--yellow)}.side-user{display:grid;grid-template-columns:38px 1fr 30px;align-items:center;gap:9px;margin-top:auto;padding:13px 8px 0;border-top:1px solid rgba(255,255,255,.12)}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--yellow);color:var(--ink);font-size:11px;font-weight:900}.side-user div:nth-child(2){display:grid}.side-user b{font-size:11px}.side-user small{color:#aebfb7;font-size:9px}.side-user button{border:0;background:none;color:#fff}.topbar{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 30px;border-bottom:1px solid var(--line);background:rgba(243,244,239,.92);backdrop-filter:blur(16px)}.topbar p{margin:0;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em}.topbar h1{margin:5px 0 0;font-size:23px;letter-spacing:-.04em}.menu{display:none;border:0;background:none}.server{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:800}.server i{width:8px;height:8px;border-radius:50%;background:#35a56c;box-shadow:0 0 0 4px #dff2e8}.content{padding:25px 30px 60px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.kpi{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.kpi span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.kpi strong{display:block;margin:7px 0 2px;font-size:30px}.kpi small{color:var(--muted);font-size:9px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:26px 0 12px}.section-head h2{margin:0;font-size:19px;letter-spacing:-.03em}.section-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.actions{display:flex;flex-wrap:wrap;gap:7px}.panel{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.panel+.panel{margin-top:13px}.panel h3{margin:0 0 4px;font-size:15px}.panel>p{margin:0 0 14px;color:var(--muted);font-size:11px;line-height:1.5}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 10px}.form-grid .span-2{grid-column:span 2}.form-grid .span-3{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f7f8f5;color:var(--muted);font-size:9px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}tr:last-child td{border-bottom:0}td strong{display:block}.tag{display:inline-flex;padding:4px 7px;border-radius:99px;background:#e8f2ed;color:var(--forest2);font-size:8px;font-weight:900;text-transform:uppercase}.tag--yellow{background:#fff2c8;color:#745c12}.tag--red{background:#fbe7e3;color:var(--red)}.empty{padding:32px;text-align:center;color:var(--muted);font-size:12px}.master-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.master-card{padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff}.master-card h3{margin:0}.master-card p{min-height:30px;color:var(--muted);font-size:10px}.mini-list{display:grid;gap:6px;max-height:240px;margin-top:13px;overflow:auto}.mini-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;background:#f5f7f3;font-size:10px}.mini-item b{display:block}.mini-item span{color:var(--muted)}.qr-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.qr-card__head{display:flex;align-items:start;justify-content:space-between;gap:10px}.qr-card h3{margin:4px 0}.qr-card p{margin:0;color:var(--muted);font-size:10px}.report-filters{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.toast{position:fixed;z-index:30;right:24px;bottom:24px;max-width:360px;padding:12px 16px;border-radius:11px;background:var(--forest);color:#fff;font-size:11px;font-weight:800;opacity:0;transform:translateY(12px);transition:.2s}.toast.is-visible{opacity:1;transform:none}.toast.is-error{background:#7d3029}.loading{display:grid;place-items:center;min-height:300px;color:var(--muted);font-size:11px}.loading i{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-3,.report-filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.login-shell{display:block;padding:30px 0}.login-copy{padding:40px 24px 20px}.login-copy img{position:static}.login-copy h1{font-size:42px}.admin-shell{display:block}.sidebar{position:fixed;z-index:20;left:-260px;width:250px;transition:.2s}.sidebar.is-open{left:0}.topbar{padding:0 18px}.menu{display:block}.server{display:none}.content{padding:20px 16px}.grid-2,.master-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2,.form-grid .span-3{grid-column:auto}.report-filters{grid-template-columns:1fr 1fr}}

