@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#f4f7f5;--surface:#fff;--surface-soft:#f8faf9;--text:#17211b;--text-soft:#65716a;--border:#dfe7e2;--primary:#16834b;--primary-dark:#0f683b;--primary-soft:#e8f6ee;--success:#16834b;--warning:#b7791f;--danger:#c93c3c;--radius-sm:10px;--radius:16px;--radius-lg:22px;--shadow:0 1px 2px #10281b0a, 0 8px 24px #10281b0d;--content-width:1180px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);min-height:100%}body{min-height:100vh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,select{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.app-container{width:min(calc(100% - 40px), var(--content-width));margin:0 auto;padding:40px 0 64px}.app-brand{color:var(--primary);letter-spacing:.08em;align-items:center;gap:10px;font-size:14px;font-weight:800;display:inline-flex}.app-brand-mark{color:#fff;background:var(--primary);letter-spacing:0;border-radius:11px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin:26px 0 32px;display:flex}.page-title{letter-spacing:-.035em;margin-top:8px;font-size:clamp(30px,4vw,44px);line-height:1.05}.page-subtitle{max-width:680px;color:var(--text-soft);margin-top:10px;font-size:16px;line-height:1.55}.back-link{color:var(--text-soft);align-items:center;gap:6px;margin-bottom:18px;font-weight:700;display:inline-flex}.back-link:hover{color:var(--primary)}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card-body{padding:24px}.section-title{letter-spacing:-.015em;margin-bottom:18px;font-size:20px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi-card{min-height:142px;padding:22px}.kpi-label{color:var(--text-soft);font-size:14px;font-weight:700}.kpi-value{margin-top:14px;font-size:38px;font-weight:800;line-height:1}.kpi-note{color:var(--text-soft);margin-top:12px;font-size:13px}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:20px;margin-top:20px;display:grid}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.action-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:112px;padding:20px;transition:transform .15s,border-color .15s,box-shadow .15s;display:block}.action-card:hover{box-shadow:var(--shadow);border-color:#b9d7c6;transform:translateY(-1px)}.action-card strong{margin-bottom:7px;font-size:17px;display:block}.action-card span{color:var(--text-soft);font-size:14px;line-height:1.4}.location-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.location-row:last-child{border-bottom:0;padding-bottom:0}.location-meta{color:var(--text-soft);margin-top:4px;font-size:14px}.form-card{max-width:760px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field-full{grid-column:1/-1}.field label,.field-label{font-size:14px;font-weight:750}.field-hint{color:var(--text-soft);font-size:12px}.input,.select,.textarea{border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--text);background:#fff;border:1px solid #ccd8d1;outline:none;padding:10px 13px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;min-height:110px}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #16834b1f}.button{border-radius:var(--radius-sm);border:0;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;font-weight:800;transition:background .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--primary)}.button-primary:hover{background:var(--primary-dark)}.button-secondary{color:var(--primary-dark);background:var(--primary-soft)}.equipment-list{gap:12px;display:grid}.equipment-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px}.equipment-item-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.equipment-name{font-size:17px;font-weight:800}.equipment-meta{color:var(--text-soft);margin-top:5px;font-size:14px;line-height:1.5}.badge{min-height:28px;color:var(--primary-dark);background:var(--primary-soft);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.empty-state{border-radius:var(--radius);color:var(--text-soft);background:var(--surface-soft);text-align:center;border:1px dashed #cbd8d0;padding:34px 20px}.spacer-32{height:32px}@media (max-width:900px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media (max-width:600px){.app-container{width:min(calc(100% - 28px), var(--content-width));padding:24px 0 40px}.page-header{margin:20px 0 24px;display:block}.page-title{font-size:32px}.kpi-grid{gap:10px}.kpi-card{min-height:118px;padding:17px}.kpi-value{font-size:32px}.action-grid,.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.card-body{padding:18px}.button{width:100%}.equipment-item-head{display:block}.badge{margin-top:10px}}.login-shell{background:var(--surface);grid-template-columns:minmax(420px,.9fr) minmax(500px,1.1fr);min-height:100vh;display:grid}.login-panel{width:min(100%,520px);margin:auto;padding:48px}.login-heading{margin:42px 0 28px}.login-heading h1{letter-spacing:-.035em;font-size:42px;line-height:1.05}.login-heading p{color:var(--text-soft);margin-top:12px;font-size:16px;line-height:1.55}.login-security{color:var(--text-soft);text-align:center;margin-top:18px;font-size:12px}.login-hero{color:#fff;background:radial-gradient(circle at 85% 15%,#ffffff1f,#0000 32%),linear-gradient(145deg,#0f683b,#16834b);align-items:center;padding:64px;display:flex}.login-hero-content{max-width:620px}.login-kicker{letter-spacing:.12em;opacity:.78;font-size:13px;font-weight:800}.login-hero h2{letter-spacing:-.045em;margin-top:22px;font-size:clamp(42px,5vw,68px);line-height:1.02}.login-hero p{opacity:.86;max-width:520px;margin-top:24px;font-size:18px;line-height:1.6}.login-features{gap:14px;margin-top:42px;font-size:15px;font-weight:700;display:grid}@media (max-width:900px){.login-shell{background:var(--bg);min-height:100vh;display:block}.login-panel{width:min(100% - 28px,520px);padding:36px 0}.login-heading{margin:32px 0 24px}.login-heading h1{font-size:36px}.login-hero{display:none}}.header-actions{align-items:center;gap:10px;display:flex}.header-actions form{margin:0}@media (max-width:600px){.header-actions{grid-template-columns:1fr;gap:10px;margin-top:18px;display:grid}.header-actions form,.header-actions .button{width:100%}}.cleaning-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (max-width:700px){.cleaning-actions{justify-content:stretch;margin-top:12px}.cleaning-actions form{flex:140px}.cleaning-actions .button{width:100%}}.allergen-matrix{gap:8px;margin-top:8px;display:grid}.allergen-row{border-radius:var(--radius-sm);border:1px solid #e0e8e3;grid-template-columns:minmax(140px,1fr) 70px 120px 140px;align-items:center;gap:10px;padding:11px 12px;display:grid}.allergen-row-head{color:var(--text-soft);border:0;padding-top:4px;padding-bottom:4px;font-size:12px;font-weight:750}.allergen-name{font-weight:700}.allergen-choice{cursor:pointer;align-items:center;gap:7px;min-height:34px;font-size:13px;display:flex}.allergen-choice input{width:18px;height:18px;margin:0}@media (max-width:640px){.allergen-row{grid-template-columns:1fr 1fr}.allergen-row-head{display:none}.allergen-name{grid-column:1/-1;margin-bottom:2px}.allergen-choice{min-height:40px}}.report-scroll{overflow-x:auto}.report-section{margin-bottom:28px}.report-table{border-collapse:collapse;width:100%;font-size:13px}.report-table th,.report-table td{text-align:left;vertical-align:top;white-space:pre-line;border:1px solid #cfd8d3;padding:6px 8px}.report-table th{background:#eef3f0}.report-table tr.voided td{opacity:.65;text-decoration:line-through}.report-table tr.voided td.void-note{opacity:1;color:brown;font-weight:600;text-decoration:none}@media print{.no-print{display:none!important}body,.app-shell{background:#fff!important}.app-shell{padding:0!important}.app-container{max-width:none!important;padding:0!important}.report-scroll{overflow:visible}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid}.report-section{margin-bottom:18px}}
