:root{
  --ink:#122b2d;--muted:#6d7e80;--line:#dfe8e7;--bg:#f4f7f6;--card:#fff;--nav:#082f33;--nav2:#0d3c40;
  --brand:#0f625f;--brand2:#147d73;--gold:#b88b47;--gold2:#d7b475;--danger:#b84747;--warning:#b77b24;--success:#237459;
  --shadow:0 18px 50px rgba(21,54,55,.08);--shadow2:0 10px 30px rgba(21,54,55,.12);--radius:18px;--radius-sm:12px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{position:relative;overflow:hidden;background:radial-gradient(circle at 25% 15%,rgba(211,178,113,.22),transparent 28%),linear-gradient(145deg,#062c30,#0d4b4c 65%,#0f5f58);color:#fff;display:grid;place-items:center;padding:70px}.login-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-190px;bottom:-210px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}.login-brand-inner{max-width:700px;position:relative;z-index:1}.login-brand h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(42px,5vw,72px);line-height:1.02;margin:20px 0}.login-brand p{font-size:18px;max-width:640px;color:rgba(255,255,255,.78);line-height:1.6}.logo-orbit{width:82px;height:82px;border-radius:28px;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;box-shadow:inset 0 0 0 7px rgba(255,255,255,.05)}.logo-orbit span{font-family:Georgia,serif;font-size:27px;color:#f3d7a4}.login-pills{display:flex;gap:10px;margin-top:32px}.login-pills span{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 14px;font-size:12px;letter-spacing:.08em}.login-panel{display:grid;place-items:center;padding:40px;background:#fbfcfc}.login-card{width:min(460px,100%);display:grid;gap:22px}.brand-inline{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-inline>div:last-child{display:grid}.brand-inline strong{font-family:Georgia,serif;font-size:22px}.brand-inline small{color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.brand-symbol{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#0a3b3e,#116963);color:#efd09a;display:grid;place-items:center;font-family:Georgia,serif;box-shadow:0 8px 25px rgba(6,52,55,.16)}.login-card h2{font-family:Georgia,serif;font-size:38px;font-weight:500;margin:4px 0 8px}.login-card label,.field{display:grid;gap:8px;font-weight:700;font-size:13px}.login-card input,.field input,.field select,.field textarea,.input,.select,.textarea{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:13px 14px;border-radius:12px;outline:none;transition:.18s}.login-card input:focus,.field input:focus,.field select:focus,.field textarea:focus,.input:focus,.select:focus,.textarea:focus{border-color:#6ca6a1;box-shadow:0 0 0 4px rgba(15,98,95,.08)}.form-error{border:1px solid #efcaca;background:#fff3f3;color:#9c3434;padding:12px 14px;border-radius:12px;font-size:13px}.kicker{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);margin:0}.kicker.light{color:#e8c98f}
.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 10px 24px rgba(15,98,95,.19)}.btn.soft{background:#edf4f2;color:#195b58}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#fff0f0;color:var(--danger);border:1px solid #f0caca}.btn.gold{background:#f7efe2;color:#7d5b27;border:1px solid #ead8b9}.btn.xl{padding:14px 18px}.icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;font-size:18px}.icon-btn.mini{width:30px;height:30px;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:#fff}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:linear-gradient(180deg,var(--nav),#062a2d);color:#fff;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;z-index:20;box-shadow:12px 0 35px rgba(5,42,45,.06)}.sidebar-head{height:82px;padding:18px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.brand-button{display:flex;align-items:center;gap:11px;background:none;border:0;color:#fff;text-align:left;padding:0}.brand-text{display:grid}.brand-text b{font-family:Georgia,serif;font-size:19px}.brand-text small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.55)}.live-card{margin:17px 14px 10px;padding:12px 13px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035);display:flex;align-items:center;gap:10px}.live-card div{display:grid}.live-card b{font-size:12px}.live-card small{font-size:10px;color:rgba(255,255,255,.52);margin-top:3px}.live-dot{width:9px;height:9px;border-radius:50%;background:#52d29a;box-shadow:0 0 0 5px rgba(82,210,154,.1)}.nav{padding:8px;display:grid;gap:4px;overflow:auto}.nav-item{width:100%;border:0;background:transparent;color:rgba(255,255,255,.68);border-radius:11px;padding:11px 12px;display:flex;align-items:center;gap:11px;text-align:left}.nav-item span{width:23px;text-align:center;color:#dcb77c}.nav-item b{font-size:12.5px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.075);color:#fff}.sidebar-foot{margin-top:auto;padding:14px;border-top:1px solid rgba(255,255,255,.08)}.profile-mini{display:flex;align-items:center;gap:10px;padding:9px 8px 13px}.profile-mini>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(216,180,117,.18);color:#e5c48d;font-weight:900}.profile-mini div{display:grid}.profile-mini b{font-size:12px}.profile-mini small{font-size:10px;color:rgba(255,255,255,.48)}.nav-item.ghostish{border:1px solid rgba(255,255,255,.08);margin-top:2px}.app-shell.collapsed{grid-template-columns:78px 1fr}.app-shell.collapsed .brand-text,.app-shell.collapsed .live-card div,.app-shell.collapsed .nav-item b,.app-shell.collapsed .profile-mini div{display:none}.app-shell.collapsed .sidebar-head{justify-content:center}.app-shell.collapsed #menuCollapse{display:none}.app-shell.collapsed .live-card{justify-content:center}.app-shell.collapsed .nav-item{justify-content:center}.app-shell.collapsed .profile-mini{justify-content:center}
.main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{min-height:104px;padding:22px 30px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:10}.page-heading h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:29px;margin:5px 0 4px}.page-heading p:last-child{margin:0;font-size:12px}.top-actions{display:flex;gap:9px;align-items:center}.global-search{width:min(390px,31vw);display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#f8faf9;border-radius:12px;padding:0 12px}.global-search input{width:100%;border:0;background:transparent;outline:none;padding:11px 2px;color:var(--ink);font-size:12px}.content{padding:24px 30px 40px;flex:1}.main footer{padding:16px 30px 24px;color:#8a9898;font-size:10px;display:flex;justify-content:space-between}
.grid{display:grid;gap:16px}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.sidebar-content{grid-template-columns:minmax(0,1fr) 380px}.grid.pos-layout{grid-template-columns:minmax(0,1fr) 400px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.luxe{background:linear-gradient(145deg,#fff,#fbfdfc)}.card.dark-card{background:linear-gradient(145deg,#0a3a3d,#0e4a49);color:#fff;border-color:transparent}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;background:rgba(15,98,95,.04);right:-30px;top:-30px}.kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi-icon{width:36px;height:36px;border-radius:12px;background:#edf5f3;color:var(--brand);display:grid;place-items:center;font-weight:900}.kpi h3{font-family:Georgia,serif;font-size:28px;font-weight:500;margin:18px 0 4px}.kpi p{margin:0;font-size:11px;color:var(--muted)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.section-head h2,.section-head h3{font-family:Georgia,serif;font-weight:500;margin:0 0 4px}.section-head h2{font-size:24px}.section-head h3{font-size:19px}.section-head p{margin:0;font-size:11px;color:var(--muted)}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:18px 0}.stack{display:grid;gap:12px}.row{display:flex;gap:10px}.row>*{flex:1}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.toolbar-left,.toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.searchbox{min-width:260px;position:relative}.searchbox input{padding-left:38px}.searchbox:before{content:"⌕";position:absolute;left:14px;top:11px;color:var(--muted)}.filter-btn{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:10px;color:var(--muted);font-size:11px;font-weight:800}.filter-btn.active{background:#eef5f3;color:var(--brand);border-color:#c8deda}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;font-size:12px;min-width:780px}.table th{background:#f6f9f8;color:#758687;font-size:9px;letter-spacing:.09em;text-transform:uppercase;text-align:left;padding:12px 13px;border-bottom:1px solid var(--line)}.table td{padding:13px;border-bottom:1px solid #edf1f0;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fbfcfc}.table b{font-size:12px}.table small{display:block;color:var(--muted);margin-top:3px}.td-actions{display:flex;gap:6px;justify-content:flex-end}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px;color:var(--ink);font-weight:700;font-size:10px}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#eef4f3;color:#45605f;font-size:9.5px;font-weight:900;white-space:nowrap}.badge.ok{background:#e7f5ee;color:#28664f}.badge.warn{background:#fff1df;color:#8d6025}.badge.danger{background:#ffeded;color:#9d3c3c}.badge.gold{background:#f7efe2;color:#7e5b25}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;font-size:12px}.loading-card{padding:50px;text-align:center;color:var(--muted)}
.list{display:grid}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f0}.list-row:last-child{border-bottom:0}.list-row>div:first-child{min-width:0}.list-row b{font-size:12px}.list-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.right{text-align:right}.money{font-family:Georgia,serif;font-size:18px}.inventory-name{display:flex;gap:10px;align-items:center}.product-avatar{width:34px;height:34px;border-radius:11px;background:#edf5f3;color:var(--brand);display:grid;place-items:center;font-weight:900}.stock-meter{width:80px;height:6px;background:#edf1f0;border-radius:999px;overflow:hidden;margin-top:5px}.stock-meter i{display:block;height:100%;background:var(--brand);border-radius:inherit}.stock-meter.low i{background:var(--warning)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.product-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;transition:.16s}.product-card:hover{border-color:#b8d2cf;box-shadow:var(--shadow2);transform:translateY(-1px)}.product-card .pc-top{display:flex;justify-content:space-between;gap:8px}.product-card h4{font-size:12px;margin:10px 0 4px}.product-card p{font-size:9.5px;color:var(--muted);margin:0}.product-card strong{display:block;margin-top:13px;color:var(--brand);font-family:Georgia,serif;font-size:17px}.cart{position:sticky;top:128px}.cart-lines{display:grid;gap:8px;max-height:45vh;overflow:auto}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px;background:#f8faf9;border:1px solid #edf1f0;border-radius:12px}.cart-line h4{font-size:11px;margin:0 0 4px}.cart-line small{font-size:9.5px;color:var(--muted)}.qty-controls{display:flex;align-items:center;gap:5px}.qty-controls button{width:26px;height:26px;border:1px solid var(--line);background:#fff;border-radius:8px}.totals{display:grid;gap:8px}.total-line{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.total-line.final{font-size:17px;color:var(--ink);font-weight:900;padding-top:6px;border-top:1px solid var(--line)}
.patient-card{display:flex;gap:13px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff}.pet-avatar{width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#eaf3f1,#f8faf9);display:grid;place-items:center;color:var(--brand);font-size:18px;font-weight:900}.patient-card h3{font-size:13px;margin:0 0 3px}.patient-card p{font-size:10px;color:var(--muted);margin:0}.patient-card .patient-meta{margin-left:auto;text-align:right}.patient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hospital-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hospital-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff}.hospital-card .cage{font-size:9px;letter-spacing:.12em;color:var(--gold);font-weight:900}.hospital-card h3{font-family:Georgia,serif;font-size:20px;font-weight:500;margin:7px 0 3px}.hospital-card p{font-size:10px;color:var(--muted);margin:0 0 12px}.hospital-card .hc-actions{display:flex;gap:7px;margin-top:12px}.timeline{display:grid;gap:12px}.timeline-item{display:grid;grid-template-columns:80px 1fr;gap:12px}.timeline-item time{font-size:9px;color:var(--muted);padding-top:3px}.timeline-body{border-left:2px solid #e0e8e7;padding:0 0 14px 13px}.timeline-body b{font-size:11px}.timeline-body p{font-size:10px;color:var(--muted);line-height:1.5;margin:4px 0 0}.appt-row{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f0}.appt-row:last-child{border-bottom:0}.appt-time{font-family:Georgia,serif;font-size:17px;color:var(--brand)}.appt-row b{font-size:11px}.appt-row small{display:block;color:var(--muted);font-size:9.5px;margin-top:3px}
.chart{height:220px;display:flex;align-items:flex-end;gap:8px;padding:22px 4px 0}.bar-wrap{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:7px}.bar{width:min(28px,70%);min-height:3px;background:linear-gradient(180deg,#2b827a,#0f625f);border-radius:7px 7px 2px 2px}.bar-wrap small{font-size:8px;color:var(--muted)}.metric-big{font-family:Georgia,serif;font-size:34px;margin:5px 0}.report-list{display:grid;gap:10px}.report-line{display:grid;grid-template-columns:minmax(0,1fr) 1fr auto;gap:12px;align-items:center}.report-track{height:7px;background:#edf1f0;border-radius:999px;overflow:hidden}.report-track i{display:block;height:100%;background:var(--brand);border-radius:inherit}.report-line b{font-size:10px}.report-line span{font-size:10px;color:var(--muted)}
.modal{padding:0;border:0;border-radius:20px;box-shadow:0 30px 90px rgba(7,39,42,.22);width:min(780px,calc(100vw - 30px));max-height:90vh;overflow:auto}.modal.wide{width:min(1060px,calc(100vw - 30px))}.modal::backdrop{background:rgba(6,32,34,.55);backdrop-filter:blur(4px)}.modal-card{padding:0}.modal-head{position:sticky;top:0;background:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.modal-head h2{font-family:Georgia,serif;font-size:22px;font-weight:500;margin:0}.modal-content{padding:22px}.modal-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:14px 22px;display:flex;justify-content:flex-end;gap:8px}.close-btn{border:1px solid var(--line);background:#fff;width:34px;height:34px;border-radius:10px;font-size:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field.full{grid-column:1/-1}.field span{font-size:10px;color:#506364}.field small{font-weight:400;color:var(--muted);font-size:9px}.check-row{display:flex;align-items:center;gap:8px;font-size:11px}.check-row input{width:auto}.subsection{padding:12px 0 4px;grid-column:1/-1;border-top:1px solid var(--line);margin-top:3px}.subsection h3{font-family:Georgia,serif;font-weight:500;font-size:17px;margin:0}.alert{border-radius:12px;padding:11px 13px;font-size:10px;line-height:1.5}.alert.info{background:#eef6f4;color:#32605c}.alert.warn{background:#fff2df;color:#7f5b24}.alert.danger{background:#ffeded;color:#8b3b3b}.receipt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fbfcfc;border:1px dashed #cbd8d6;border-radius:14px;padding:18px}.receipt h2{text-align:center;font-family:Georgia,serif}.receipt table{width:100%;font-size:10px;border-collapse:collapse}.receipt td{padding:4px 0;border:0}.receipt .receipt-total{font-size:16px;font-weight:900;border-top:1px dashed #cbd8d6;padding-top:10px;margin-top:10px;display:flex;justify-content:space-between}.toast-host{position:fixed;right:20px;bottom:20px;z-index:999;display:grid;gap:8px}.toast{background:#0d3b3d;color:#fff;border:1px solid rgba(255,255,255,.08);padding:12px 14px;border-radius:12px;box-shadow:0 14px 40px rgba(6,42,45,.25);min-width:280px}.toast b{font-size:11px}.toast p{font-size:9.5px;color:rgba(255,255,255,.72);margin:4px 0 0}
@media(max-width:1200px){.grid.kpis{grid-template-columns:repeat(2,1fr)}.grid.pos-layout,.grid.sidebar-content{grid-template-columns:1fr}.cart{position:static}.hospital-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.top-actions .btn.soft{display:none}}
@media(max-width:900px){.login-screen{grid-template-columns:1fr}.login-brand{display:none}.app-shell{grid-template-columns:78px 1fr}.brand-text,.live-card div,.nav-item b,.profile-mini div,#menuCollapse{display:none}.sidebar-head,.nav-item,.profile-mini,.live-card{justify-content:center}.topbar{padding:16px 18px;align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.global-search{order:2;width:100%}.content{padding:18px}.grid.two,.grid.three{grid-template-columns:1fr}.patient-grid,.hospital-grid{grid-template-columns:1fr}.main footer{padding:16px 18px}}
@media(max-width:650px){.app-shell{display:block}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;min-height:0;z-index:50}.sidebar-head,.live-card,.sidebar-foot{display:none}.nav{display:flex;overflow:auto;padding:7px}.nav-item{min-width:62px;padding:9px;justify-content:center}.nav-item b{display:none}.main{padding-bottom:70px}.topbar{position:static;display:block}.page-heading{margin-bottom:14px}.top-actions{justify-content:flex-start}.top-actions .btn{font-size:10px;padding:10px}.grid.kpis{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full,.subsection{grid-column:auto}.product-grid{grid-template-columns:1fr}.row{flex-direction:column}.modal{width:calc(100vw - 18px)}.content{padding:12px}.card{padding:15px}.table{min-width:700px}}

@media print{body>*:not(.modal){display:none!important}.modal{position:static!important;display:block!important;box-shadow:none!important;border:0!important;width:100%!important;max-height:none!important}.modal::backdrop{display:none}.modal-head,.modal-actions{display:none!important}.modal-content{padding:0}.receipt{border:0;font-size:12px}}

/* Google Calendar integration */
.calendar-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow2)}
.calendar-strip>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.calendar-strip b{display:block;font-size:12px}.calendar-strip small{display:block;color:var(--muted);font-size:9.5px;margin-top:4px;white-space:normal}.calendar-strip.ok{background:linear-gradient(180deg,#fbfffd,#f4faf7);border-color:#cfe4d8}.calendar-strip.warn{background:#fffaf2;border-color:#f0ddbd}.calendar-logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff;border:1px solid #e1e7e6;font-weight:900;font-size:18px;color:#35675f;box-shadow:0 4px 12px rgba(14,68,64,.08)}
.calendar-actions,.calendar-modal-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sync-error{color:#a34646!important;max-width:540px}.appt-row .td-actions{flex-wrap:wrap;align-items:center}
@media(max-width:800px){.calendar-strip{align-items:flex-start;flex-direction:column}.calendar-actions{width:100%}.appt-row{grid-template-columns:58px 1fr}.appt-row .td-actions{grid-column:1/-1;justify-content:flex-start;padding-left:70px}}
