:root{
  --navy:#062443;
  --navy-2:#073254;
  --teal:#08a9ad;
  --teal-dark:#07878e;
  --teal-soft:#e8f8f8;
  --aqua:#dff6f7;
  --ink:#10233f;
  --text:#3e4d63;
  --muted:#77849a;
  --line:#e5ebf1;
  --surface:#ffffff;
  --canvas:#f5f8fb;
  --green:#4caf77;
  --purple:#7757d5;
  --orange:#f2a33b;
  --red:#ef6671;
  --blue:#4087d8;
  --shadow:0 8px 25px rgba(22,48,72,.07);
  --radius:16px;
  --sidebar:204px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,"Nunito Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#062443 0%,#07395b 65%,#062a48 100%);color:white;padding:18px 12px 14px;display:flex;flex-direction:column;z-index:40;box-shadow:10px 0 28px rgba(5,35,61,.09)}
.sidebar-brand{height:56px;display:flex;align-items:center;padding:0 10px 10px}.sidebar-brand img{width:145px;max-height:52px;object-fit:contain;object-position:left center}
.sidebar-cta{width:100%;height:44px;border:0;border-radius:11px;background:linear-gradient(135deg,#18bec1,#08a0a6);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 16px rgba(0,167,171,.25);margin:7px 0 12px}.sidebar-cta svg{width:18px}
.side-nav{display:flex;flex-direction:column;gap:4px}
.nav-item{height:42px;border:0;border-radius:9px;background:transparent;color:#dce9f2;display:grid;grid-template-columns:26px 1fr auto;align-items:center;text-align:left;padding:0 11px;gap:8px;font-weight:650;transition:.2s}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-item.active{background:linear-gradient(90deg,#0ea5ad,#078f99);color:#fff;box-shadow:0 5px 15px rgba(0,168,173,.22)}.nav-item b{min-width:23px;height:21px;padding:0 7px;border-radius:20px;background:#0ab1b6;color:#fff;font-size:11px;display:grid;place-items:center}
.support-card{margin-top:auto;background:linear-gradient(180deg,rgba(12,155,166,.75),rgba(5,109,126,.9));border-radius:14px;text-align:center;padding:14px 11px 0;overflow:hidden}.support-card h3{font-size:14px;margin:0 0 4px}.support-card p{font-size:10px;line-height:1.45;color:#d8f4f5;margin:0 0 9px}.support-card button{height:32px;width:100%;border:0;border-radius:8px;background:#12bcc0;color:white;font-weight:800;font-size:11px}.support-card img{height:115px;width:100%;object-fit:cover;object-position:center 55%;mix-blend-mode:screen;margin-top:8px;filter:saturate(.95)}
.workspace{margin-left:var(--sidebar);min-height:100vh}
.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:24px;position:sticky;top:0;z-index:30}.page-title{min-width:310px}.page-title h1{font-size:22px;letter-spacing:-.5px;margin:0 0 3px;font-weight:850}.page-title p{margin:0;color:var(--muted);font-size:11px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.global-search{height:39px;width:245px;border:1px solid var(--line);background:#fbfcfd;border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 12px}.global-search svg{width:17px;color:#8190a5}.global-search input{border:0;outline:0;background:transparent;width:100%;font-size:12px}.icon-button{border:0;background:#fff;width:39px;height:39px;border-radius:9px;display:grid;place-items:center;color:#4d5f78;position:relative}.icon-button:hover{background:#f2f7f9}.notification span{position:absolute;right:1px;top:-2px;width:17px;height:17px;border-radius:50%;background:#e94450;color:white;font-size:10px;display:grid;place-items:center;border:2px solid #fff}.profile-menu{height:50px;border-left:1px solid var(--line);padding-left:16px;display:grid;grid-template-columns:39px auto 18px;align-items:center;gap:10px}.profile-menu img{width:38px;height:38px;border-radius:50%;object-fit:cover}.profile-menu strong,.profile-menu small{display:block}.profile-menu strong{font-size:12px}.profile-menu small{font-size:10px;color:var(--muted);margin-top:2px}.profile-menu>svg{width:15px;color:#6f7d90}.mobile-menu{display:none;border:0;background:transparent;width:38px;height:38px}
.content{padding:20px 22px 30px;max-width:1660px;margin:0 auto}
.view{display:none}.view.active{display:block}.module-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.module-header h2{font-size:23px;margin:0 0 4px}.module-header p{margin:0;color:var(--muted);font-size:12px}
.button{height:39px;border-radius:9px;border:1px solid transparent;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:12px;transition:.2s}.button svg{width:16px;height:16px}.button.primary{background:linear-gradient(135deg,#0ab1b6,#06949c);color:#fff;box-shadow:0 5px 14px rgba(4,156,162,.19)}.button.primary:hover{filter:brightness(.97);transform:translateY(-1px)}.button.secondary{background:#fff;border-color:#d8e2e9;color:#405168}.button.ghost{background:#f6fbfb;border-color:#cce8e9;color:#087e84}.button.small{height:33px;padding:0 12px;font-size:10px}.text-button{border:0;background:transparent;color:#078f95;font-weight:800;font-size:10px;display:flex;align-items:center;gap:4px}.text-button svg{width:13px}.full-link{width:100%;border:1px solid #dce9ed;background:#fff;color:#09858c;height:32px;border-radius:8px;font-weight:800;font-size:10px;display:flex;align-items:center;justify-content:center;gap:5px}.full-link svg{width:13px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-header{min-height:61px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef2f5}.panel-header h2{font-size:15px;margin:0 0 2px;display:flex;align-items:center;gap:7px}.panel-header p{font-size:10px;color:var(--muted);margin:0}.title-icon{width:18px;color:var(--teal)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr)) minmax(205px,1.3fr);gap:12px;margin-bottom:16px}.kpi,.date-card{background:#fff;border:1px solid var(--line);border-radius:14px;min-height:81px;display:flex;align-items:center;padding:12px 14px;gap:12px;box-shadow:0 4px 13px rgba(31,57,80,.035)}.kpi-icon{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;flex:none}.kpi-icon svg{width:24px;height:24px;stroke-width:2}.kpi-icon.teal{background:#d9f5f5;color:#04979e}.kpi-icon.purple{background:#eee7ff;color:#7042ca}.kpi-icon.green{background:#ddf4e6;color:#159657}.kpi-icon.orange{background:#fff0dc;color:#ef9024}.kpi span{display:block;color:#728096;font-size:10px}.kpi strong{display:inline-block;font-size:24px;line-height:1.05;margin-top:2px}.kpi small{display:block;font-size:9px;color:#5a9f86;margin-top:3px}.date-card>svg{width:26px;color:#46607a}.date-card>div{width:100%}.date-card strong{display:block;font-size:11px;margin-bottom:9px}.date-card>div>div{display:flex;justify-content:space-between;align-items:center;color:#718096;font-size:10px}.date-card button{border:0;background:transparent;color:#718096;padding:3px}.date-card button svg{width:14px}
.dashboard-grid{display:grid;gap:14px;margin-bottom:14px}.top-grid{grid-template-columns:minmax(580px,1.55fr) minmax(355px,.95fr)}.middle-grid{grid-template-columns:1.15fr .76fr .8fr}.bottom-grid{grid-template-columns:1.25fr .78fr .9fr}
.calendar-toolbar{gap:12px}.calendar-toolbar>div:first-child{margin-right:auto}.segmented{height:31px;background:#f2f6f8;border-radius:7px;padding:3px;display:flex}.segmented button{min-width:52px;border:0;background:transparent;border-radius:5px;font-size:9px;color:#6d7b90;font-weight:700}.segmented button.active{background:var(--teal);color:white;box-shadow:0 2px 7px rgba(0,155,160,.18)}.calendar-navigation{display:flex;align-items:center;gap:7px}.calendar-navigation button{border:0;background:transparent;color:#65748a;padding:4px}.calendar-navigation button svg{width:14px}.calendar-navigation strong{font-size:9px;color:#65748a;white-space:nowrap}
.calendar-scroll{overflow:auto}.week-calendar{display:grid;grid-template-columns:54px repeat(7,minmax(72px,1fr));grid-template-rows:35px repeat(12,38px);min-width:680px;position:relative}.week-calendar.expanded{grid-template-rows:40px repeat(12,48px);min-width:970px}.cal-corner,.cal-day,.cal-time,.cal-cell{border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4}.cal-day{display:flex;align-items:center;justify-content:center;font-size:9px;color:#5d6c82;font-weight:700;gap:5px}.cal-day.today strong{background:var(--teal);color:white;border-radius:50%;width:23px;height:23px;display:grid;place-items:center}.cal-time{font-size:8px;color:#8390a3;padding:7px 7px;text-align:right}.cal-cell{position:relative}.calendar-event{position:absolute;z-index:2;left:4px;right:4px;top:4px;min-height:31px;border-radius:5px;padding:4px 5px;font-size:7px;line-height:1.15;border:1px solid;overflow:hidden}.calendar-event strong{display:block;font-size:8px}.calendar-event span{display:block;margin-top:2px}.calendar-event.consult{background:#e8f8f6;border-color:#9bdad4;color:#14776f}.calendar-event.vaccine{background:#edf7e9;border-color:#b8dfaa;color:#4e8543}.calendar-event.grooming{background:#f1ebfb;border-color:#cdb7ef;color:#714fb1}.calendar-event.surgery{background:#fff0f0;border-color:#f6b1b5;color:#b24950}.calendar-event.lab{background:#ecf3ff;border-color:#b1ccef;color:#3567a8}.calendar-event.urgent{background:#fff1e8;border-color:#f4b88f;color:#b76534}.current-line{position:absolute;left:54px;right:0;height:1px;background:#ef5b64;z-index:4}.current-line:before{content:"";width:6px;height:6px;border-radius:50%;background:#ef5b64;position:absolute;left:-3px;top:-2px}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:17px;padding:9px 12px;font-size:8px;color:#6e7b8e}.calendar-legend span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.calendar-legend .consult:before{background:#22a9a1}.calendar-legend .vaccine:before{background:#74b35d}.calendar-legend .grooming:before{background:#8560cb}.calendar-legend .surgery:before{background:#df6f76}.calendar-legend .lab:before{background:#578ace}.calendar-legend .urgent:before{background:#ef9b60}
.reservation-form{padding:14px 16px 15px;display:grid;grid-template-columns:1fr 1fr;gap:11px 12px}.reservation-form label,.filter-form label,.settings-card label{display:block;font-size:9px;font-weight:800;color:#48566c}.reservation-form input,.reservation-form select,.reservation-form textarea,.filter-form input,.filter-form select,.settings-card input,.settings-card select,.module-filters input,.module-filters select,.full-calendar-panel select{width:100%;border:1px solid #dfe7ed;background:#fff;border-radius:7px;outline:0;margin-top:5px;padding:0 10px;font-size:10px}.reservation-form input,.reservation-form select{height:34px}.reservation-form textarea{min-height:34px;padding-top:8px;resize:vertical}.input-with-action{display:grid;grid-template-columns:1fr 34px}.input-with-action select{border-radius:7px 0 0 7px}.input-with-action button{margin-top:5px;border:1px solid #dfe7ed;border-left:0;border-radius:0 7px 7px 0;background:#fff;color:#7190a0}.input-with-action button svg{width:14px}.form-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:2px}
.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:610px}.table-wrap.large table{min-width:940px}th{text-align:left;color:#6b788d;font-size:8px;font-weight:800;padding:8px 10px;background:#fbfcfd;border-bottom:1px solid #edf1f4}td{font-size:9px;padding:8px 10px;border-bottom:1px solid #eef2f5;color:#4c5a6f}tbody tr:hover{background:#fbfefe}.patient-cell{display:flex;align-items:center;gap:8px}.patient-cell img{width:25px;height:25px;border-radius:50%;object-fit:cover}.patient-cell strong{display:block;color:#24354e}.patient-cell span{font-size:8px;color:#8895a7}.status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:15px;font-size:7.5px;font-weight:800}.status.confirmed{background:#e4f5e9;color:#438654}.status.pending{background:#fff1dc;color:#b87725}.status.waiting{background:#e7f2ff;color:#3f76b6}.status.cancelled{background:#ffe8ea;color:#c0525b}.row-actions{display:flex;gap:4px}.row-actions button{border:1px solid #e1e8ed;background:#fff;border-radius:6px;width:25px;height:25px;display:grid;place-items:center;color:#718096}.row-actions button:hover{color:var(--teal);border-color:#b8dfe0}.row-actions svg{width:12px}.panel-footer{height:38px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;color:#8a96a6;font-size:8px}
.mini-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:11px}.mini-service{border:1px solid #e8eef2;border-radius:9px;padding:8px;min-height:102px}.mini-service img{width:33px;height:33px;object-fit:cover;margin-bottom:6px}.mini-service h3{font-size:9px;margin:0 0 4px}.mini-service p{font-size:7.5px;line-height:1.35;color:#778498;margin:0}.services-panel .full-link{width:calc(100% - 22px);margin:0 11px 11px}
.vet-list{padding:6px 14px 10px}.vet-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #eef2f5}.vet-row:last-child{border-bottom:0}.vet-row img{width:32px;height:32px;border-radius:50%;object-fit:cover}.vet-row strong,.vet-row span{display:block}.vet-row strong{font-size:9px}.vet-row span{font-size:7.5px;color:#8390a2;margin-top:2px}.time-slots{display:flex;gap:4px}.time-slots b{font-size:7px;padding:5px 6px;border-radius:5px;background:#eaf8f8;color:#087f84;border:1px solid #bce6e7;font-weight:800}
.pet-profile-panel{display:grid;grid-template-columns:150px 1fr 160px;overflow:hidden;min-height:172px}.pet-cover{width:100%;height:100%;object-fit:cover;object-position:63% center}.pet-info{padding:16px}.pet-name{display:flex;align-items:flex-start;justify-content:space-between}.pet-name h2{margin:0;font-size:21px}.pet-name h2 span{color:#348ad6}.pet-name p{margin:2px 0 0;color:#778498;font-size:10px}.frequent{font-size:7px;background:#e8f6e9;color:#3f9256;border-radius:12px;padding:4px 6px;white-space:nowrap}.pet-info dl{margin:12px 0 0;display:grid;gap:6px}.pet-info dl div{display:flex;justify-content:space-between;font-size:8px}.pet-info dt{color:#7a8798}.pet-info dd{margin:0;color:#34455e;font-weight:700}.next-appointment{background:#f8fbfc;padding:15px;border-left:1px solid #e9eef1}.next-appointment h3{font-size:11px;margin:0 0 9px}.next-appointment p{font-size:8px;margin:6px 0;color:#58697f;display:flex;gap:6px;align-items:center}.next-appointment p svg{width:13px;color:#07999f}.next-appointment strong{display:block;font-size:8px;margin:9px 0}.next-appointment .button{width:100%}
.success-card{text-align:center;padding:20px 12px;background:linear-gradient(180deg,#effbfb,#fff)}.success-icon{width:58px;height:58px;border-radius:50%;margin:0 auto 9px;background:#cfeeed;border:9px solid #e6f7f6;display:grid;place-items:center;color:#13a786}.success-icon svg{width:26px;stroke-width:3}.success-card h2{font-size:16px;color:#07868c;margin:0 0 7px}.success-card p{font-size:9px;line-height:1.45;color:#6e7b8e}.success-card>div:last-child{display:flex;justify-content:center;gap:7px;margin-top:12px}
.filters-panel .panel-header{min-height:55px}.filter-form{padding:10px 13px 14px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.filter-form .wide{grid-column:1/-1}.filter-form input,.filter-form select{height:32px}.search-field{height:34px;border:1px solid #dfe7ed;border-radius:7px;display:flex;align-items:center;gap:8px;padding:0 9px;background:#fff}.search-field svg{width:14px;color:#7d8a9e}.search-field input{margin:0;border:0;padding:0;height:auto;outline:0;background:transparent}.filter-form .button{grid-column:2;height:32px}
.full-calendar-panel .panel-header{gap:15px}.full-calendar-panel .panel-header select{width:180px;height:33px;margin:0}.full-calendar-panel .calendar-navigation{margin-left:auto}.module-filters{display:grid;grid-template-columns:1.6fr repeat(3,1fr) auto;gap:10px;padding:12px;margin-bottom:14px}.module-filters input,.module-filters select{height:35px;margin:0}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.person-card,.pet-module-card,.service-module-card,.vet-module-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:16px}.person-card .person-top{display:flex;align-items:center;gap:11px}.person-card img{width:45px;height:45px;border-radius:50%;object-fit:cover}.person-card h3{font-size:14px;margin:0 0 3px}.person-card p{font-size:9px;color:#7a8798;margin:0}.person-meta{margin-top:13px;display:grid;gap:7px}.person-meta span{font-size:9px;color:#5c6d82;display:flex;align-items:center;gap:7px}.person-meta svg{width:13px;color:#0b9ca2}.card-actions{display:flex;gap:7px;margin-top:14px}.card-actions .button{flex:1}
.pet-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pet-module-card{padding:0;overflow:hidden}.pet-module-card>img{width:100%;height:145px;object-fit:cover}.pet-module-card .pet-card-body{padding:14px}.pet-module-card h3{margin:0;font-size:15px}.pet-module-card .breed{font-size:9px;color:#7c8999}.pet-module-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.pet-module-card dl div{background:#f6f9fb;border-radius:7px;padding:7px}.pet-module-card dt{font-size:7px;color:#8793a3}.pet-module-card dd{font-size:9px;margin:2px 0 0;font-weight:800}.pet-module-card .button{width:100%}
.service-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-module-card{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start}.service-module-card img{width:52px}.service-module-card h3{font-size:14px;margin:2px 0 5px}.service-module-card p{font-size:9px;color:#748196;line-height:1.4;margin:0}.service-module-card .service-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef2f5;padding-top:11px;margin-top:4px}.service-module-card .service-price strong{color:#088e94}.service-module-card .service-price span{font-size:9px;color:#7b8898}
.vet-module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.vet-module-card{text-align:center}.vet-module-card>img{width:78px;height:78px;border-radius:50%;object-fit:cover;margin:0 auto 9px;border:5px solid #ebf7f7}.vet-module-card h3{font-size:14px;margin:0}.vet-module-card>span{font-size:9px;color:#079aa0;font-weight:700}.vet-module-card p{font-size:9px;color:#778498;line-height:1.4}.availability-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.availability-chips b{font-size:8px;padding:5px 7px;border-radius:5px;background:#eff9f9;color:#07858b}
.report-grid{display:grid;grid-template-columns:1.5fr 1.1fr .8fr;gap:14px}.chart-panel,.report-list{padding:17px}.chart-panel h3,.report-list h3{font-size:14px;margin:0 0 16px}.bar-chart{height:260px;display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid #dfe6ec;padding:0 10px 23px;position:relative}.bar-group{height:100%;width:40px;display:flex;align-items:flex-end;position:relative}.bar-group i{display:block;width:100%;background:linear-gradient(180deg,#20bec0,#078f97);border-radius:7px 7px 2px 2px}.bar-group span{position:absolute;bottom:-19px;left:50%;transform:translateX(-50%);font-size:8px;color:#778498}.bar-group b{position:absolute;top:calc(100% - var(--height) - 20px);left:50%;transform:translateX(-50%);font-size:8px;color:#3e4d63}.donut-wrap{display:flex;align-items:center;gap:25px}.donut{width:155px;height:155px;border-radius:50%;background:conic-gradient(var(--teal) 0 42%,#65bd7a 42% 66%,#8160d5 66% 85%,#f2a33b 85%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:98px;height:98px;border-radius:50%;background:#fff}.donut span{position:relative;z-index:1;font-size:27px;font-weight:900}.donut small{display:block;font-size:9px;color:#8090a0}.donut-wrap ul{list-style:none;margin:0;padding:0;flex:1}.donut-wrap li{display:grid;grid-template-columns:12px 1fr auto;gap:7px;align-items:center;font-size:9px;padding:8px 0;border-bottom:1px solid #edf1f4}.donut-wrap i{width:8px;height:8px;border-radius:50%}.teal-dot{background:var(--teal)}.green-dot{background:#65bd7a}.purple-dot{background:#8160d5}.orange-dot{background:#f2a33b}.report-list p{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1f4;font-size:10px}.report-list p span{color:#788599}.report-list p strong{color:#17314d}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-card{padding:20px}.settings-card h3{font-size:15px;margin:0 0 15px}.settings-card label{margin-bottom:12px}.settings-card input,.settings-card select{height:37px}.toggle-row{display:flex!important;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f4;padding:12px 0;margin:0!important}.toggle-row input{width:41px;height:22px;accent-color:var(--teal)}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,24,43,.62);display:grid;place-items:center;padding:20px;z-index:100;opacity:0;visibility:hidden;transition:.2s}.modal-backdrop.open{opacity:1;visibility:visible}.modal-card{width:min(650px,96vw);background:#fff;border-radius:19px;box-shadow:0 25px 60px rgba(0,0,0,.24);padding:22px;position:relative;transform:translateY(15px);transition:.2s}.modal-backdrop.open .modal-card{transform:none}.modal-close{position:absolute;right:16px;top:16px;width:35px;height:35px;border:0;border-radius:50%;background:#f3f6f8;display:grid;place-items:center}.modal-close svg{width:16px}.modal-heading{display:flex;align-items:center;gap:12px;padding-right:40px}.modal-heading h2{margin:0 0 3px;font-size:20px}.modal-heading p{margin:0;color:#7c899a;font-size:11px}.modal-paw{width:47px;height:47px;border-radius:13px;background:#e5f7f7;color:#079da3;display:grid;place-items:center}.modal-paw svg{width:25px}.modal-form{padding:20px 0 0}.modal-form .full{grid-column:1/-1}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;visibility:hidden;background:#082a48;color:#fff;border-radius:10px;padding:12px 18px;font-size:12px;font-weight:700;z-index:120;box-shadow:0 12px 30px rgba(0,0,0,.22);transition:.25s}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:1280px){:root{--sidebar:185px}.sidebar-brand img{width:134px}.topbar{padding-inline:20px}.global-search{width:190px}.profile-menu div{display:none}.profile-menu{grid-template-columns:38px 17px}.content{padding-inline:16px}.kpi-grid{grid-template-columns:repeat(4,1fr)}.date-card{grid-column:1/-1;min-height:58px}.top-grid{grid-template-columns:1.4fr .9fr}.middle-grid{grid-template-columns:1fr 1fr}.vets-panel{grid-column:1/-1}.bottom-grid{grid-template-columns:1fr 1fr}.filters-panel{grid-column:1/-1}.card-grid,.pet-card-grid,.vet-module-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.workspace{margin-left:0}.mobile-menu{display:grid;place-items:center}.topbar{gap:10px}.page-title{min-width:0}.page-title h1{font-size:18px}.page-title p{display:none}.global-search{display:none}.top-grid,.middle-grid,.bottom-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.pet-profile-panel{grid-template-columns:130px 1fr 160px}.card-grid,.pet-card-grid,.service-module-grid,.vet-module-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr 1fr}.report-list{grid-column:1/-1}.module-filters{grid-template-columns:1fr 1fr}.module-filters .search-field{grid-column:1/-1}.settings-grid{grid-template-columns:1fr}}
@media(max-width:640px){body{font-size:13px}.topbar{height:64px;padding:0 12px}.topbar-actions{gap:4px}.profile-menu{padding-left:7px;border:0}.profile-menu>svg{display:none}.profile-menu{grid-template-columns:38px}.content{padding:13px 10px 25px}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:10px;min-height:72px}.kpi-icon{width:39px;height:39px}.kpi strong{font-size:20px}.date-card{grid-column:1/-1}.panel-header{padding:12px}.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar>div:first-child{width:100%}.booking-panel .reservation-form{grid-template-columns:1fr}.form-actions{grid-column:auto}.mini-service-grid{grid-template-columns:repeat(2,1fr)}.pet-profile-panel{grid-template-columns:1fr}.pet-cover{height:170px}.next-appointment{border-left:0;border-top:1px solid #e9eef1}.filter-form{grid-template-columns:1fr}.filter-form .wide,.filter-form .button{grid-column:auto}.module-header{align-items:flex-start;gap:12px}.module-header .button{white-space:nowrap}.card-grid,.pet-card-grid,.service-module-grid,.vet-module-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr}.donut-wrap{flex-direction:column}.module-filters{grid-template-columns:1fr}.module-filters .search-field{grid-column:auto}.reservation-form.modal-form{grid-template-columns:1fr}.modal-form .full{grid-column:auto}.profile-menu img{width:34px;height:34px}.success-card>div:last-child{flex-direction:column}.sidebar{width:min(270px,86vw)}}
