@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Franklin:wght@600;700&display=swap');:root{--green:#173c34;--gold:#d69b30;--bg:#f4f3ef;--line:#e3e1dc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#29423b;font-family:'DM Sans',sans-serif;display:grid;grid-template-columns:235px 1fr;min-height:100vh}a{text-decoration:none;color:inherit}aside{background:var(--green);color:white;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;padding:0 8px 28px}.brand i{font-style:normal;background:var(--gold);width:39px;height:39px;border-radius:50%;display:grid;place-items:center}.brand b{font-size:12px;letter-spacing:1px}nav{border-top:1px solid #ffffff1c;padding-top:20px;display:grid;gap:5px}nav a{padding:12px;color:#aec1bc;font-size:12px}nav a.active{background:#ffffff18;color:white;border-left:3px solid var(--gold)}.logout{margin-top:auto;font-size:11px;color:#9eb2ac;padding:10px}main{padding:35px 40px;min-width:0}main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}header small{font-size:9px;letter-spacing:1px;color:#899793}h1,h2{font-family:'Libre Franklin';margin:5px 0}h1{font-size:26px}.profile{width:38px;height:38px;background:#d8ad5b;color:white;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.metrics article{background:white;border:1px solid #ebe9e4;padding:18px;display:flex;gap:12px;align-items:center}.metrics i{font-style:normal;width:40px;height:40px;background:#edf2ef;border-radius:50%;display:grid;place-items:center;color:#5f8075}.metrics p{margin:0;font-size:8px;color:#7a8984;display:flex;flex-direction:column}.metrics b{font-size:20px;color:#29423b;margin:3px 0}.metrics small{font-size:8px}.panel{background:white;border:1px solid #e8e5df}.panel-head{padding:18px 21px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-head h2{font-size:15px}.panel-head small{font-size:9px;color:#8e9b97}.panel-head input{border:1px solid var(--line);padding:9px;width:220px}.panel-head button,.drawer button{border:0;background:var(--gold);color:white;padding:10px 14px;font-weight:700}.row{display:grid;grid-template-columns:1.1fr 1.2fr 1.2fr .8fr .6fr;gap:12px;align-items:center;padding:13px 21px;border-bottom:1px solid #efede9;font-size:10px}.row:hover{background:#fbfaf7}.row.labels{font-size:8px;color:#98a39f;background:#faf9f6}.row span{display:flex;flex-direction:column}.row small{color:#97a29f;font-size:8px;margin-top:2px}.dog{flex-direction:row!important;align-items:center;gap:8px}.dog>i{width:34px;height:34px;background:#dcc48b;color:white;border-radius:50%;display:grid;place-items:center;font-style:normal}.status{font-style:normal;padding:5px 8px;border-radius:20px;width:max-content;font-size:8px;font-weight:700}.status.new{background:#f7ead0;color:#986716}.status.confirmed{background:#e5f1e9;color:#3a754f}.status.checked_in{background:#e4ecf4;color:#426a87}.status.completed{background:#e9e9e7;color:#65716e}.status.cancelled{background:#f7e5e2;color:#9c493b}.empty{text-align:center;padding:30px;color:#81908b}.shade{position:fixed;inset:0;background:#0c241e70;display:flex;justify-content:flex-end}.drawer{width:min(430px,100%);height:100%;background:white;padding:33px;overflow:auto;position:relative}.close{position:absolute;right:19px;top:12px;font-size:29px}.overline,.drawer h3{font-size:8px;letter-spacing:1px;color:#98691a}.drawer h2{font-size:24px}.dates{display:flex;gap:35px;background:#f6f3ec;padding:15px;margin:22px 0}.dates span{display:flex;flex-direction:column}.dates small{font-size:8px;color:#889590}.dates b{font-size:10px}.drawer h3{border-bottom:1px solid var(--line);padding-bottom:8px;margin-top:24px}.drawer dl div{display:flex;justify-content:space-between;font-size:10px;padding:5px}.drawer dd{margin:0}.ok{color:#398157}.drawer p{font-size:10px;line-height:1.6}.total{background:var(--green);color:white;padding:16px;display:flex;justify-content:space-between;margin:20px 0}.drawer form label{display:flex;justify-content:space-between;font-size:10px;font-weight:700}.drawer select{padding:9px}.login{display:grid;place-items:center;background:var(--green)}.login form{background:white;width:min(390px,90%);padding:38px;text-align:center}.login .logo{width:60px;height:60px;background:var(--gold);color:white;border-radius:50%;display:grid;place-items:center;margin:auto;font-size:27px}.login p{font-size:9px;letter-spacing:2px;color:#98691a;margin-top:15px}.login h1{margin-bottom:24px}.login label{text-align:left;display:block;font-size:11px;font-weight:700}.login input{display:block;width:100%;padding:12px;margin:7px 0 15px;border:1px solid var(--line)}.login button{width:100%;background:var(--gold);border:0;color:white;padding:13px;font-weight:700}.login a{display:block;font-size:10px;color:#71817c;margin-top:18px}.alert{background:#fae2dd;color:#963b2e;padding:10px;font-size:10px;margin-bottom:12px}
@media(max-width:900px){body{grid-template-columns:75px 1fr}aside{padding:20px 10px}.brand b,nav a{font-size:0}.brand{padding-left:7px}.brand i{font-size:16px}nav a:first-letter{font-size:20px}.metrics{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr 1fr 1fr}.row span:nth-child(4),.row span:nth-child(5){display:none}}
@media(max-width:600px){body{display:block}aside{position:relative;height:auto}.brand b{display:block;font-size:11px}nav,.logout{display:none}main{padding:20px 12px}.metrics{grid-template-columns:1fr}.panel-head{flex-direction:column;gap:12px}.panel-head input{width:100%}.row{grid-template-columns:1fr 1fr;padding:11px}.row span:nth-child(2){display:none}.drawer{padding:28px 20px}}

/* Expliciete boekingsactie: de hele rij en de knop openen hetzelfde dossier. */
.table a.row{grid-template-columns:1.1fr 1.2fr 1.2fr .8fr .6fr 88px;cursor:pointer;position:relative}
.table a.row::after{content:"Bekijken →";display:block;background:var(--gold);color:white;border-radius:3px;padding:9px 8px;text-align:center;font-weight:700}
.table a.row:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.table .row.labels{grid-template-columns:1.1fr 1.2fr 1.2fr .8fr .6fr 88px}
.table .row.labels::after{content:"ACTIE"}
@media(max-width:900px){.table a.row,.table .row.labels{grid-template-columns:1fr 1fr 1fr 82px}.table a.row::after{grid-column:4}}
@media(max-width:600px){.table a.row,.table .row.labels{grid-template-columns:1fr 1fr 78px}.table a.row::after{grid-column:3;padding:8px 5px;font-size:9px}}

.agenda-banner{background:var(--green);color:white;padding:18px 22px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;border-left:5px solid var(--gold)}.agenda-banner span{display:flex;flex-direction:column}.agenda-banner small{color:#b8cbc5;margin-top:4px}.agenda-banner strong{color:var(--gold)}.saved{background:#e5f1e9;color:#34734c;padding:9px;font-size:10px}.dossier-form{display:grid;gap:13px}.dossier-form label{display:grid!important;gap:5px}.dossier-form input,.dossier-form select{width:100%;border:1px solid var(--line);padding:10px;background:white}.calendar-tools{display:flex;justify-content:space-between;background:white;border:1px solid var(--line);padding:12px 17px;margin-bottom:12px}.calendar-tools a{font-size:10px;font-weight:700;color:#8e651b}.calendar-legend{display:flex;gap:20px;margin:14px 0;font-size:10px}.calendar-legend span{display:flex;gap:6px;align-items:center}.calendar-legend i{width:10px;height:10px;border-radius:3px}.calendar-legend .stay{background:#d7e5df}.calendar-legend .daycare{background:#f4dfb6}.calendar-legend .checked{background:#8eb5a7}.dog-calendar{background:white;border:1px solid var(--line);overflow:auto}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));background:var(--green);color:white}.weekdays b{padding:10px;text-align:center;font-size:9px;letter-spacing:1px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr))}.calendar-grid>article{min-height:150px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;background:#fff}.calendar-grid>article.outside{background:#f7f6f3;opacity:.6}.calendar-grid>article.today{box-shadow:inset 0 0 0 3px var(--gold)}.calendar-grid article>header{display:flex;justify-content:space-between;margin-bottom:7px}.calendar-grid article>header b{font-size:12px}.calendar-grid article>header small{font-size:8px;color:#8c9995}.calendar-grid article>div{display:grid;gap:5px}.dog-chip{padding:6px 7px;border-radius:3px;display:flex;flex-direction:column;background:#dce9e4;border-left:3px solid #5d8a7a}.dog-chip.daycare{background:#f7e8c9;border-left-color:#cf962d}.dog-chip.checked{box-shadow:inset 0 0 0 2px #5f927f}.dog-chip strong{font-size:10px}.dog-chip span{font-size:8px;color:#657872;margin-top:2px}.calendar-note{font-size:10px;color:#788984;margin-top:12px}
@media(max-width:600px){.agenda-banner{align-items:flex-start;gap:12px;flex-direction:column}.calendar-tools{gap:8px}.calendar-tools a{font-size:9px}.calendar-legend{flex-wrap:wrap}.dog-calendar{margin-right:-12px}.calendar-grid>article{min-height:130px}}

/* Rustige weekagenda: elke dag heeft een eigen kaart en elke hond een vaste rij. */
.save-error{background:#f9e4df;color:#943f32;padding:10px;border-left:3px solid #bd5a49;font-size:10px}.week-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:white;border:1px solid var(--line);padding:12px 17px;margin-bottom:12px}.week-toolbar a{font-size:10px;font-weight:700;color:#8e651b}.week-toolbar a:last-child{text-align:right}.week-toolbar .today-link{background:var(--green);color:white;border-radius:3px;padding:8px 14px}.week-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.day-card{background:white;border:1px solid var(--line);min-width:0}.day-card.today{border:2px solid var(--gold);box-shadow:0 6px 18px #173c3412}.day-card>header{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line);background:#faf9f6}.day-card.today>header{background:#fbf3e4}.day-card h2{font-size:16px;margin:2px 0 0}.day-card>header small{font-size:8px;color:#8e651b;font-weight:700;letter-spacing:1px}.day-card>header>strong{font-size:10px;background:#edf2ef;padding:6px 9px;border-radius:20px}.day-dogs{padding:9px;display:grid;gap:7px;min-height:65px}.agenda-dog{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border-radius:4px;background:#edf4f1;border-left:4px solid #5d8a7a}.agenda-dog.daycare{background:#fbf0da;border-left-color:#cf962d}.agenda-dog.checked{box-shadow:inset 0 0 0 2px #75a593}.dog-initial{width:34px;height:34px;border-radius:50%;background:white;display:grid;place-items:center;font-weight:700;color:var(--green)}.dog-info,.dog-meta{display:flex;flex-direction:column;min-width:0}.dog-info strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dog-info small,.dog-meta small{font-size:8px;color:#73847f;margin-top:2px}.dog-meta{text-align:right}.dog-meta b{font-size:8px;color:#466c60}.no-dogs{margin:auto;color:#98a39f;font-size:10px}.dossier-form button{font-size:11px;padding:12px;cursor:pointer}
@media(max-width:900px){.week-list{grid-template-columns:1fr}}
@media(max-width:600px){.week-toolbar{padding:9px;gap:5px}.week-toolbar a{font-size:8px}.week-toolbar .today-link{padding:7px}.agenda-dog{grid-template-columns:34px minmax(0,1fr)}.dog-meta{grid-column:2;text-align:left;flex-direction:row;gap:8px}.day-card>header{padding:12px}}
