:root{font-family:var(--font-ui);--font-ui:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif;color:#243b3c;background:#f5f7f8;font-size:16px;--teal:#086b65;--line:#e4ebeb}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;border:1px solid var(--line);background:white;color:inherit;border-radius:9px;padding:10px 14px;font-weight:600}button:hover{background:#edf5f3}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.danger{color:#b43636}button.small{font-size:14px;padding:7px 10px}button.icon{padding:7px;border:0;background:transparent}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:white;border-right:1px solid var(--line);padding:30px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:230px;z-index:3}.brand{display:flex;gap:10px;align-items:center;padding:0 14px 30px;font-family:var(--font-ui);font-size:32px;font-weight:800;color:var(--teal);letter-spacing:-1.5px}.brandmark{background:var(--teal);color:white;border-radius:12px;width:37px;height:37px;display:grid;place-items:center;font-size:32px}.navlabel{font-size:12px;color:#8b9b9b;text-transform:uppercase;letter-spacing:1.5px;padding:0 16px;margin-bottom:12px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{text-align:left;border:0;background:none;font-size:14px;font-weight:500;padding:13px 15px;display:flex;align-items:center;gap:12px}.nav button.active{background:#e4f2ee;color:var(--teal);font-weight:700}.nav button svg{width:19px}.navcount{margin-left:auto;background:#dbeae6;border-radius:6px;padding:1px 6px;font-size:12px}.sidebarfoot{margin-top:auto;padding:24px 12px 0}.demo{font-size:12px;color:#6e8380;background:#f1f6f4;border-radius:6px;padding:7px 9px;display:inline-block}.user{display:flex;gap:10px;margin-top:20px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:#dcebea;color:#086b65;display:grid;place-items:center;font-weight:700;flex-shrink:0}.muted{color:#7b8c8d;font-size:14px}.user strong{font-size:14px}.main{grid-column:2;min-width:0}.topbar{background:white;height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.breadcrumb{font-size:14px;color:#7b8c8d}.breadcrumb b{color:#324b4b;font-weight:500;margin-left:10px}.topactions{display:flex;align-items:center;gap:18px}.topactions select{border:0;background:none;font-size:13px;color:#6d8181}.content{padding:30px 36px;max-width:1600px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.heading h1{font-family:var(--font-ui);font-size:28px;letter-spacing:-1px;margin:0 0 7px;font-weight:800}.heading p{margin:0;color:#7b8c8d;font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap}.datebar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.datebox{display:flex;align-items:center;gap:14px}.datebox strong{font-size:17px}.tabs{display:flex;gap:4px;background:#eaf0ef;padding:4px;border-radius:9px}.tabs button{border:0;background:none;font-size:14px;padding:7px 15px}.tabs button.selected{background:white;box-shadow:0 1px 4px #173c3612}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 22px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;text-align:left;display:flex;gap:14px;align-items:center}.stat strong{display:block;font-family:var(--font-ui);font-size:27px;line-height:1.2;margin-bottom:5px}.stat span{font-size:13px;color:#768888}.stat .statIcon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf3f1;color:var(--teal)}.filters{display:flex;gap:10px;flex-wrap:wrap;padding:16px;background:white;border:1px solid var(--line);border-radius:12px 12px 0 0}.filters input{flex:1;min-width:180px}.filters select{max-width:200px}input,select,textarea{border:1px solid #dce5e4;border-radius:8px;background:white;padding:10px 12px;color:#334e4d;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #80bfb1}textarea{min-height:80px;resize:vertical}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;padding:17px 1px;color:#637a79}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:7px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panelhead{padding:19px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}h2{font-family:var(--font-ui);font-size:17px;margin:0;font-weight:800}h3{font-size:15px;margin:0 0 9px}.panelbody{padding:20px}.schedule{background:white;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;overflow:hidden}.schedulehead{display:grid;grid-template-columns:65px 1fr 1fr;gap:10px;border-bottom:1px solid var(--line);padding:14px 16px;text-align:center;font-size:14px}.schedulehead span:first-child{font-size:12px;color:#7c8e8b}.timeline{padding:6px 16px 18px}.time-row{display:grid;grid-template-columns:55px minmax(0,1fr);gap:10px;min-height:100px;padding-top:12px;border-bottom:1px dashed #e8eded}.hour{font-size:13px;color:#8a9b99;padding-top:5px}.slots{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:12px}.appointment{border:1px solid #dce8ed;border-left:4px solid var(--status);background:var(--tint);border-radius:8px;padding:13px 14px;cursor:pointer;min-width:0}.appointment:hover{filter:brightness(.98)}.cardtop{display:flex;justify-content:space-between;gap:8px}.petname{font-weight:700;font-size:15px}.petmeta{font-size:12px;color:#758784;margin:4px 0 10px}.service{font-size:13px;margin:7px 0}.cardbottom{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:10px}.badge{border-radius:5px;padding:4px 7px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;background:#edf2f1;color:#526d67}.badge svg{width:13px;height:13px}.taxi{background:#fff1ce;color:#9a751a}.paid{background:#dceee8;color:#14755d}.pending{background:#fff1df;color:#9b6c23}.sidepanel{display:flex;flex-direction:column;gap:18px}.note{padding:14px;border-radius:8px;background:#f4f8f7;margin:12px 0;font-size:14px;line-height:1.6}.note.warning{background:#fff8e8;color:#80682f}.note strong{display:block}.minirow{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.minirow:last-child{border:0}.minirow .right{margin-left:auto}.minirow p{margin:4px 0 0;font-size:12px;color:#83918f}.progress{height:6px;background:#edf2f1;border-radius:9px;overflow:hidden;margin-top:14px}.progress div{height:100%;background:var(--teal);border-radius:9px}.empty{padding:38px 20px;text-align:center;color:#78908b}.board{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:14px;overflow:auto;padding-bottom:15px}.column{background:#edf2f1;border-radius:10px;padding:12px;min-height:400px}.column h3{padding:4px 0 12px;display:flex;justify-content:space-between}.column .appointment{margin-bottom:12px;background:white}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.entity{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.entity p{font-size:14px;color:#708682;line-height:1.6}.entity .avatar{margin-bottom:12px;width:45px;height:45px}table{width:100%;border-collapse:collapse;text-align:left;background:white;font-size:14px}th{background:#f6f9f8;color:#79908a;font-size:12px;font-weight:500}td,th{padding:16px;border-bottom:1px solid var(--line)}td small{display:block;margin-top:5px;color:#7b8d88}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.money{font-weight:700;white-space:nowrap}.chatlayout{display:grid;grid-template-columns:280px 1fr 250px;min-height:560px}.conversations{border-right:1px solid var(--line)}.conversation{padding:17px;border-bottom:1px solid var(--line);cursor:pointer}.conversation.current{background:#eaf5f1}.conversation p{font-size:13px;color:#7b8b87;margin:7px 0}.messages{padding:22px;display:flex;flex-direction:column;gap:13px;min-height:340px}.bubble{background:#f0f4f3;padding:12px 15px;border-radius:12px;max-width:85%;font-size:14px;line-height:1.5}.bubble.out{background:#e0f0e9;align-self:flex-end}.reply{display:flex;gap:9px;padding:16px;border-top:1px solid var(--line)}.reply input{flex:1}.context{padding:20px;border-left:1px solid var(--line)}.settingsnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.settingsnav button.selected{background:#e1f1eb;color:var(--teal);border-color:#a8cec2}dialog{border:0;border-radius:16px;padding:0;width:min(760px,94vw);max-height:90vh;color:#29433d;box-shadow:0 22px 90px #13352c44}dialog::backdrop{background:#123b3855;backdrop-filter:blur(2px)}.modalhead{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.modalbody{padding:22px 24px}.modalfoot{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--line);background:#fafcfb}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px}.full{grid-column:1/-1}.checks{display:flex;flex-wrap:wrap;gap:10px}.checks label{font-size:13px;padding:9px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:7px}.checks input{accent-color:var(--teal)}.detailhero{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.detailhero h2{font-size:25px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detailgrid section{border:1px solid var(--line);border-radius:10px;padding:16px}.detailgrid p{font-size:14px;line-height:1.7;margin:7px 0}.history{font-size:12px;color:#789087;padding:8px 0;border-bottom:1px solid var(--line)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#153e36;color:white;padding:13px 22px;border-radius:10px;box-shadow:0 7px 30px #1235;z-index:20;display:none;font-size:14px}.mobilebrand{display:none}.sectiongap{margin-top:22px}.week{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));overflow:auto;gap:10px}.week .appointment{margin-top:10px}.week h3{font-size:14px}.petphoto{width:100%;height:120px;object-fit:cover;border-radius:9px;margin-bottom:15px}.tip{font-size:12px;line-height:1.6;color:#81938e}a{color:var(--teal)}.checkline{display:flex;align-items:center;gap:8px;font-size:14px}.error{color:#b83a38;font-size:14px;margin-bottom:15px}.amountrow{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.divider{border:0;border-top:1px solid var(--line);margin:18px 0}
@media(min-width:1600px){.content{padding-top:40px}.time-row{min-height:110px}}@media(max-width:1150px){.workspace{grid-template-columns:1fr}.sidepanel{display:grid;grid-template-columns:1fr 1fr}.sidebar{width:200px}.shell{grid-template-columns:200px 1fr}.content{padding:25px 22px}.topbar{padding:0 22px}.chatlayout{grid-template-columns:240px 1fr}.context{display:none}.stats{gap:10px}.stat{padding:14px;gap:9px}.stat .statIcon{width:32px;height:32px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:68px;padding:4px 6px;border-right:0;border-top:1px solid var(--line);display:block;overflow-x:auto}.brand,.navlabel,.sidebarfoot{display:none}.nav{flex-direction:row;width:max-content;gap:1px}.nav button{flex-direction:column;gap:4px;font-size:10px;padding:7px 10px;border-radius:7px}.nav button svg{width:19px;height:19px}.navcount{display:none}.main{padding-bottom:75px}.topbar{height:59px;padding:0 17px}.breadcrumb{display:none}.mobilebrand{display:block;font-family:var(--font-ui);font-weight:800;font-size:25px;color:var(--teal)}.topactions{gap:9px}.content{padding:23px 15px}.heading{align-items:flex-start}.heading h1{font-size:25px}.heading .actions button{font-size:12px;padding:10px}.heading .actions .secondary{display:none}.heading p{font-size:12px}.datebar{gap:10px;flex-wrap:wrap}.datebox{gap:7px}.datebox strong{font-size:14px}.tabs button{font-size:12px;padding:6px 11px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:13px 11px;gap:10px}.stat strong{font-size:23px}.stat span{font-size:12px}.filters{padding:10px;gap:7px}.filters input{width:100%;flex-basis:100%}.filters select{flex:1;font-size:12px;padding:8px;max-width:none;width:45%}.schedulehead{grid-template-columns:38px 1fr 1fr;font-size:12px;padding:11px 7px}.timeline{padding:3px 7px 10px}.time-row{grid-template-columns:33px 1fr;gap:5px}.hour{font-size:11px}.slots{gap:7px}.appointment{padding:10px 8px;border-left-width:3px}.petname{font-size:13px}.petmeta{font-size:11px}.service{font-size:12px}.badge{font-size:10px;padding:4px}.cardtop{flex-wrap:wrap;gap:3px}.cardbottom{gap:5px}.legend{gap:10px;font-size:11px}.sidepanel{display:flex}.grid,.grid.two{grid-template-columns:1fr}.formgrid,.detailgrid{grid-template-columns:1fr}.chatlayout{display:block}.conversations{display:flex;overflow:auto;border-bottom:1px solid var(--line)}.conversation{min-width:190px}.messages{min-height:280px}.modalbody{padding:18px}.modalfoot{padding:15px}.full{grid-column:auto}.board{grid-template-columns:repeat(5,240px)}.topactions select{max-width:125px}.datebox input{max-width:140px;font-size:12px}.tabs{max-width:100%}}
@media(max-width:760px){.badge{font-size:12px}.nav button{font-size:12px}.petmeta{font-size:12px}.hour{font-size:12px}.legend{font-size:12px}.cardtop .muted{font-size:12px!important}.cardbottom{justify-content:flex-start}}
@media(max-width:760px){.topactions>.avatar{display:none}.topactions{gap:5px}.topactions select{max-width:112px}.filters select{flex:1 1 calc(50% - 8px);max-width:calc(50% - 4px);width:calc(50% - 4px)}.datebox{flex-wrap:wrap}.datebox strong{max-width:145px}.schedulehead{grid-template-columns:33px 1fr 1fr}}
.schedulehead{grid-template-columns:65px repeat(var(--staff,2),minmax(0,1fr))}.slots{grid-template-columns:repeat(var(--staff,2),minmax(0,1fr))}@media(max-width:760px){.schedulehead{grid-template-columns:33px repeat(var(--staff,2),minmax(0,1fr))}}
[hidden]{display:none!important}.client-picker{position:relative}.client-picker>.field{margin-bottom:7px}.client-searchbox{display:flex;align-items:center;border:1px solid #dce5e4;border-radius:9px;background:var(--surface,#fff);padding-left:12px;gap:8px}.client-searchbox>svg{flex-shrink:0;color:#7b908a}.client-searchbox input{width:100%;border:0;background:transparent;padding:12px 10px 12px 0}.client-searchbox:focus-within{outline:2px solid #80bfb1;outline-offset:1px}.client-searchbox input:focus{outline:0}#clientResults{position:absolute;top:76px;left:0;right:0;z-index:12;max-height:260px;overflow:auto;background:var(--surface,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #163e3422;padding:5px}#clientResults button{width:100%;border:0;border-radius:6px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px}#clientResults button small{display:block;font-weight:400;color:var(--muted,#7b8c8d);margin-top:5px;line-height:1.5}#clientResults button.focused{background:#e4f2ee;outline:2px solid #80bfb1;outline-offset:-2px}.picker-select{font-size:12px;color:var(--teal);font-weight:500}.picker-create{color:var(--teal);border-top:1px solid var(--line)!important;border-radius:0!important}.picker-empty{padding:16px 12px;font-size:14px;color:var(--muted,#7b8c8d)}.selected-client{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:11px 12px;background:#eef7f3;border:1px solid #dcebe4;border-radius:8px;font-size:14px}.selected-client small{display:block;color:#6b837a;margin-top:4px;font-size:12px}.booking-pet-row{display:flex;align-items:flex-end;gap:12px}.booking-pet-row>.field{flex:1}.booking-pet-row button{margin-bottom:2px;white-space:nowrap}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:760px){#clientResults{max-height:230px}.picker-select{display:none}.booking-pet-row{flex-wrap:wrap}.booking-pet-row>.field{flex-basis:100%}.selected-client{align-items:flex-start}.client-searchbox input{font-size:16px}}
