:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f6ef;--surface:#fff;--surface-2:#e9f0e4;--border:#d6e0d0;--text:#1c2a18;--text-muted:#5c6c54;--accent:#14673c;--accent-strong:#0d4c2c;--accent-soft:#dceee1;--status-good-bg:#def3e7;--status-good-fg:#1f7a4f;--status-warn-bg:#fbebd2;--status-warn-fg:#96631a;--status-crit-bg:#f7e2da;--status-crit-fg:#9c4429;--shadow:0 1px 2px #1c2a180f, 0 8px 24px #1c2a1814}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10160d;--surface:#182015;--surface-2:#1f2a19;--border:#324030;--text:#e8f0e2;--text-muted:#9aac8e;--accent:#57b583;--accent-strong:#7ed0a2;--accent-soft:#243a2c;--status-good-bg:#1e3527;--status-good-fg:#7ed0a2;--status-warn-bg:#3a2f18;--status-warn-fg:#e3b15c;--status-crit-bg:#3a231c;--status-crit-fg:#e1926f;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}}:root[data-theme=dark]{--bg:#10160d;--surface:#182015;--surface-2:#1f2a19;--border:#324030;--text:#e8f0e2;--text-muted:#9aac8e;--accent:#57b583;--accent-strong:#7ed0a2;--accent-soft:#243a2c;--status-good-bg:#1e3527;--status-good-fg:#7ed0a2;--status-warn-bg:#3a2f18;--status-warn-fg:#e3b15c;--status-crit-bg:#3a231c;--status-crit-fg:#e1926f;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Public Sans,ui-sans-serif,system-ui,sans-serif}.brand-font{font-optical-sizing:auto;font-family:Fraunces,Georgia,serif;font-weight:600}button{font:inherit;cursor:pointer}h1,h2{color:var(--text)}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 18px;font-size:.9rem;font-weight:600}.btn-primary{background:var(--accent);color:#f5fbf3;box-shadow:var(--shadow)}.btn-primary:hover{background:var(--accent-strong)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:10px 12px;font-size:.9rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip{border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.chip-good{background:var(--status-good-bg);color:var(--status-good-fg)}.chip-warn{background:var(--status-warn-bg);color:var(--status-warn-fg)}.chip-crit{background:var(--status-crit-bg);color:var(--status-crit-fg)}.auth-page{justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.auth-card{background:var(--surface);width:100%;max-width:320px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:12px;padding:24px;display:flex}.auth-logo{align-self:center;width:64px;height:64px}.auth-card h1{text-align:center;color:var(--accent-strong);margin:0;font-size:1.4rem}.auth-card label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.875rem;font-weight:600;display:flex}.auth-card button[type=submit]{margin-top:8px}.auth-error{color:var(--status-crit-fg);margin:0;font-size:.875rem}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.app-header-brand{color:var(--accent-strong);align-items:center;gap:8px;font-size:1.05rem;font-weight:600;display:flex}.app-header-brand img{width:28px;height:28px}.app-header-status{margin-right:auto}.app-header-nav{align-items:center;gap:16px;font-size:.875rem;display:flex}.app-header-nav a{color:var(--accent)}.app-header-user{color:var(--text-muted)}.app-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:24px 16px}.visit-form,.visit-detail{max-width:640px}.hint{color:var(--text-muted);font-size:.875rem}.hint-inline{color:var(--text-muted);font-size:.8rem;font-weight:400}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.visit-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.visit-list-item{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.visit-list-item a{color:inherit;text-decoration:none}.visit-form{flex-direction:column;gap:20px;display:flex}.visit-form section{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;padding:18px;display:flex}.visit-form h2{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 4px;font-size:.9rem;font-weight:700}.visit-form label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:flex}.visit-form fieldset{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.visit-form legend{color:var(--text);padding:0 4px;font-size:.85rem;font-weight:700}.visit-form .checkbox-label,.visit-form .radio-label{color:var(--text);flex-direction:row;align-items:center;gap:6px;font-size:.9rem;font-weight:400;display:flex}.checkbox-label input,.radio-label input{width:auto}.sub-options{flex-wrap:wrap;gap:12px;padding-left:20px;display:flex}.field-row{gap:12px;display:flex}.field-row label{flex:1}.form-actions{justify-content:flex-end;gap:12px;display:flex}.visit-detail dl{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:max-content 1fr;gap:6px 16px;padding:14px 18px;display:grid}.visit-detail dt{color:var(--text-muted);font-weight:600}.visit-detail dd{font-variant-numeric:tabular-nums;margin:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px}td{font-variant-numeric:tabular-nums}th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:700}tr:last-child td{border-bottom:none}.admin-add{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.admin-add input{flex:160px}.admin-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.admin-card .page-header{flex-wrap:wrap;margin-bottom:0}.admin-projects{flex-direction:column;gap:6px;margin:0;padding:0 0 0 12px;list-style:none;display:flex}.admin-projects li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}a.btn{border:1px solid var(--accent);padding:8px 14px;text-decoration:none;display:inline-block}textarea{resize:vertical;width:100%}.num{text-align:right}td.wrap,dd.wrap{white-space:normal}.is-inactive{opacity:.55}.owner-nav{border-bottom:1px solid var(--border);background:var(--surface);gap:4px;padding:0 16px;display:flex;overflow-x:auto}.owner-nav a{color:var(--text-muted);white-space:nowrap;border-bottom:3px solid #0000;padding:10px 12px;font-size:.9rem;font-weight:600;text-decoration:none}.owner-nav a.active{color:var(--accent);border-bottom-color:var(--accent)}.stepper{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stepper li{color:var(--text-muted);align-items:center;gap:6px;font-size:.75rem;display:flex}.stepper-dot{border:2px solid var(--border);background:var(--surface);border-radius:50%;width:10px;height:10px}.stepper li.is-done .stepper-dot{background:var(--accent);border-color:var(--accent)}.stepper li.is-current .stepper-dot{border-color:var(--accent);background:var(--accent-soft)}.stepper li.is-current{color:var(--text);font-weight:700}@media (width<=640px){.stepper li:not(.is-current) .stepper-label{display:none}}.toggle{gap:10px}.toggle input[type=checkbox]{appearance:none;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:999px;flex:none;width:42px;height:24px;padding:0;transition:background .15s;position:relative}.toggle input[type=checkbox]:after{content:"";background:var(--text-muted);border-radius:50%;width:18px;height:18px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.toggle input[type=checkbox]:checked{background:var(--accent-soft);border-color:var(--accent)}.toggle input[type=checkbox]:checked:after{background:var(--accent);transform:translate(18px)}.material-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.material-line input[type=number]{width:90px}.irrigation-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.irrigation-item{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:1fr 96px;align-items:center;gap:6px 10px;padding:8px 10px;display:grid}.irrigation-item.is-used{border-color:var(--accent);background:var(--accent-soft)}.irrigation-item-info{flex-direction:column;display:flex}.irrigation-item input[type=text]{grid-column:1/-1}.fee-estimate h3,.visit-detail h3{margin:12px 0 6px;font-size:.95rem}.fee-total td{border-top:2px solid var(--border);font-weight:700}.checklist{margin:0 0 8px;padding-left:20px}.amend-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;margin-top:24px;padding:16px;display:flex}.amend-panel label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:flex}.filters{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.filters label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.8rem;font-weight:600;display:flex}.price-input{text-align:right;width:100px}.pricing-admin table{margin-bottom:16px}.pricing-admin caption{text-align:left;color:var(--accent);padding:8px 14px;font-weight:700}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.visit-list-actions{align-items:center;gap:8px;display:flex}.visit-form fieldset,.amend-panel,.field-row>label,.irrigation-item>*{min-width:0}.visit-form label>input:not([type=checkbox]):not([type=radio]),.visit-form label>select,.amend-panel label>input,.amend-panel label>select,.field-row input,.field-row select{width:100%;min-width:0}.irrigation-item input[type=number]{width:100%}.fee-estimate td{white-space:normal}.fee-estimate td.num{white-space:nowrap}
