:root{--green:#246453;--ink:#1e3530;--muted:#70817b;--line:#dce5e0;--paper:#fff;--bg:#f3f6f2;--light:#e9f2ec;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:7px;padding:9px 13px;color:var(--ink);font-weight:600}button:hover{background:var(--light)}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:#a23535}input,textarea,select{width:100%;border:1px solid #ccd9d1;border-radius:5px;padding:9px;background:white;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #5c9e87;outline-offset:1px}textarea{resize:vertical;line-height:1.45}label{display:block;font-size:12px;color:#536960;font-weight:600}label input,label select,label textarea{margin-top:6px}h1{font-size:29px;letter-spacing:-1px;margin:0 0 6px}h2{font-size:20px;margin:0 0 16px}h3{font-size:16px}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:#183c32;color:#e6f2e9;padding:30px 20px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:23px;font-weight:700;letter-spacing:-.8px;padding:0 9px 28px}.brand small{display:block;font-size:11px;letter-spacing:1px;font-weight:400;color:#afc9bb;margin-top:7px}.sidebar nav button{display:block;width:100%;text-align:left;border:0;background:none;color:#c4d9cd;margin:5px 0;padding:13px}.sidebar nav button.active{background:#315b4d;color:#fff}.sidebar .bottom{margin-top:auto;font-size:11px;color:#b1cabd;line-height:1.8}.main{min-width:0;padding:28px 34px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.status{font-size:12px;background:#e7efe8;color:#2d614d;border-radius:30px;padding:7px 12px;white-space:nowrap}.status.error{background:#fbe3df;color:#9a3028}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{border:1px solid var(--line);border-radius:11px;background:white;padding:23px;margin-bottom:20px}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:20px 0}.toolbar input{max-width:350px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:25px 0}.stat{background:white;padding:22px;border:1px solid var(--line);border-radius:10px}.stat strong{display:block;font-size:30px;margin-bottom:6px}.tableWrap{overflow:auto}.dataTable{width:100%;border-collapse:collapse;text-align:left}.dataTable td,.dataTable th{padding:14px 12px;border-bottom:1px solid var(--line)}.dataTable th{font-size:11px;text-transform:uppercase;color:var(--muted);background:#f7faf7;white-space:nowrap}.dataTable tr:last-child td{border:0}.dataTable button{padding:6px 10px}.name{font-weight:600}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:22px 0}.tabs button{border:0;background:none;border-radius:0;padding:13px 19px;color:var(--muted)}.tabs button.active{border-bottom:3px solid var(--green);color:var(--green)}.gridForm{display:grid;grid-template-columns:1fr 1fr;gap:17px}.span2{grid-column:1/-1}.empty{padding:48px 20px;text-align:center;color:var(--muted)}.empty h3{color:var(--ink)}.badge{font-size:11px;padding:5px 9px;border-radius:20px;background:var(--light);color:var(--green)}.planGrid{width:100%;min-width:1000px;border-collapse:collapse;table-layout:fixed}.planGrid th{padding:13px 8px;background:#eaf2ec;border:1px solid #ccdacf;font-size:12px}.planGrid th:first-child{width:100px}.planGrid td{border:1px solid #d3ddd6;vertical-align:top;padding:0}.planGrid td:first-child{padding:16px 9px;font-size:12px;font-weight:600;background:#f8faf7}.planGrid textarea{border:0;border-radius:0;min-height:115px;padding:12px;font-size:13px;display:block;resize:vertical}.planGrid textarea:focus{outline:2px solid var(--green);outline-offset:-2px;background:#fbfef9}.hint{font-size:12px;color:var(--muted);margin:15px 0}.kpis{display:flex;gap:30px;flex-wrap:wrap;margin:18px 0}.kpis strong{font-size:26px;display:block}.notes{margin-top:20px}.measureGraph{width:100%;height:170px;background:#f8fbf8;border-radius:8px}.measureGraph text{font:11px Segoe UI;fill:#6a8075}.welcome{max-width:740px;margin:8vh auto;background:white;border:1px solid var(--line);padding:44px;border-radius:18px}.welcome h1{font-size:38px}.welcome .actions{margin-top:25px}.welcome input{margin:12px 0}dialog{width:min(760px,94vw);border:1px solid var(--line);border-radius:13px;padding:28px;max-height:90vh;color:var(--ink)}dialog::backdrop{background:#153b3270}dialog h2{margin-bottom:22px}dialog .actions{justify-content:flex-end;margin-top:24px}#toast{position:fixed;bottom:25px;right:25px;z-index:99;background:#1e4b3b;color:white;padding:15px 22px;border-radius:8px;box-shadow:0 5px 25px #0002;display:none;max-width:500px}.logoPreview{width:120px;max-height:90px;object-fit:contain}.banner{background:#fff5dd;padding:12px 16px;border-radius:7px;font-size:12px;color:#6c571c;margin-bottom:15px}.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.visuallyHidden{position:absolute;left:-10000px}.textLink{color:var(--green)}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative;padding:15px;display:block}.brand{padding:0 0 10px;font-size:20px}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar nav button{width:auto;white-space:nowrap;padding:10px}.sidebar .bottom{display:none}.main{padding:20px 15px}.stats{gap:8px}.stat{padding:15px}.topbar{align-items:flex-start;gap:12px}.gridForm{grid-template-columns:1fr}.span2{grid-column:auto}.metricGrid{grid-template-columns:repeat(2,1fr)}h1{font-size:24px}.welcome{margin:20px;padding:25px}.toolbar{flex-wrap:wrap}}@media print{.sidebar,.topbar,.actions,.tabs{display:none}.shell{display:block}.main{padding:0}.card{border:0}.planGrid{min-width:0}.planGrid textarea{height:auto}}

[hidden]{display:none!important}

.calendarControls input,.calendarControls select{width:auto;max-width:240px}.calendarGrid{display:grid;gap:10px}.calendar-week,.calendar-month{grid-template-columns:repeat(7,minmax(140px,1fr));overflow:auto}.calendarDay{background:white;border:1px solid #d8e3db;border-radius:9px;padding:10px;min-height:170px}.calendarDay.today{border:2px solid #368267}.calendarDayHead{display:flex;justify-content:space-between;align-items:center;gap:5px}.calendarDayHead button{font-size:12px;padding:7px}.appointmentCard{display:block;width:100%;text-align:left;margin:8px 0;padding:10px;background:#edf5f0;border-left:4px solid #368267;white-space:normal}.appointmentCard span{display:block;font-size:12px;margin-top:5px}.appt-confirmed{border-color:#285da3}.appt-completed{background:#e0ece4}.appt-cancelled{opacity:.6;text-decoration:line-through;border-color:#999}.appt-noshow{border-color:#b94e43;background:#fff0ea}.calendar-month .appointmentCard{font-size:11px}.calendar-month .appointmentCard span{display:none}.routeMap{height:450px;min-height:320px;background:#e8eee9;border-radius:10px;margin:20px 0}.routeStop,.routeLeg{padding:14px 0;border-bottom:1px solid #d8e3db}.routeLate{color:#9f362d;background:#fff2eb;padding:14px}.routePin{background:#246453;color:white;border:2px solid white;border-radius:20px;padding:7px 12px;font-weight:bold;box-shadow:0 1px 6px #777}.calendar-day{grid-template-columns:1fr}.button{display:inline-block;padding:9px 12px;border:1px solid #c5d7cb;border-radius:6px;text-decoration:none;color:#246453}@media(max-width:800px){.calendar-week,.calendar-month{grid-template-columns:repeat(7,minmax(145px,1fr))}.routeMap{height:360px}.calendarControls input,.calendarControls select{max-width:100%}}

/* The visible text keeps the selected date format; the adjacent native control opens a calendar. */
.dateControl{display:flex;align-items:center;gap:6px;min-width:0}.dateControl>input:first-child{min-width:0;flex:1}.dateControl .calendarPicker{width:42px;min-width:42px;max-width:42px;padding:8px;color:transparent;cursor:pointer}.calendarPicker::-webkit-datetime-edit{display:none}.calendarPicker::-webkit-calendar-picker-indicator{cursor:pointer;margin:0;width:20px;height:20px}.dateControl .calendarPicker:disabled{cursor:default}.mealChoice{font-size:10px;padding:5px 7px;margin:3px 4px 6px;white-space:normal}.mealDialog{width:min(760px,95vw);max-height:90vh}.mealFilters{display:grid;grid-template-columns:2fr 1fr;gap:12px}.mealResults{max-height:48vh;overflow:auto;margin:12px 0;display:grid;gap:8px}.mealResult{white-space:pre-wrap;text-align:left;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.mealDialog>.actions{justify-content:flex-end}@media(max-width:600px){.mealFilters{grid-template-columns:1fr}}

.reportSubnav{border-left:1px solid #668a7b;margin-left:12px;padding-left:6px}.sidebar nav .reportSubnav button{font-size:12px;padding:8px}.reportFilters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.reportHeader{border-bottom:2px solid var(--green);margin-bottom:16px;padding-bottom:10px}.reportHeader h2{font-size:17px;margin-bottom:5px}.reportHeader h1{font-size:25px;margin-top:20px}.reportHeader p{font-size:12px;margin:6px 0}.reportTable{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.reportTable th,.reportTable td{border:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere;line-height:1.5}.reportTable th{background:var(--light)}.reportTable th:first-child{width:12%}.reportTotal{font-size:13px}.reportTime{white-space:nowrap}.reportFooter{margin-top:20px;font-size:10px;color:var(--muted)}.reportDemo{font-size:12px;font-weight:bold;color:#875e13}@media(max-width:1000px){.reportFilters{grid-template-columns:1fr 1fr}#reportPaper{overflow:auto}.reportTable{min-width:850px}}@media(max-width:600px){.reportFilters{grid-template-columns:1fr}.reportSubnav{display:flex;border:0;margin:0}}
@page nutritionReport{size:A4 landscape;margin:12mm}
@media print{
 body:has(#reportPaper){background:white;color:#111;font-size:10pt}
 body:has(#reportPaper) .sidebar,body:has(#reportPaper) .topbar,body:has(#reportPaper) .main>:not(#reportPaper),body:has(#reportPaper) #toast,body:has(#reportPaper) dialog{display:none!important}
 body:has(#reportPaper) .shell{display:block;min-height:0}
 body:has(#reportPaper) .main{padding:0;margin:0}
 body:has(#reportPaper) #reportPaper{page:nutritionReport;display:block;overflow:visible;border:0;border-radius:0;margin:0;padding:0;box-shadow:none}
 body:has(#reportPaper) .reportTable{min-width:0;width:100%;font-size:9pt}
 body:has(#reportPaper) .reportTable th,body:has(#reportPaper) .reportTable td{padding:6px;border:1px solid #aaa}
 body:has(#reportPaper) .reportTable thead{display:table-header-group}
 body:has(#reportPaper) .reportTable tr{break-inside:avoid}
 body:has(#reportPaper) .reportHeader,body:has(#reportPaper) .reportFooter{break-inside:avoid}
 body:has(#reportPaper) .reportTime{white-space:normal}
}

.reportTable.clientsTable th:first-child{width:5%}.reportTable.clientsTable th:nth-child(2){width:22%}.reportTable.clientsTable th:nth-child(3){width:12%}.reportTable.clientsTable th:nth-child(4){width:23%}.reportTable.clientsTable th:nth-child(5){width:16%}.reportTable.clientsTable th:nth-child(6){width:16%}.reportTable.clientsTable th:nth-child(7){width:6%}

@media print{html:has(#reportPaper){background:white}}

.menuOrderSettings{border-bottom:1px solid var(--line);padding-bottom:20px}.menuOrderSettings ol{list-style:none;margin:14px 0;padding:0;max-width:650px}.menuOrderSettings li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;margin-bottom:6px;background:#f8fbf8}.menuOrderSettings li>div{display:flex;gap:5px}.menuOrderSettings li button{padding:6px 12px}.menuOrderSettings li button:disabled{cursor:default}

.appointmentClientPicker{border:1px solid var(--line);border-radius:8px;padding:12px;background:#f8fbf8}.appointmentClientPicker label+label{margin-top:12px}.appointmentClientPicker .hint{margin:8px 0 0}

.sidebar{background:var(--sidebar,#183c32)}.sidebar nav button.active{background:var(--sidebar-active,#315b4d)}button.primary{color:var(--on-accent,white)}input:focus,textarea:focus,select:focus{outline-color:var(--green)}.brand small{color:#d0e2d8}.themeSettings{border-bottom:1px solid var(--line);padding-bottom:20px}.themePickerRow{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.themePickerRow input[type=color]{display:block;width:80px;height:42px;padding:3px;cursor:pointer}.themePresets{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.themePresets button{display:flex;align-items:center;gap:7px}.themePresets span{display:inline-block;width:15px;height:15px;border-radius:50%;border:1px solid #0002}

.planTools{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0;margin-bottom:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.planTools button[aria-expanded=true]{background:var(--light);border-color:var(--green)}.previousLunchPanel{border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;padding:18px;margin-bottom:18px;background:var(--light)}.previousLunchPanel h2{font-size:17px;margin-bottom:6px}.previousLunchPanel>.hint{margin:6px 0 14px}.previousLunchDays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.previousLunchDay{background:var(--paper);border:1px solid var(--line);border-radius:6px;min-width:0}.previousLunchDay h3{font-size:12px;margin:0;padding:10px;border-bottom:1px solid var(--line)}.previousLunchDay h3 span{display:block;font-size:11px;font-weight:400;margin-top:5px}.previousLunchText{padding:10px;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}@media(max-width:1100px){.previousLunchDays{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:700px){.previousLunchDays{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.previousLunchDays{grid-template-columns:1fr}}@media print{.planTools,.previousLunchPanel{display:none!important}}
