/* NeVedem mobile agenda. GPL-3.0-or-later. */
:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#173c36;background:#f3f7f5;line-height:1.5;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:#176c5d}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c9752b;outline-offset:3px}.agenda{max-width:1000px;margin:auto;padding:20px}.agenda-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 0 22px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;margin:0 0 6px;color:#53746b}h1{font-size:22px;line-height:1.25;margin:0}h2{font-size:20px;margin:0}.text-link{font-size:14px;white-space:nowrap;padding:12px 0}.day-panel{background:#18665a;color:white;padding:16px;border-radius:18px}.day-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.day-filter{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.day-filter label{flex:1;min-width:130px}label{display:grid;gap:5px;font-size:13px}input,select{width:100%;min-width:0;min-height:46px;padding:9px 10px;border:1px solid #cbd9d3;border-radius:10px;background:white;color:#173c36;font-size:16px}.button{min-height:46px;padding:10px 16px;border:1px solid #cbd9d3;border-radius:10px;background:white;color:#174b41;text-align:center;text-decoration:none;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.primary{background:#f0e5c9;border-color:#f0e5c9}.day-summary{font-size:14px;color:#526c64;margin:22px 0 12px}.appointments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.appointment{padding:20px;border:1px solid #dce6e0;border-radius:16px;background:white;box-shadow:0 3px 12px #1c433208;overflow-wrap:anywhere}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}time{font-size:25px;font-weight:700;letter-spacing:-.04em}.status{font-size:12px;font-weight:600;border-radius:20px;background:#edf2ee;padding:5px 10px}.service{margin:5px 0 10px;color:#5b7168;font-size:14px}.phone{display:inline-flex;align-items:center;min-height:44px;font-size:18px;font-weight:650;text-decoration:none}.detail{font-size:14px;margin:8px 0;color:#5b7168}.status-form{border-top:1px solid #edf1ee;margin-top:16px;padding-top:14px;display:flex;gap:8px;align-items:end}.status-form label{flex:1}.notice{padding:12px;background:#e5eed7;border-radius:10px}.empty{padding:34px 20px;border:1px dashed #b6cbc0;border-radius:16px;text-align:center}.empty p{color:#5b7168}footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:28px 0 10px;font-size:12px;color:#5b7168}@media(max-width:600px){.agenda{padding:16px}.agenda-header{align-items:start;flex-direction:column;gap:3px}h1{font-size:21px}.text-link{padding:8px 0}.appointments{grid-template-columns:1fr}.appointment{padding:17px}.day-filter label{min-width:140px}.day-filter>.button{flex:1}.status-form .button{padding:10px 12px}}
/* Daily/weekly occupancy grid. */
.slot-legend{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.slot-legend span{padding:5px 10px;border-radius:6px}.free{background:#f5f7f6;color:#52655d}.busy{background:#b42332;color:#fff}.break{background:#fff1cf;color:#725213}.blocked{background:#f8dedd;color:#8a2923}.closed{background:#e9edef;color:#59666b}.schedule-scroll{overflow-x:auto;border-radius:12px;margin:18px 0;max-width:100%}.schedule{display:grid;gap:12px;align-items:start}.schedule.week{grid-template-columns:repeat(7,minmax(220px,1fr))}.schedule.day{grid-template-columns:minmax(0,1fr)}.schedule-day{background:#fff;border:1px solid #dce6e0;border-radius:12px;padding:12px;min-width:0}.schedule-day h3{margin:0 0 10px;font-size:16px}.provider-lanes{display:flex;gap:10px}.provider-lane{flex:1;min-width:145px}.week .provider-lanes{flex-direction:column}.provider-lane h4{margin:0 0 8px;font-size:13px;min-height:36px}.time-slot{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:7px 9px;margin-bottom:4px;border-radius:6px;font-size:12px;text-decoration:none}.time-slot.busy,.time-slot.blocked{border-left:4px solid currentColor}.time-slot b{font-size:14px;font-variant-numeric:tabular-nums}.no-hours{padding:12px;border-radius:6px}.details-heading{margin:24px 0 12px}.appointment summary{cursor:pointer;min-height:44px}.appointment summary .card-top{margin-bottom:3px}.appointment summary>span:last-child{font-size:13px;color:#5b7168}.appointment[open] summary{border-bottom:1px solid #e3eae5;padding-bottom:12px;margin-bottom:12px}.appointment:target{outline:3px solid #c9752b}.card-top time{font-size:20px}.day-nav h2{font-size:18px}@media(max-width:600px){.schedule.day{min-width:max-content}.day .provider-lane{width:150px;flex:none}.schedule.week{grid-template-columns:repeat(7,240px)}}
.provider-lane{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-content:start}.provider-lane h4,.provider-lane .no-hours{grid-column:1/-1}.time-slot{margin:0;flex-direction:column;gap:0;padding:4px;min-height:48px}.day .provider-lane:only-child{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.day .provider-lane{min-width:160px}.schedule.day{min-width:0}.provider-lanes{overflow-x:auto}.provider-lane h4{min-height:0}

.time-slot{justify-content:center}.time-slot b{font-size:12px;text-align:center}.time-slot.busy{border-left-color:#761623}
.nv-brand-credit{flex-basis:100%;text-align:center;padding:22px 12px 12px;border-top:1px solid #dce6e0;margin-top:8px}.nv-brand-credit>strong{display:block;font-size:25px;line-height:1.3;color:#174b41}.nv-creator-credit{display:block;font-size:16px;line-height:1.55;font-weight:600;color:#244d43;margin-top:6px}.nv-platform-credit{display:block;font-size:11px;font-weight:400;color:#65776e;margin-top:14px}.nv-platform-credit a{color:inherit}
.client-access-form{border-top:1px solid #edf1ee;margin-top:16px;padding-top:14px}.client-access-button{margin-top:10px;color:#8b1e29;border-color:#b42332}.blocked-list{margin-top:26px;padding:18px;border:1px solid #dce6e0;border-radius:16px;background:#fff}.blocked-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #edf1ee}.blocked-list small{display:block;color:#5b7168}.blocked-list form{flex:none}
.email{display:block;max-width:max-content;min-height:38px;padding-top:6px;overflow-wrap:anywhere}
