@charset "UTF-8";
:root{--ink:#20334c;--muted:#7c8797;--teal:#0a9694;--teal-dark:#087977;--border:#e9edf1;--paper:#fff;--bg:#f6f8fa;--amber:#d18b32;--navy:#1c3557;--shadow:0 3px 14px #20334c04;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}button{border:0;background:none}a{color:var(--teal);text-decoration:none}input,select,textarea{min-width:0;width:100%;background:#fff;border:1px solid #dce3e8;border-radius:8px;padding:12px;color:var(--ink);outline:none;min-height:44px}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0a969415}button:focus-visible,a:focus-visible{outline:3px solid #0a96948a;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;font-weight:650;line-height:1.3}h2{font-size:16px;font-weight:650;letter-spacing:-.35px}h3{font-size:15px}p{line-height:1.6}small{font-size:11px}button .icon{flex-shrink:0}.icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0}.wordmark{font-weight:750;font-size:32px;letter-spacing:-1.6px;color:var(--navy);white-space:nowrap}.wordmark>span{color:var(--teal)}.wordmark b{display:inline-block;color:#eda34a;font-weight:700;font-size:25px;vertical-align:top;margin-left:2px}.eyebrow{font-size:9px;font-weight:750;letter-spacing:1.65px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.primary,.secondary{border-radius:8px;display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:12px 17px;min-height:44px;font-size:12px;font-weight:650;white-space:nowrap}.primary{background:var(--teal);color:#fff;box-shadow:0 3px 5px #0a969411}.primary:hover{background:var(--teal-dark)}.primary .icon{width:17px;height:17px}.secondary{background:#f0f3f6;color:var(--ink)}.wide{width:100%}.icon-button{width:36px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--muted)}.icon-button:hover{background:#f0f4f5;color:var(--teal)}.icon-button .icon{width:17px;height:17px}.pill,.small-badge{display:inline-flex;align-items:center;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:600;white-space:nowrap}.teal{background:#e9f7f3;color:#178b79}.amber{background:#fff5e6;color:#be8735}.blue{background:#edf2fd;color:#6a88c4}.purple{background:#f4f0fb;color:#a082cd}.light{background:#ffffffbb;color:#537b76}.red{background:#fff0ed;color:#bc5649}.online-dot{display:inline-block;width:6px;height:6px;background:#29ae89;border-radius:50%;flex-shrink:0}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px;text-align:center}.boot p{color:var(--muted)}
/* Sign in */
.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-main{padding:38px 9% 24px;display:flex;flex-direction:column;min-height:100vh}.login-brand{display:flex;gap:15px;align-items:center}.login-brand .eyebrow{border-left:1px solid var(--border);padding-left:15px;font-size:8px;max-width:95px;line-height:1.7}.login-content{width:100%;max-width:390px;margin:auto;padding:45px 0}.login-content h1{font-size:36px;letter-spacing:-1.4px;margin:20px 0 12px;line-height:1.23}.login-content>.muted{font-size:13px;margin-bottom:25px}label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:8px}#login-form{display:flex;flex-direction:column;gap:18px}#login-form input{background:#fcfdfe}.password-wrap{position:relative}.password-wrap input{padding-right:65px}.password-wrap button{position:absolute;right:8px;top:4px;bottom:4px;font-size:11px;color:var(--muted);padding:8px}.form-error{color:#b63e3e;font-size:12px;min-height:0;line-height:1.5}.form-error:empty{display:none}.demo-access{background:#f5f9f9;border:1px solid #e4efee;border-radius:10px;padding:17px;margin:24px 0 17px}.demo-access p{font-size:11px;color:var(--muted);margin:8px 0}.demo-access small{display:block;color:var(--muted);font-size:10px}.demo-buttons{display:flex;gap:6px;margin:12px 0}.demo-buttons button{padding:9px 10px;border:1px solid #d5e5e2;border-radius:5px;background:white;font-size:10px;font-weight:600;flex:1}.demo-buttons button:hover{border-color:var(--teal);color:var(--teal)}.login-footer{font-size:10px;color:var(--muted);text-align:center}.login-art{background:#eaf4f1;position:relative;overflow:hidden;padding:48px 10%;display:flex;flex-direction:column;justify-content:center}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#468d8010 1px,transparent 1px),linear-gradient(90deg,#468d8010 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(black,transparent)}.art-top{position:absolute;top:48px;left:10%;right:10%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:#70928a}.login-art h2{font-size:37px;line-height:1.2;letter-spacing:-1.5px;margin:30px 0 15px;font-weight:600;z-index:1}.login-art>p{font-size:13px;color:#69877f;z-index:1;line-height:1.8}.logo-crop{position:relative;overflow:hidden;background:#f5f4f0;border-radius:10px;flex-shrink:0}.logo-crop.large{width:320px;max-width:100%;height:100px;box-shadow:0 5px 30px #326a6410}.logo-crop.large img{position:absolute;width:460px;max-width:none;height:auto;top:-79px;left:-66px}.art-cards{display:flex;flex-direction:column;gap:20px;margin:35px 0;z-index:1}.art-cards>div{display:flex;align-items:flex-start;gap:14px}.art-cards .icon{color:var(--teal);background:#ffffffa0;box-sizing:content-box;padding:10px;border-radius:10px;width:20px;height:20px}.art-cards span{font-size:13px;font-weight:650;padding-top:3px}.art-cards small{display:block;font-weight:400;color:#80968e;font-size:10px;margin-top:7px}.art-bottom{position:absolute;bottom:30px;left:10%;right:10%;display:flex;align-items:center;gap:15px}.art-bottom img{width:66px;height:39px;object-fit:contain;background:#fff;border-radius:5px}.art-bottom span{font-size:9px;color:#80938d;line-height:1.7}.art-bottom strong{font-weight:500;color:#4b766a}
/* Clinic shell */
.app-shell{display:flex;min-height:100vh}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:white;border-right:1px solid var(--border);padding:24px 14px 17px;z-index:5;overflow:hidden}.brand-link{display:flex;flex-direction:column;padding-left:14px;align-items:flex-start}.brand-link .wordmark{font-size:31px}.brand-link .eyebrow{font-size:7px;letter-spacing:2.8px;margin:2px 0 0 2px}.clinic-switch{border:1px solid var(--border);background:#fcfdfd;border-radius:8px;padding:10px 9px;margin:18px 0 16px;display:flex;align-items:center;gap:9px}.clinic-switch strong{font-size:10px;font-weight:650;display:block;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clinic-switch small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.clinic-icon{background:#e9f6f3;color:var(--teal);width:29px;height:31px;display:grid;place-items:center;border-radius:6px;font-size:14px;font-weight:650}.clinic-switch .online-dot{margin-left:auto;width:5px;height:5px}.nav-label{font-size:8px;font-weight:650;color:#a0a9b7;letter-spacing:1.4px;margin:0 14px 14px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:5px;border-radius:7px;color:#7a8595;font-size:11px;text-align:left;min-height:44px}.nav-item .icon{width:17px;height:17px}.nav-item:hover{background:#f6f9f9}.nav-item.active{color:var(--teal);background:#eaf6f3;font-weight:650}.nav-item small{margin-left:auto;background:#cfebe4;color:#218d7d;font-size:9px;padding:2px 6px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding-top:16px}.help-card{background:#f8fafb;border:1px solid #eef1f3;border-radius:9px;padding:15px 12px}.help-card>.icon{color:#83a8a0;width:18px;height:18px;display:block;margin-bottom:12px}.help-card strong{font-size:10px}.help-card p{font-size:9px;line-height:1.9;color:#98a2ae;margin-top:7px}.powered{text-align:center;font-size:8px;line-height:1.8;color:#9fa8b3;padding:17px 12px 0}.main-shell{margin-left:232px;flex:1;min-width:0;display:flex;flex-direction:column}.topbar{background:#ffffffd9;border-bottom:1px solid var(--border);height:74px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:10px;color:#9ca6b3}.breadcrumb .icon{width:11px;height:11px}.breadcrumb strong{color:#5c6a7d;font-weight:500}.top-right{display:flex;align-items:center;gap:11px}.demo-tag{font-size:8px;letter-spacing:1px;color:#a88850;background:#fbf5e9;padding:5px 8px;border:1px solid #f0e6d2;border-radius:4px;margin-right:10px}.timezone{display:flex;align-items:center;gap:7px;color:#8e9ca8;font-size:9px}.timezone .online-dot{width:4px;height:4px}.top-divider{width:1px;height:25px;background:var(--border);margin:0 5px}.user-avatar{width:32px;height:32px;border-radius:50%;background:#e9f0f0;display:grid;place-items:center;font-size:10px;font-weight:700;color:#527a72}.user-info strong{display:block;font-size:10px;font-weight:600}.user-info small{display:block;font-size:8px;color:#9ba5b2;margin-top:4px}.mobile-menu{display:none}#main{padding:31px 34px 28px;outline:none;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}.page-heading .eyebrow{font-size:8px;color:#9ba6b4}.page-heading h1{margin:7px 0 8px;font-size:27px}.page-heading p{font-size:11px;color:#93a0ae}.heading-actions{display:flex;align-items:center;gap:10px;padding-top:9px}.date-control{display:flex;flex-direction:row;align-items:center;gap:8px;background:white;border:1px solid #e2e8ed;border-radius:8px;padding:0 11px;min-height:42px}.date-control .icon{width:15px;height:15px;color:#7f8f9c}.date-control input{border:0;box-shadow:none;padding:0;font-size:10px;min-height:38px;width:119px;color:#6c7b8a;background:none}.day-banner{background:#eaf4f1;border:1px solid #dceee6;border-radius:10px;display:flex;align-items:center;justify-content:space-between;padding:13px 18px;margin-bottom:20px}.day-banner>div{display:flex;align-items:center;gap:12px}.day-spark{width:31px;height:31px;background:#d7ece3;color:#509b7f;display:grid;place-items:center;border-radius:50%}.day-spark .icon{width:17px;height:17px}.day-banner strong{display:block;font-size:11px;color:#4c7b6d;font-weight:600}.day-banner small{display:block;font-size:9px;color:#86a092;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:17px 18px;box-shadow:var(--shadow);min-width:0}.stat-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#8592a1;font-size:10px;margin-bottom:7px}.stat-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center}.stat-icon .icon{width:15px;height:15px}.stat-card>strong{font-size:27px;letter-spacing:-.75px;font-weight:650;display:block;white-space:nowrap}.stat-card>small{font-size:8px;color:#a5adba;display:block;margin-top:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:21px;align-items:start}.panel{background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 18px;gap:10px}.panel-title h2{font-size:13px;display:flex;align-items:center;gap:9px;white-space:nowrap}.panel-title p{font-size:9px;color:#a0a9b6;margin-top:7px}.count{background:#f1f4f6;color:#8d98a6;border-radius:4px;font-size:9px;padding:3px 6px}.text-button{display:inline-flex;align-items:center;gap:7px;color:#38968a;font-size:9px;font-weight:550;white-space:nowrap;padding:8px 0}.text-button .icon{width:12px;height:12px}.filter-bar{display:flex;align-items:center;padding:0 20px 13px;gap:9px;border-bottom:1px solid #f0f2f5}.filter{font-size:9px;padding:7px 10px;min-height:32px;border-radius:5px;color:#96a1af;white-space:nowrap}.filter.selected{background:#eaf6f2;color:#3d9580;font-weight:600}.filter span{margin-left:4px;background:#fff4e3;color:#b68b45;font-size:8px;padding:1px 4px;border-radius:3px}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:8px;color:#9fa9b7;font-weight:550;background:#fcfdfe;padding:14px 18px;border-bottom:1px solid #f0f2f5}td{padding:15px 18px;font-size:10px;color:#778696;border-bottom:1px solid #f0f2f5;line-height:1.5}td strong{font-weight:600;color:#46566b;font-size:10px}td small{display:block;color:#a6aebb;font-size:8px;margin-top:3px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfefe}.time-cell{font-size:10px;color:#4e6076;font-weight:550}.time-cell small{font-size:8px;font-weight:400}.patient-link{padding:0;display:inline-flex;align-items:center;gap:10px;text-align:left}.patient-link strong{font-size:11px}.pet-avatar{width:31px;height:33px;border-radius:9px;background:#f7eadd;color:#c1a385;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pet-avatar .icon{width:20px;height:20px}.pet-avatar.dog{background:#eae9df;color:#9f9b7a}.pet-avatar.bird{background:#e9f2e4;color:#8da583}.pet-avatar.rabbit{background:#ede8f2;color:#a595b5}.reason-cell{white-space:normal;min-width:110px;max-width:160px;font-size:9px}.doctor-dot{display:inline-block;width:5px;height:5px;background:#bfd4cf;border-radius:50%;margin-right:6px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:4px 7px;font-size:8px;font-weight:500}.status i{width:4px;height:4px;border-radius:50%;background:currentColor}.status.scheduled{background:#f0f3f7;color:#96a1b2}.status.arrived{background:#fff4e2;color:#c69b4c}.status.in-consultation{background:#eaf1fc;color:#7394ca}.status.completed,.status.paid{background:#eaf6f0;color:#6da78b}.status.cancelled{background:#fbeeea;color:#c48b7b}.status.unpaid{background:#fff4e2;color:#bc903e}.row-button{font-size:8px;border:1px solid #e7ecef;border-radius:5px;color:#8a98a5;padding:7px 10px;min-height:32px;white-space:nowrap}.row-button:hover{background:#edf7f4;border-color:#b5d9ce;color:#328d78}.teal-button{color:#599b8a;background:#f1f9f6;border-color:#e4f0eb}.align-right{text-align:right}.panel-foot{border-top:1px solid #f0f2f5;display:flex;align-items:center;justify-content:space-between;padding:10px 19px;gap:10px}.panel-foot>span{font-size:8px;color:#a9b2bd}.right-column{display:flex;flex-direction:column;gap:19px}.care-note{position:relative;overflow:hidden;background:#ecf3ef;border:1px solid #dfeae4;border-radius:11px;padding:20px 21px 18px}.care-note-top{display:flex;align-items:center;justify-content:space-between}.care-note-top .eyebrow{font-size:7px;letter-spacing:1.2px;color:#8ca292}.care-note-top .icon{color:#abc3b3;width:21px;height:21px}.care-note h2{font-size:23px;line-height:1.23;color:#426555;font-weight:550;letter-spacing:-.75px;margin:20px 0 11px;position:relative;z-index:1}.care-note p{font-size:10px;color:#90a196;line-height:1.9;max-width:190px;position:relative;z-index:1}.care-note button{font-size:9px;color:#618e78;padding:20px 0 0;display:flex;align-items:center;gap:9px;position:relative;z-index:1}.care-note button .icon{width:13px;height:13px}.care-decoration{position:absolute;right:-7px;bottom:10px;font-weight:200;font-size:165px;color:#e1ebe2;line-height:.8;transform:rotate(-15deg)}.stock-panel .panel-title{padding:17px 17px 7px}.stock-panel .panel-title h2{font-size:12px}.small-badge{font-size:8px;padding:4px 7px}.stock-item{display:flex;gap:10px;align-items:center;margin:0 17px;padding:14px 0;border-bottom:1px solid #f1f3f5}.stock-icon{color:#a6b6b1;background:#f3f7f5;border:1px solid #e8eeea;border-radius:7px;display:grid;place-items:center;width:31px;height:32px}.stock-icon .icon{width:16px;height:16px}.stock-item>span:nth-child(2){flex:1;min-width:0}.stock-item strong{display:block;font-size:9px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-item small{display:block;font-size:8px;color:#aab3bd;margin-top:4px}.stock-item b{font-size:13px;color:#bf9d62;text-align:right;font-weight:550}.stock-item b small{font-weight:400;font-size:7px}.stock-link{margin:5px 17px 8px}.quick-strip{border:1px solid var(--border);border-radius:9px;background:#fff;display:flex;align-items:center;gap:22px;padding:11px 18px;margin-top:22px}.quick-label{font-size:9px;font-weight:600;color:#94a0ae;border-right:1px solid var(--border);padding-right:22px}.quick-strip button{display:flex;align-items:center;gap:7px;font-size:9px;color:#83939f;min-height:30px;white-space:nowrap}.quick-strip button:hover{color:var(--teal)}.quick-strip .icon{width:14px;height:14px;color:#7fae9e}.shortcut{margin-left:auto;font-size:8px;color:#b0b8c3}.workspace-footer{display:flex;justify-content:space-between;padding:0 34px 19px;font-size:8px;color:#a9b2bf;gap:10px}.workspace-footer>span>span{padding:0 5px}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;gap:18px;border-bottom:1px solid #f0f2f5}.search-field{display:flex;gap:8px;align-items:center;min-width:230px;max-width:380px;flex:1;background:#fafbfc;border:1px solid var(--border);border-radius:7px;padding:0 11px}.search-field .icon{color:#a3adba;width:15px;height:15px}.search-field input{border:0;background:none;font-size:11px;padding:10px 0;min-height:38px;box-shadow:none}.search-field input::placeholder{color:#a8b1be}.filter-bar.compact{padding:0;border:0;gap:3px}.amount{font-weight:600;color:#4b6075}.phone-link{color:#71978d}.billing-stats{grid-template-columns:repeat(3,1fr)}.loading-state{padding:35px;color:var(--muted);font-size:12px}.empty-state{padding:45px;text-align:center;white-space:normal}.empty-state>.icon{display:block;margin:0 auto 14px;color:#a4b8b1;width:28px;height:28px}.empty-state strong{display:block;font-size:13px}.empty-state p{margin-top:7px;color:#a1aab5;font-size:11px}.empty-mini{font-size:12px;color:var(--muted);padding:25px;line-height:1.7}
/* Forms and records */
dialog{border:1px solid var(--border);padding:26px 30px;border-radius:16px;max-width:820px;width:min(820px,calc(100% - 32px));max-height:88vh;color:var(--ink);box-shadow:0 25px 80px rgba(18,45,58,0.22);box-sizing:border-box;overflow-y:auto}dialog:has(.medical-report-frame),dialog:has(#report-edit-form),dialog:has(#treatment-form),dialog:has(.unified-history-card){max-width:980px;width:min(980px,calc(100% - 32px))}dialog::backdrop{background:rgba(19,43,60,0.45);backdrop-filter:blur(4px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.modal-title-group{flex:1;min-width:0}.modal-header .eyebrow{font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--muted);display:block}.modal-header h2{font-size:22px;font-weight:700;margin:4px 0 0;letter-spacing:-0.3px;word-break:break-word;color:#0f172a}.modal-header p{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}.modal-close-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border-radius:50%!important;background:#f1f5f9!important;color:#64748b!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;border:1px solid #e2e8f0!important;cursor:pointer!important;padding:0!important;margin:0!important;transition:all .15s ease!important}.modal-close-btn:hover{background:#fee2e2!important;color:#ef4444!important;border-color:#fca5a5!important;transform:scale(1.05)}.modal-close-btn .icon{width:18px;height:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}#action-form .form-error{margin-top:15px}.patient-summary{display:flex;align-items:center;gap:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin-bottom:18px}.patient-summary .pet-avatar{width:52px;height:52px;border-radius:12px;flex-shrink:0}.patient-summary strong{font-size:16px;font-weight:700;color:#0f172a;display:block}.patient-summary p{font-size:12px;color:#64748b;margin-top:4px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px 20px;padding:16px 0;border-bottom:1px solid #f1f5f9;margin-bottom:16px}.detail-grid div{display:flex;flex-direction:column;gap:4px}.detail-grid small{display:block;font-size:9px;font-weight:700;letter-spacing:0.8px;color:#94a3b8;text-transform:uppercase}.detail-grid strong,.detail-grid a{display:block;font-size:13px;font-weight:600;color:#1e293b;word-break:break-word}.patient-record-actions{display:flex;align-items:center;gap:8px 10px;margin:16px 0 20px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.patient-record-actions .row-button,.patient-record-actions .secondary,.patient-record-actions .primary{min-height:38px;padding:7px 14px;font-size:11px;font-weight:550;border-radius:8px;display:inline-flex;align-items:center;gap:6px}.clinic-record-tabs{display:flex;align-items:center;gap:6px;margin-bottom:18px;padding:0;border-bottom:2px solid #f1f5f9}.clinic-record-tabs .filter{font-size:12px;font-weight:600;padding:8px 16px;min-height:38px;border-radius:8px 8px 0 0;border-bottom:2px solid transparent;margin-bottom:-2px;color:#64748b;background:transparent;transition:all .15s ease}.clinic-record-tabs .filter.selected{color:var(--teal);background:#e6f6f4;border-bottom-color:var(--teal)}.unified-history-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,0.03);transition:border-color .15s ease,box-shadow .15s ease}.unified-history-card:hover{border-color:#cbd5e1;box-shadow:0 4px 14px rgba(0,0,0,0.06)}.unified-history-card.paid-card{border-left:4px solid #10b981}.unified-history-card.due-card{border-left:4px solid #f59e0b}.unified-history-card.report-card-item{border-left:4px solid var(--teal)}.unified-card-top{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.unified-card-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doc-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:4px 9px;border-radius:6px;text-transform:uppercase;letter-spacing:0.5px}.doc-badge.status-paid{background:#d1fae5;color:#065f46}.doc-badge.status-due{background:#fef3c7;color:#92400e}.doc-badge.report-badge{background:#e0f2fe;color:#0369a1}.invoice-number{font-size:12px;font-weight:700;color:#334155;background:#f1f5f9;padding:3px 8px;border-radius:5px}.unified-date{font-size:12px;color:var(--muted);margin-left:auto}.unified-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}.unified-card-title strong{font-size:14px;font-weight:650;color:#1e293b;line-height:1.4}.invoice-amount{font-size:15px;font-weight:750;color:#0f766e;white-space:nowrap}.unified-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid #f1f5f9}.unified-card-actions .row-button{min-height:36px;padding:6px 12px;font-size:11px;font-weight:500;border-radius:6px}.unified-card-actions .complete-visit-btn{margin-left:auto;font-weight:650;background:#0d9488;border-color:#0d9488;color:#fff}.history-title{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--border);padding-top:20px}.history-title .primary{font-size:10px;padding:9px 12px;min-height:38px}.history article{border:1px solid var(--border);border-radius:9px;padding:17px;margin-top:16px}.history-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:15px}.history-meta span{font-size:10px;color:var(--muted)}dl{font-size:11px;margin:15px 0 0;line-height:1.6}dt{font-weight:650;color:#8d9aa9;font-size:9px;text-transform:uppercase;letter-spacing:.5px;margin-top:13px}dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.info-note{padding:12px 16px;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:8px;font-size:12px;color:#0f766e;margin:12px 0;line-height:1.5}.payment-total{background:#f6f9fa;border-radius:8px;padding:18px;font-size:13px}.payment-total strong{display:block;font-size:28px;margin:10px 0}.payment-total small{color:var(--muted)}.receipt{padding:10px 15px}.receipt p{font-size:11px;color:#7e8b99;margin:5px 0}.receipt hr{border:0;border-top:1px solid var(--border);margin:20px 0}.receipt h2{font-size:15px}.receipt-line,.receipt-total{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;border-top:1px solid var(--border);font-size:12px}.receipt-total{font-size:18px}.receipt .info-note{margin:20px 0}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#064e3b;color:#ecfdf5;border:1px solid #059669;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,0.35);padding:14px 24px;font-size:13px;font-weight:600;letter-spacing:0.2px;transition:opacity .25s ease,transform .25s ease;z-index:99999;max-width:90%;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}#toast.error{background:#991b1b;color:#fef2f2;border-color:#dc2626}
@media(min-width:1650px){#main{max-width:1650px;width:100%;margin:auto}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}.sidebar{width:250px}.main-shell{margin-left:250px}td{padding:19px 20px;font-size:12px}th{font-size:10px}.reason-cell{font-size:11px}.patient-link strong{font-size:12px}.status,.row-button{font-size:10px}.nav-item{font-size:13px}.care-note{padding:25px}.care-note h2{font-size:29px}.care-note p{font-size:12px;max-width:230px}.stock-item strong{font-size:11px}.stat-card{padding:23px}.stat-card>strong{font-size:33px}.stat-label{font-size:12px}.stat-card>small{font-size:10px}}
@media(max-width:1250px){.sidebar{width:208px;padding-left:13px;padding-right:13px}.main-shell{margin-left:208px}#main{padding:25px 24px}.topbar{padding:0 24px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 230px;gap:15px}.page-heading h1{font-size:24px}.heading-actions .primary{font-size:10px;padding:11px}.stat-card{padding:14px}.stat-card>strong{font-size:23px}.quick-strip{gap:15px}.quick-label{padding-right:15px}.shortcut{display:none}.care-note{padding:18px}.care-note h2{font-size:21px}.stats-grid{gap:12px}.date-control{padding:0 8px}.heading-actions{gap:7px}.stock-item{gap:7px;margin:0 12px}.stock-item strong{font-size:8px}td{padding:13px 12px}th{padding:13px 12px}.schedule-panel .panel-title{padding:18px 14px}.schedule-panel .panel-title p{font-size:8px}.filter-bar{padding-left:14px}.reason-cell{min-width:95px}.schedule-panel th:nth-child(4),.schedule-panel td:nth-child(4){display:none}.clinic-switch strong{font-size:9px}.login-art{padding-left:8%;padding-right:8%}.login-art h2{font-size:32px}.logo-crop.large{width:290px}}
@media(max-width:1000px){.sidebar{width:180px;padding:25px 10px 14px}.main-shell{margin-left:180px}.brand-link{padding-left:9px}.brand-link .wordmark{font-size:28px}.clinic-switch{padding:10px 7px;gap:7px}.clinic-switch strong{max-width:102px;font-size:8px}.clinic-switch small{font-size:8px}.clinic-switch .online-dot{display:none}.nav-item{padding:12px 10px;gap:9px;font-size:10px}.help-card{padding:13px 9px}.help-card p{font-size:8px}.powered{font-size:7px}.dashboard-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.care-note{min-height:230px}.care-note h2{margin-top:12px}.stock-panel .stock-item{padding:12px 0}.care-note p{max-width:240px}.care-note button{padding-top:14px}.page-heading{align-items:flex-start}.heading-actions{flex-direction:column-reverse;align-items:stretch;padding:0}.heading-actions .date-control{justify-content:center}.top-right{gap:8px}.topbar{height:65px}.demo-tag{font-size:7px;margin-right:4px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-card>strong{font-size:27px}.stat-label{font-size:11px}.stat-card>small{font-size:9px}.schedule-panel th:nth-child(4),.schedule-panel td:nth-child(4){display:table-cell}.toolbar{flex-wrap:wrap}.workspace-footer{padding:0 24px 18px}.workspace-footer>span:last-child{display:none}.login-main{padding-left:9%;padding-right:9%}.login-art{padding-left:7%;padding-right:7%}.login-art h2{font-size:30px}.login-content h1{font-size:31px}.logo-crop.large{width:260px}.logo-crop.large img{width:395px;top:-64px;left:-62px}.art-top{font-size:6px}.login-brand .eyebrow{font-size:6px}.login-brand{gap:10px}.art-cards small{font-size:9px}}
@media(max-width:760px){.sidebar{width:200px;transform:translateX(-100%);transition:transform .2s;box-shadow:10px 0 50px #152f3b22}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0}.mobile-menu{display:inline-flex}.topbar{padding:0 16px;gap:8px}.breadcrumb{margin-right:auto;font-size:9px;gap:6px}.top-right{gap:7px}.timezone,.top-divider{display:none}.user-info{display:none}.user-avatar{width:29px;height:29px}.demo-tag{font-size:7px;letter-spacing:.6px;padding:5px}.page-heading h1{font-size:24px}.page-heading p{font-size:10px;max-width:250px}#main{padding:24px 18px}.heading-actions .primary{font-size:9px;min-height:38px;padding:9px}.heading-actions .date-control{min-height:35px}.date-control input{font-size:9px;min-height:33px}.page-heading{gap:12px}.eyebrow{font-size:7px}.day-banner{padding:13px 14px}.quick-strip{flex-wrap:wrap;gap:6px 16px;padding:10px 15px}.quick-label{border:0;width:100%;padding:0;margin-bottom:2px}.quick-strip button{font-size:9px}.toolbar{padding:13px}.search-field{min-width:210px;max-width:none}.login-layout{grid-template-columns:1fr}.login-art{display:none}.login-main{padding:25px 9%;min-height:100dvh}.login-content{max-width:400px;padding:40px 0}.login-content h1{font-size:35px}.login-brand .eyebrow{font-size:8px}.login-footer{padding-bottom:10px}.right-column{gap:12px}.care-note p{max-width:150px;font-size:9px}.care-note .eyebrow{font-size:6px}.stock-item strong{font-size:8px}.stock-item small{font-size:7px}.stock-icon{display:none}.panel-title{padding:16px 13px}.panel-title h2{font-size:12px}.panel-title p{font-size:8px}.panel-title .text-button{font-size:8px}.schedule-panel th:nth-child(3),.schedule-panel td:nth-child(3){display:none}.schedule-panel th:nth-child(4),.schedule-panel td:nth-child(4){display:none}.panel-foot>span{font-size:7px}.panel-foot{padding:9px 13px}.workspace-footer{padding:0 18px 16px}.form-grid{gap:15px}dialog{padding:21px}.modal-header h2{font-size:20px}.detail-grid{gap:12px}.detail-grid strong,.detail-grid a{font-size:10px}.history-meta{align-items:flex-start;flex-direction:column;gap:5px}.history-title .primary{font-size:9px}.history-title h3{font-size:12px}}
@media(max-width:430px){.page-heading h1{font-size:21px}.page-heading p{font-size:9px;max-width:190px}.page-heading .eyebrow{font-size:6px}.heading-actions .primary{font-size:8px;gap:5px}.heading-actions .primary .icon{width:12px}.date-control input{width:105px;font-size:8px}.date-control .icon{width:12px}#main{padding:21px 12px}.day-banner .pill{font-size:8px}.stats-grid{gap:10px}.stat-label{font-size:9px}.stat-card{padding:13px}.stat-card>strong{font-size:24px}.stat-card>small{font-size:8px}.stat-icon{width:24px;height:24px}.day-banner strong{font-size:10px}.day-banner small{font-size:8px}.right-column{grid-template-columns:1fr}.care-note{min-height:220px}.care-note h2{font-size:25px}.care-note p{max-width:230px}.care-note .eyebrow{font-size:8px}.stock-icon{display:grid}.stock-item strong{font-size:10px}.stock-item small{font-size:8px}.stock-item{gap:12px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-header{margin-bottom:20px}.detail-grid{grid-template-columns:1fr 1fr}.top-right .demo-tag{display:none}.billing-stats{grid-template-columns:1fr 1fr}.billing-stats .stat-card:last-child{grid-column:1/-1}.filter-bar{gap:3px}.filter{font-size:8px;padding:6px 8px}.panel-foot .text-button{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body>*:not(dialog){display:none!important}dialog{display:block;position:static;border:0;box-shadow:none;max-height:none;max-width:none;width:100%;padding:0}dialog .modal-header,dialog .modal-actions{display:none}dialog::backdrop{display:none}.receipt{max-width:700px;margin:0 auto}.receipt .wordmark{color:#20334c}.receipt p{color:#555}}
/* Clinic readability and original CuraVet emblem */
.brand-complete{display:inline-flex;align-items:center;gap:7px}.brand-emblem{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;overflow:hidden;flex-shrink:0;border-radius:50%;background:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,0.06)}.brand-emblem img{position:static;width:100%;height:100%;object-fit:contain}.brand-link .wordmark{font-size:29px}.brand-link{padding-left:7px}.brand-link>.eyebrow{margin-left:44px;font-size:6px;letter-spacing:2px}.brand-complete .wordmark{font-size:30px}.nav-item{font-size:12px;min-height:46px}.nav-item .icon{width:19px;height:19px}.nav-label{font-size:9px}.clinic-switch strong{font-size:11px}.clinic-switch small{font-size:10px}.help-card strong{font-size:11px}.help-card p{font-size:10px}.powered{font-size:9px}.breadcrumb{font-size:11px}.user-info strong{font-size:12px}.user-info small{font-size:10px}.demo-tag{font-size:9px}.page-heading .eyebrow{font-size:9px}.page-heading h1{font-size:29px}.page-heading p{font-size:12px}.date-control input{font-size:12px;width:130px}.day-banner strong{font-size:12px}.day-banner small{font-size:11px}.stat-label{font-size:12px}.stat-card>small{font-size:10px}.panel-title h2{font-size:15px}.panel-title p{font-size:11px}.text-button{font-size:11px}.filter{font-size:11px;min-height:38px}.filter span{font-size:10px}th{font-size:10px}td{font-size:12px;padding-top:15px;padding-bottom:15px}td strong{font-size:12px}td small{font-size:10px}.time-cell{font-size:12px}.time-cell small{font-size:10px}.patient-link strong{font-size:13px}.reason-cell{font-size:11px}.status{font-size:10px;padding:5px 7px}.row-button{font-size:11px;min-height:40px}.icon-button{min-width:40px;min-height:42px}.panel-foot>span{font-size:10px}.stock-item strong{font-size:11px}.stock-item small{font-size:10px}.small-badge{font-size:10px}.stock-item b small{font-size:9px}.quick-label,.quick-strip button{font-size:11px}.shortcut{font-size:10px}.workspace-footer{font-size:10px}.care-note p{font-size:12px}.care-note button{font-size:11px}.search-field input{font-size:12px}.clinic-switch{padding-left:7px;padding-right:7px}.sidebar{overflow:hidden}.brand-link{flex-shrink:0}.login-brand .brand-complete{gap:8px}.login-brand .brand-emblem{width:36px;height:38px}.clinic-icon.clinic-logo-icon{background:#ffffff;border:1px solid #dce5ee;border-radius:6px;padding:2px;overflow:hidden;display:flex;align-items:center;justify-content:center}.clinic-icon.clinic-logo-icon img{width:100%;height:100%;object-fit:contain}.powered-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.powered-badge .ets-logo-img{height:20px;width:auto;max-width:110px;object-fit:contain}.powered-badge span{font-size:8px;line-height:1.4;color:#8f9ba9}.login-footer .powered-badge{margin:0 auto;gap:8px}.login-footer .powered-badge .ets-logo-img{height:24px}.vet-login-crop{width:160px!important;height:160px!important;border-radius:50%!important;background:#ffffff!important;display:flex!important;align-items:center;justify-content:center;padding:16px!important;box-shadow:0 10px 30px rgba(0,0,0,0.06)!important;margin-bottom:24px}.vet-login-crop img{position:static!important;width:100%!important;height:100%!important;object-fit:contain!important}.logo-crop.large img{position:static;width:100%;height:100%;object-fit:contain}
@media(max-width:1250px){.brand-complete .wordmark{font-size:25px}.brand-emblem{width:32px;height:32px}.brand-emblem img{position:static;width:100%;height:100%}.brand-link>.eyebrow{margin-left:36px;font-size:6px;letter-spacing:1.7px}.clinic-switch strong{font-size:10px}.clinic-switch small{font-size:9px}.schedule-panel th:nth-child(4),.schedule-panel td:nth-child(4){display:none}.quick-strip{gap:14px}.quick-label,.quick-strip button{font-size:10px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.stat-label{font-size:11px}.stock-item strong{font-size:10px}.stock-item small{font-size:9px}.sidebar-bottom{padding-top:20px}}
@media(max-width:1000px){.brand-complete .wordmark{font-size:22px}.brand-link{padding-left:1px}.brand-link>.eyebrow{font-size:5px;letter-spacing:1.4px}.clinic-switch strong{font-size:9px}.nav-item{font-size:11px;padding:12px 8px;gap:8px}.powered{font-size:8px;padding-left:3px;padding-right:3px}.help-card p{font-size:9px}.panel-title p{font-size:10px}.right-column .stock-item strong{font-size:11px}.logo-crop.large{width:260px}.logo-crop.large img{width:395px;top:-64px;left:-62px}.login-brand .wordmark{font-size:30px}}
@media(max-width:760px){.top-right .demo-tag{display:none}.page-heading h1{font-size:24px}.page-heading p{font-size:11px}.heading-actions .primary{font-size:11px}.heading-actions .date-control input{font-size:11px;width:118px}.page-heading .eyebrow{font-size:8px}.stat-label{font-size:11px}.stat-card>small{font-size:10px}.care-note p{font-size:11px}.panel-title h2{font-size:13px}.panel-title p{font-size:10px}.schedule-panel th:nth-child(3),.schedule-panel td:nth-child(3){display:none}.schedule-panel td,.schedule-panel th{padding-left:10px;padding-right:10px}.panel-foot>span{font-size:9px}.workspace-footer{font-size:9px}.form-grid label{font-size:13px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-height:46px}.stock-item strong{font-size:10px}.stock-item small{font-size:9px}.login-brand .brand-complete .wordmark{font-size:31px}.brand-link .brand-complete .wordmark{font-size:26px}.brand-link>.eyebrow{font-size:6px;letter-spacing:1.7px}.quick-strip button{font-size:11px;min-height:40px}.filter{font-size:10px}.toolbar .muted{font-size:10px}.schedule-panel .table-wrap{overflow-x:auto}}
@media(max-width:430px){.page-heading{flex-wrap:wrap}.heading-actions{flex-direction:row;width:100%;align-items:center;justify-content:space-between;padding-top:4px}.page-heading p{max-width:none}.page-heading h1{font-size:25px}.heading-actions .primary{font-size:11px}.care-note p{font-size:12px}.stat-label{font-size:10px}.right-column .stock-item strong{font-size:12px}.right-column .stock-item small{font-size:10px}.panel-title p{max-width:210px}.panel-foot .text-button{font-size:10px}.filter-bar{gap:3px}.filter{padding-left:9px;padding-right:9px}.schedule-panel .patient-link{gap:7px}.schedule-panel .pet-avatar{width:25px;height:28px}.status{font-size:10px}.row-button{font-size:11px;min-height:44px}.detail-grid strong,.detail-grid a{font-size:12px}}
.directory-pagination{display:flex;align-items:center;gap:18px;padding:15px 20px;border-top:1px solid var(--border)}[hidden]{display:none!important}.patient-record-actions{display:flex;gap:10px;margin:0 0 20px;flex-wrap:wrap}.patient-record-actions .icon{width:17px;height:17px}.staff-toggle{margin-left:12px}.patient-record-actions .secondary{font-size:11px}
@media print{.patient-record-actions{display:none}}
/* Additional clinic workflows reuse the established shell, tables and dialogs. */
.clinic-source-bar{display:flex;align-items:center;gap:12px;margin:-8px 0 22px;min-height:42px}.clinic-source-bar>label{margin-left:auto}.clinic-source-bar select{font-size:11px;padding:7px 10px;min-height:36px;background:#fff;max-width:220px}.source-hint{font-size:11px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.clinic-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.scope-note{font-size:11px;color:var(--muted);margin:0 0 18px}.clinic-revenue-stats{padding:18px;margin:0}.note-cell{min-width:230px;max-width:400px;white-space:normal}.note-cell p{font-size:11px;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}.record-card{padding:18px 0;border-bottom:1px solid var(--border)}.record-card>small,.record-card>div>small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.record-card p{font-size:12px;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.record-card .row-button{margin:4px 7px 0 0}.clinic-record-tabs{padding:0 0 12px}.category-checks,.treatment-options{border:1px solid var(--border);border-radius:8px;padding:14px;display:flex;flex-wrap:wrap;gap:9px 18px}.category-checks legend,.treatment-options legend{font-size:12px;font-weight:600;padding:0 6px}.category-checks label,.treatment-options label{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:11px;font-weight:400}.category-checks input,.treatment-options input,.treatment-done input{width:16px;min-height:16px;height:16px;accent-color:var(--teal)}.category-list>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);gap:20px}.medical-report-frame{width:100%;height:75vh;border:1px solid var(--border);border-radius:8px;background:#fff}.visit-line{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;border:1px solid var(--border);border-radius:9px;padding:15px;margin-bottom:12px;position:relative}.visit-line>label:first-child{grid-column:1/-1}.visit-line>label:nth-child(4){grid-column:1/3}.visit-line>.icon-button{justify-self:end;align-self:end}.visit-line label{font-size:11px}.visit-totals{background:#f3f8f6;border-radius:8px;padding:17px;display:flex;flex-direction:column;gap:10px}.visit-totals>span{display:flex;justify-content:space-between;font-size:12px}.visit-totals>span:last-child{font-size:17px;border-top:1px solid #e0eae6;padding-top:12px}.treatment-save-state{font-size:11px;padding:12px 14px;border-radius:6px;background:#eff7f3;color:#638b79;margin-bottom:16px}#treatment-form details,.template-definition{border:1px solid var(--border);border-radius:8px;padding:15px;margin-bottom:15px}#treatment-form summary,.template-definition summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.8}#treatment-form details>.form-grid{margin-top:18px}.treatment-card summary .pill{margin-left:8px}.treatment-field>label,.treatment-field fieldset{height:auto;min-height:0}.treatment-field.full{grid-column:1/-1}.treatment-field>.full{grid-column:auto}.treatment-done{flex-direction:row;align-items:center;gap:8px;margin-top:18px;font-size:12px}#treatment-form>label{margin-top:20px}#treatment-error{margin-top:15px}.template-definition p{margin-top:7px}.status.waiting{background:#fff4e2;color:#bc903e}.status.in-progress{background:#eaf1fc;color:#7394ca}.status.done,.status.active{background:#eaf6f0;color:#6da78b}.status.inactive,.status.due{background:#fff4e2;color:#bc903e}.clinic-source-bar .pill{font-size:10px}
@media(max-width:1000px){.source-hint{display:none}.clinic-source-bar{gap:8px}.clinic-source-bar select{max-width:205px}.clinic-toolbar-actions{justify-content:flex-start}.clinic-revenue-stats{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.clinic-source-bar{flex-wrap:wrap;gap:7px;margin-bottom:20px}.clinic-source-bar>label{margin-left:auto}.clinic-source-bar select{font-size:10px;max-width:190px}.clinic-source-bar .icon-button{display:none}.clinic-toolbar-actions{gap:7px}.clinic-toolbar-actions .row-button{font-size:10px}.medical-report-frame{height:65vh}.visit-line{padding:12px}.clinic-revenue-stats{grid-template-columns:1fr}.clinic-record-tabs{gap:2px}.clinic-record-tabs .filter{font-size:10px;padding:8px}.treatment-options label,.category-checks label{font-size:12px;min-height:32px}.treatment-field input,.treatment-field select,.treatment-field textarea{font-size:16px}#treatment-form .form-grid{grid-template-columns:1fr}.treatment-card summary{font-size:12px}#treatment-form summary .pill{margin-left:0;margin-top:5px}.clinic-source-bar .pill{font-size:9px}}
@media print{.clinic-source-bar{display:none!important}.medical-report-frame{height:90vh;border:0}}
.medication-table,.compact-vitals{border:1px solid var(--border);border-radius:8px;padding:14px;min-width:0}.medication-table legend,.compact-vitals legend{font-size:12px;font-weight:600}.medication-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;border-bottom:1px solid var(--border);padding-bottom:13px;margin-bottom:13px}.medication-row label{font-size:10px}.medication-row input{padding:9px;min-height:38px}.medication-row .icon-button{justify-self:end;align-self:end}.compact-vitals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.searchable-treatment-options{max-height:230px;overflow-y:auto}.option-search{position:sticky;top:-14px;background:#fff;flex:1 0 100%;font-size:12px}.other-details{margin-top:13px}
@media(max-width:760px){.medication-row{grid-template-columns:1fr 1fr}.medication-row label:first-child{grid-column:1/-1}.compact-vitals{grid-template-columns:1fr 1fr}.medication-row input{font-size:16px}.category-checks [hidden],.treatment-options [hidden]{display:none!important}}
.patient-photo{width:48px;height:48px;border-radius:9px;object-fit:cover;flex-shrink:0}
.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;padding-right:4px}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar-bottom{flex-shrink:0}
.whatsapp-share{display:inline-flex;align-items:center;text-decoration:none;white-space:normal}.share-unavailable{display:block;font-size:12px;color:var(--muted);margin-top:10px}#action-form[data-completion-queue] .modal-actions{flex-wrap:wrap}
.document-actions,.clinic-filter-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.clinic-filter-controls{padding:14px 20px;border-bottom:1px solid var(--border)}.clinic-filter-controls label{flex:1 1 140px;font-size:11px}.clinic-filter-controls input,.clinic-filter-controls select{font-size:12px;min-height:38px}.document-actions>a,.document-actions>button{white-space:normal}#camera-capture video{display:block;width:100%;max-height:250px;border-radius:8px}#camera-capture[hidden]{display:none}.patient-record-actions>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.patient-record-actions>div>strong{font-size:11px}.document-actions .row-button{min-height:40px;display:inline-flex;align-items:center}
.overview-finances{margin-top:24px}.overview-finances .billing-stats{padding:0 20px}.weekly-revenue{padding:16px 24px;display:grid;gap:12px}.weekly-revenue>div{display:grid;grid-template-columns:100px minmax(80px,1fr) 115px;gap:15px;align-items:center;font-size:11px}.weekly-revenue progress{width:100%;height:10px;accent-color:var(--teal)}.weekly-revenue strong{text-align:right}.patient-photo{object-fit:cover}
@media(max-width:760px){.clinic-filter-controls{padding:12px}.clinic-filter-controls label{flex-basis:130px}.document-actions>a,.document-actions>button{flex:1 1 130px;justify-content:center;text-align:center}.patient-record-actions>div>strong{flex-basis:100%}.weekly-revenue{padding:14px}.weekly-revenue>div{grid-template-columns:78px minmax(30px,1fr) 90px;gap:8px;font-size:10px}}
.revenue-range{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--border)}.revenue-range label{font-size:10px;gap:4px}.revenue-range input{min-height:36px;padding:5px 8px;font-size:11px;max-width:155px}.revenue-range>.small{margin-right:8px}.invoice-edit-line{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;padding:14px;border:1px solid var(--border);border-radius:9px;margin-bottom:12px}.invoice-edit-line>label:first-child{grid-column:1/-1}.invoice-edit-line>.icon-button{align-self:end;justify-self:end}
@media(max-width:760px){.revenue-range{padding:12px}.revenue-range input{font-size:14px;max-width:140px}.invoice-edit-line{grid-template-columns:1fr 1fr}.invoice-edit-line input{font-size:16px}}
/* Role workflows: administration, reception and clinical tablet */
.role-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:14px;margin-bottom:24px}.admin-intro{background:#1c3557;color:#fff}.role-intro .eyebrow{color:#8bd9d4}.role-intro h2{font-size:25px;margin:8px 0}.role-intro p{color:#d0dbe7;font-size:13px}.operations-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:22px;margin:24px 0}.operations-links{padding:24px}.operations-links>button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:17px 0;border-bottom:1px solid var(--border)}.operations-links>button span{flex:1}.operations-links>button span strong{display:block;font-size:13px;font-weight:600;color:var(--ink)}.operations-links>button span small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.operations-links .icon{color:var(--teal)}.revenue-chart{display:flex;gap:14px;justify-content:space-between;align-items:flex-end;padding:24px 20px 18px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;height:230px;box-sizing:border-box;margin-top:14px}.chart-bar{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0;position:relative}.chart-bar .chart-val,.chart-bar strong{order:1;font-size:11px;font-weight:700;color:#64748b;margin-bottom:8px;text-align:center;white-space:nowrap;transition:color .15s,transform .15s}.chart-bar.has-value .chart-val,.chart-bar.has-value strong{color:#0f766e;font-weight:800}.chart-bar:hover .chart-val,.chart-bar:hover strong{color:#0f172a;transform:translateY(-2px)}.chart-bar .bar-slot{order:2;width:100%;max-width:44px;min-width:24px;height:130px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;background:rgba(226,232,240,.45);border-radius:8px;padding:3px;box-sizing:border-box;border:1px solid rgba(203,213,225,.45)}.chart-bar .bar{display:block;width:100%;min-height:4px;height:calc(100% * var(--val,0));background:linear-gradient(180deg,#00a896 0%,#0284c7 100%);border-radius:5px;transition:height .4s cubic-bezier(.4,0,.2,1),filter .15s;box-shadow:0 2px 6px rgba(0,168,150,.25);cursor:pointer}.chart-bar.is-zero .bar{background:#cbd5e1;box-shadow:none;opacity:.5;height:4px!important}.chart-bar:hover .bar{filter:brightness(1.12);transform:scaleY(1.02);transform-origin:bottom}.chart-bar .chart-label,.chart-bar small{order:3;font-size:11.5px;font-weight:600;color:#64748b;margin-top:8px;text-align:center;display:flex;align-items:center;gap:3px}.chart-bar.is-today .chart-label,.chart-bar.is-today small{color:#00a896;font-weight:800}.chart-bar .today-dot{color:#00a896;font-size:14px;line-height:1}.revenue-chart span{font-size:11px;color:var(--muted)}.reception-search{background:#eaf7f5;border:1px solid #d3eae6;border-radius:14px;padding:30px;margin-bottom:22px}.reception-search h2{font-size:28px;margin:9px 0 20px}.reception-search .search-field{max-width:none;background:#fff;border:1px solid #c4dfda;min-height:60px;padding:0 16px}.reception-search .search-field input{font-size:16px;min-height:58px}.reception-search>p{color:#567972;margin-top:14px;font-size:12px}.search-result{display:flex;align-items:center;gap:14px;width:100%;padding:14px;text-align:left;border-bottom:1px solid var(--border);background:#fff}.search-result>span:nth-child(2){flex:1}.search-result small{display:block;margin-top:5px;color:var(--muted)}.frontdesk-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0 24px;padding:14px 18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,0.03)}.frontdesk-flow>div{display:flex;gap:12px;align-items:center}.frontdesk-flow b{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#dceeea;color:#0d9488;font-weight:700;font-size:13px}.frontdesk-flow strong{font-size:12.5px;font-weight:700;display:block;color:#0f172a;line-height:1.3}.frontdesk-flow small{font-size:11px;color:#64748b;display:block;margin-top:2px;line-height:1.35}.frontdesk-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:22px}.frontdesk-grid>aside{display:grid;align-content:start;gap:22px}.recent-patients>button{display:flex;align-items:center;gap:14px;padding:17px 22px;width:100%;border-top:1px solid var(--border);text-align:left}.recent-patients>button>span:nth-child(2){flex:1;min-width:0}.recent-patients strong{font-size:14px}.recent-patients small{display:block;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.desk-summary{padding:22px}.desk-summary h2{margin-bottom:16px}.desk-summary>button{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--border);width:100%;text-align:left;font-size:12px}.desk-summary strong{font-size:20px}.desk-followups .panel-title{flex-wrap:wrap}.followup-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border-top:1px solid var(--border);width:100%;text-align:left}.followup-item b{font-size:12px;color:var(--teal)}.followup-item small{display:block;color:var(--muted);margin-top:4px}.desk-followups>.text-button{margin:16px 20px}.visit-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;padding:20px}.visit-card{padding:22px;border:1px solid #dce4e9;border-radius:12px;background:#fff;min-width:0}.visit-in-progress{border-color:#69bdb7;background:#fbfefd;box-shadow:inset 0 3px #0a9694}.visit-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;flex-wrap:wrap}.visit-card-top>small{color:var(--muted);font-size:10px}.visit-patient{display:flex;gap:12px;align-items:center}.visit-patient h2{font-size:21px}.visit-patient p{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.visit-services{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.visit-services span{background:#f0f4f7;padding:7px 9px;border-radius:6px;font-size:11px}.visit-doctor{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.visit-doctor .icon{width:15px}.visit-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.visit-card-actions>button{flex:1 1 auto;min-height:44px}.visit-card-actions .primary{flex-basis:100%}.queue-stage-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px 20px;border-bottom:1px solid var(--border)}.queue-stage-bar .filter{display:flex;gap:10px;align-items:center;min-height:42px;font-size:12px}.queue-stage-bar .filter span{border-radius:20px;padding:3px 6px;background:#e9eef1;font-size:10px}.queue-stage-bar>label{margin-left:auto;font-size:12px;display:flex;align-items:center;gap:7px}.queue-stage-bar input{width:18px;min-height:18px;accent-color:var(--teal)}.clinical-flow{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:18px 20px;color:var(--muted);font-size:12px;background:#f4f9f8}.clinical-flow>span:first-child{color:var(--teal);font-weight:700}.clinical-flow i{font-style:normal;color:#9cb2ae}.tracking-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;background:#f5f8fa}.tracking-board>section{min-width:0}.tracking-heading{display:flex;justify-content:space-between;align-items:center;padding:8px 4px 20px}.tracking-heading h2{font-size:14px}.tracking-heading span{font-size:12px;color:var(--muted)}.tracking-board .visit-card{margin-bottom:14px;padding:16px}.tracking-board .visit-patient h2{font-size:18px}.tracking-board .visit-card-top{margin-bottom:15px}.tracking-board .visit-patient .pet-avatar{display:none}.tracking-board .visit-card-actions>button{flex-basis:100%;white-space:normal}.report-desk {
  display: grid !important;
  grid-template-columns: 340px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
}.report-browser{min-width:0;overflow:hidden}.report-filters{padding:18px;display:grid;gap:14px;border-bottom:1px solid var(--border)}.report-filters>label{display:block;font-size:11px}.report-filters .search-field{min-width:0}.report-filters input,.report-filters select{font-size:12px}.report-date-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-date-range label{font-size:10px}.report-date-range input{padding:9px 5px;font-size:11px}.report-list-item{display:block;width:100%;padding:18px;text-align:left;border-bottom:1px solid var(--border);border-left:3px solid transparent}.report-list-item.selected{background:#edf7f5;border-left-color:var(--teal)}.report-list-item>span:first-child{display:inline-block;max-width:100%}.report-list-item strong{font-size:15px}.report-list-item small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.report-list-item p{font-size:12px;margin:10px 0 5px;overflow-wrap:anywhere}.report-version{display:block;color:#3e897c;font-size:9px;margin-top:8px;text-transform:uppercase;letter-spacing:.6px}.report-browser .directory-pagination{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:10px}.report-browser .directory-pagination small{font-size:10px;line-height:1.6}.report-review{min-width:0;overflow:hidden}.report-review-header{padding:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--border)}.report-review-header h2{font-size:27px;margin-top:7px}.report-review-header p{font-size:12px;margin-top:7px}.report-review-header small{display:block;color:var(--muted);margin-top:7px}.report-action-bar{padding:15px 20px;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.report-action-bar a,.report-action-bar button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.report-attachment-hint{font-size:11px;color:var(--muted);padding:0 20px 15px}.revision-banner{padding:12px 20px;background:#edf5f4;color:#48736e;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.report-paper{display:block;width:100%;height:820px;border:0;background:#edf0f3}.revision-history{padding:24px;border-top:1px solid var(--border)}.revision-history h3{margin-bottom:16px}.revision-history article{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--border);padding:16px 0}.revision-history small{display:block;color:var(--muted);margin-top:5px}.revision-history p{font-size:12px;margin-top:8px;overflow-wrap:anywhere}.clinical-stepper{position:sticky;top:0;z-index:2;display:flex;gap:10px;background:#fff;padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:20px}.clinical-stepper button{display:flex;align-items:center;gap:9px;flex:1;min-height:48px;background:#edf6f4;border-radius:7px;padding:10px 15px;color:#177b72;font-weight:700;font-size:14px}.clinical-stepper span{font-size:12px;font-weight:500}dialog:has(#treatment-form),dialog:has(#report-edit-form){width:calc(100% - 40px);max-width:1120px;max-height:94dvh;padding:28px 34px}#treatment-form .modal-actions,#report-edit-form .modal-actions{position:sticky;bottom:-28px;background:#fff;z-index:2;padding:16px 0;margin-top:20px}#report-edit-form>details{border:1px solid var(--border);padding:18px;border-radius:10px;margin-bottom:18px}#report-edit-form summary{cursor:pointer;font-weight:650;font-size:14px}#report-edit-form .form-grid{margin-top:20px}#report-edit-form>label{display:block;margin-top:20px;font-size:13px}#report-edit-form textarea{margin-top:9px}#report-edit-form .form-error{margin-top:15px}.amendment-stamp{padding:12px;border:1px solid #ddd;font-size:11px}
@media(min-width:761px){.role-doctor .sidebar{width:110px;padding:24px 8px 14px}.role-doctor .main-shell{margin-left:110px}.role-doctor .brand-link{padding:0;text-align:center}.role-doctor .brand-complete{flex-direction:column;gap:8px}.role-doctor .brand-complete .wordmark{font-size:20px}.role-doctor .brand-link>.eyebrow,.role-doctor .clinic-switch,.role-doctor .nav-label,.role-doctor .help-card{display:none}.role-doctor .sidebar nav{padding-top:30px}.role-doctor .nav-item{display:flex;flex-direction:column;gap:9px;text-align:center;font-size:10px;padding:17px 4px;line-height:1.4}.role-doctor .nav-item .icon{width:23px;height:23px}.role-doctor .powered{font-size:8px;padding:6px;line-height:1.7}.role-reception .sidebar{border-top:4px solid var(--teal)}.role-admin .sidebar{border-top:4px solid var(--navy)}}
@media(max-width:1200px){.tracking-board{grid-template-columns:1fr}.tracking-board>section{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.tracking-heading{grid-column:1/-1;padding-bottom:8px}.report-desk {
  display: grid !important;
  grid-template-columns: 340px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
}.report-review-header{flex-wrap:wrap}.frontdesk-flow{grid-template-columns:1fr 1fr;gap:18px}.frontdesk-grid{grid-template-columns:1fr}.report-action-bar>*{flex:1 1 140px}}
@media(max-width:1000px){.report-desk {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}.report-browser #report-list{display:flex;overflow-x:auto;max-height:300px}.report-list-item{flex:0 0 240px;border-right:1px solid var(--border)}.report-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}.report-date-range{grid-column:1/-1}.report-paper{height:750px}.operations-grid{grid-template-columns:1fr}.operations-links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.operations-links>.eyebrow{grid-column:1/-1}.role-intro{padding:24px}}
@media(max-width:760px){.reception-search{padding:22px 18px}.reception-search h2{font-size:24px}.frontdesk-flow{margin:22px 0}.frontdesk-flow>div{gap:8px}.frontdesk-flow strong{font-size:11px}.frontdesk-flow small{font-size:9px}.role-intro{flex-direction:column;align-items:flex-start}.role-intro h2{font-size:23px}.operations-links{grid-template-columns:1fr}.report-filters input,.report-filters select{font-size:16px}.report-filters{grid-template-columns:1fr}.report-date-range input{font-size:14px}.report-review-header{padding:20px}.report-action-bar{padding:14px}.report-paper{height:660px}.revision-history{padding:18px}.revision-history article{flex-wrap:wrap}.clinical-stepper{gap:5px}.clinical-stepper button{flex-direction:column;padding:8px;gap:4px;font-size:12px}.clinical-stepper span{font-size:10px}.visit-card-grid{grid-template-columns:1fr;padding:14px}.visit-card{padding:18px}.queue-stage-bar{padding:14px;gap:5px}.queue-stage-bar .filter{font-size:10px;padding:8px}.queue-stage-bar>label{flex-basis:100%;margin:6px 0 0}.clinical-flow{font-size:10px;gap:8px;padding:14px}.clinical-flow>i{display:none}.tracking-board{padding:12px}.tracking-board>section{grid-template-columns:1fr}.recent-patients>button{padding:16px}.frontdesk-grid{gap:16px}dialog:has(#treatment-form),dialog:has(#report-edit-form){width:calc(100% - 14px);max-height:96dvh;padding:20px 16px}#treatment-form .modal-actions,#report-edit-form .modal-actions{bottom:-20px;flex-wrap:wrap}#report-edit-form .form-grid{grid-template-columns:1fr}.revenue-chart{padding:20px 10px;gap:7px}.revenue-chart strong{font-size:8px}}

/* BriskVet Production & Diagnostic Tests UI */
.clinic-source-bar { display: none !important; }
.demo-tag { display: none !important; }

.brand-complete .wordmark { color: #1c355e !important; }
.brand-complete .wordmark span { color: #00a896 !important; }

/* Diagnostic Tests Selection Box in Treatment / Examination Form */
.diagnostic-tests-box {
  background: #f8fafc;
  border: 1.5px solid #dbeafe;
  border-radius: 12px;
  padding: 16px 18px;
  margin: 12px 0;
}
.diag-legend {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 8px;
}
.diag-legend strong {
  font-size: 13px;
  color: #1e3a8a;
  font-weight: 700;
}
.diag-hint {
  font-size: 10px;
  color: #64748b;
  font-weight: normal;
}
.diag-tests-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 14px;
}
.diag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  color: #334155;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  user-select: none;
}
.diag-chip:hover {
  border-color: #0284c7;
  background: #f0f9ff;
  color: #0369a1;
}
.diag-chip input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-height: 14px;
  margin: 0;
  accent-color: #0284c7;
  cursor: pointer;
}
.diag-chip.active {
  background: #1a5ca8 !important;
  border-color: #1a5ca8 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(26, 92, 168, 0.25);
}
.diag-chip.active input[type="checkbox"] {
  accent-color: #1a5ca8;
}
.diag-other-wrap {
  margin-top: 8px;
  border-top: 1px dashed #e2e8f0;
  padding-top: 10px;
}

/* Multi-Diagnosis Chips */
.dx-chips-container {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 38px;
  padding: 6px 10px;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  margin-bottom: 8px;
  align-items: center;
}
.dx-chips-container:empty::before {
  content: 'No diagnoses selected yet. Choose from below or click None / Healthy.';
  color: #94a3b8;
  font-size: 12px;
  font-style: italic;
}
.dx-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #e0f2fe;
  color: #0369a1;
  border: 1px solid #bae6fd;
  border-radius: 16px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  animation: fadeIn 0.15s ease-in;
}
.dx-chip.healthy {
  background: #dcfce7;
  color: #15803d;
  border-color: #bbf7d0;
}
.dx-chip-remove {
  background: none;
  border: none;
  color: inherit;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.dx-chip-remove:hover {
  background: rgba(0,0,0,0.15);
}
.dx-input-wrapper {
  display: flex;
  flex: 1;
  gap: 6px;
}
.dx-input-wrapper input {
  flex: 1;
}

/* Primary Diagnosis with None / Healthy button */
.primary-dx-field {
  grid-column: 1 / -1;
}
.input-with-action {
  display: flex;
  gap: 8px;
  align-items: stretch;
  width: 100%;
}
.input-with-action input {
  flex: 1;
}
.action-tag-btn {
  padding: 0 14px;
  min-height: 42px;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #475569;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.15s;
}
.action-tag-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
  border-color: #94a3b8;
}

/* Treatment Options Toolbar */
.options-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.btn-clear-choice {
  padding: 4px 10px;
  background: #fee2e2;
  border: 1px solid #fecaca;
  color: #b91c1c;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
}
.btn-clear-choice:hover {
  background: #fca5a5;
  color: #7f1d1d;
}
.options-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Staff Edit Request & Notification Dot */
.notification-badge-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #ef4444;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  box-shadow: 0 0 0 2px #fff;
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 5px rgba(239, 68, 68, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

.admin-edit-envelope-banner {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 14px;
  font-size: 13px;
  color: #166534;
}
.envelope-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.envelope-headline {
  display: flex;
  align-items: center;
  gap: 8px;
}
.envelope-role-tag {
  background: #dcfce7;
  color: #15803d;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}
.envelope-diff-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  background: #fff;
  border: 1px solid #dcfce7;
  border-radius: 6px;
  padding: 10px;
  margin-bottom: 8px;
}
.envelope-diff-was strong, .envelope-diff-change strong {
  display: block;
  font-size: 11px;
  margin-bottom: 4px;
}
.envelope-diff-was { color: #b91c1c; }
.envelope-diff-change { color: #047857; }
.envelope-actions-bar {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* Bulk Upload Dropzone */
.bulk-upload-dropzone {
  border: 2px dashed #cbd5e1;
  border-radius: 8px;
  padding: 24px;
  text-align: center;
  background: #f8fafc;
  cursor: pointer;
  transition: all 0.2s;
}
.bulk-upload-dropzone:hover {
  border-color: #00a896;
  background: #f0fdfa;
}
.bulk-template-link {
  font-size: 12px;
  color: #00a896;
  text-decoration: underline;
  cursor: pointer;
}
.med-dropdown-select {
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  font-size: 12px;
}

/* ==========================================================================
   POS TERMINAL & SHOPPING CART STYLES (MATCHING REFERENCE DESIGN)
   ========================================================================== */
body:has(.pos-screen) {
  overflow: hidden !important;
}
body:has(.pos-screen) .workspace-footer {
  display: none !important;
}
body:has(.pos-screen) .main-shell {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
@media (max-width: 900px), (max-height: 650px) {
  body:has(.pos-screen) {
    overflow: auto !important;
  }
  body:has(.pos-screen) .main-shell {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body:has(.pos-screen) #main {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 8px 12px !important;
  }
  .pos-screen {
    flex-direction: column !important;
    height: auto !important;
    max-height: none !important;
  }
  .pos-catalog-panel {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .pos-cart-panel {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    border-left: none !important;
    border-top: 2px solid #cbd5e1 !important;
    overflow: visible !important;
  }
}
body:has(.pos-screen) .topbar {
  flex-shrink: 0 !important;
}
body:has(.pos-screen) #main {
  flex: 1 1 0px !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 8px 30px 0 30px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}
body:has(.pos-screen) .page-heading {
  flex-shrink: 0 !important;
  margin-bottom: 4px !important;
  padding-bottom: 0 !important;
}
body:has(.pos-screen) .page-heading h1 {
  font-size: 20px !important;
  line-height: 1.1 !important;
  margin: 1px 0 !important;
}
body:has(.pos-screen) .page-heading p {
  font-size: 11px !important;
  margin: 0 !important;
  color: #64748b !important;
}
body:has(.pos-screen) .page-heading .eyebrow {
  font-size: 8px !important;
  letter-spacing: 1px !important;
  margin-bottom: 0 !important;
}
body:has(.pos-screen) #pos-register-btn {
  padding: 4px 10px !important;
  font-size: 11px !important;
}
.pos-screen {
  flex: 1 1 0px !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  display: flex;
  overflow: hidden !important;
  background: #f8fafc;
  margin: 0 -30px 0 -30px;
  border-top: 1px solid #e2e8f0;
}
.pos-catalog-panel {
  flex: 1;
  padding: 20px 24px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  height: 100%;
}
.pos-search-bar {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  display: flex;
  align-items: center;
  padding: 10px 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
  gap: 12px;
}
.pos-search-bar .search-icon {
  color: #64748b;
  width: 20px;
  height: 20px;
}
.pos-search-bar input {
  border: none;
  outline: none;
  flex: 1;
  font-size: 15px;
  color: #1e293b;
  background: transparent;
}
.pos-scan-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  color: #64748b;
  padding: 4px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s;
}
.pos-scan-btn:hover {
  color: #0f172a;
}
.pos-category-pills {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
}
.pos-cat-pill {
  padding: 7px 16px;
  border-radius: 9999px;
  font-size: 12.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1.5px solid #cbd5e1;
  background: #fff;
  color: #475569;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.pos-cat-pill:hover {
  border-color: #94a3b8;
  background: #f1f5f9;
}
.pos-cat-pill.active {
  background: #e2e8f0;
  border-color: #334155;
  color: #0f172a;
}
.pos-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
.pos-product-card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  padding: 12px;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  display: flex;
  flex-direction: column;
  text-align: left;
  user-select: none;
}
.pos-product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -5px rgba(0,0,0,0.06);
  border-color: #cbd5e1;
}
.pos-product-card.out-of-stock {
  opacity: 0.6;
  cursor: not-allowed;
}
.pos-card-media {
  background: #f1f5f9;
  border-radius: 10px;
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.pos-card-box-icon {
  width: 44px;
  height: 44px;
  fill: #0f2438;
}
.pos-card-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pos-card-name {
  font-weight: 700;
  font-size: 13.5px;
  color: #0f172a;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 35px;
}
.pos-card-price {
  font-weight: 800;
  font-size: 15px;
  color: #0f172a;
  margin: 2px 0 0 0;
}
.pos-card-stock {
  font-size: 12px;
  color: #64748b;
  margin: 0;
}
.pos-card-stock.low {
  color: #d97706;
  font-weight: 600;
}
.pos-card-stock.out {
  color: #dc2626;
  font-weight: 600;
}

/* POS Shopping Cart Sidebar (Docked Viewport Layout) */
.pos-cart-panel {
  width: 410px;
  min-width: 370px;
  background: #ffffff;
  border-left: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  box-shadow: -4px 0 16px rgba(0,0,0,0.03);
}
.pos-cart-header {
  background: #0f2438;
  color: #fff;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.pos-cart-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 15px;
}
.pos-cart-title svg {
  width: 18px;
  height: 18px;
}
.pos-cart-badge {
  background: rgba(255,255,255,0.18);
  padding: 3px 10px;
  border-radius: 9999px;
  font-size: 11.5px;
  font-weight: 600;
}

/* POS Customer Selector Inside Cart Panel */
.pos-customer-section {
  padding: 8px 12px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  flex-shrink: 0;
}
.pos-cust-tabs {
  display: flex;
  background: #e2e8f0;
  padding: 3px;
  border-radius: 8px;
  gap: 3px;
  margin-bottom: 6px;
}
.pos-cust-tab {
  flex: 1;
  padding: 6px 10px;
  border: none;
  background: transparent;
  font-size: 11.5px;
  font-weight: 600;
  color: #64748b;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.pos-cust-tab:hover {
  color: #0f172a;
}
.pos-cust-tab.active {
  background: #ffffff;
  color: #0f2438;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.pos-cust-panel-view {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pos-walkin-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.pos-status-badge.retail {
  background: #e0f2fe;
  color: #0369a1;
  font-size: 10.5px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pos-cust-name-preview {
  font-size: 12px;
  font-weight: 600;
  color: #1e293b;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pos-edit-cust-btn {
  background: none;
  border: 1px solid #cbd5e1;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  color: #475569;
  cursor: pointer;
  transition: all 0.15s;
}
.pos-edit-cust-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
}
.pos-walkin-fields {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}
.pos-walkin-fields input {
  padding: 6px 10px;
  min-height: 32px;
  font-size: 12px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
}
.pos-print-guarantee {
  font-size: 11px;
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  padding: 5px 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* Patient Search Combobox in POS Cart */
.pos-patient-search-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
}
.pos-patient-search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.pos-patient-search-icon {
  position: absolute;
  left: 8px;
  width: 14px;
  height: 14px;
  color: #64748b;
  pointer-events: none;
}
.pos-patient-search-input {
  width: 100%;
  padding: 6px 26px 6px 28px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 500;
  color: #0f172a;
  background: #ffffff;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pos-patient-search-input:focus {
  border-color: #00a896;
  box-shadow: 0 0 0 2px rgba(0, 168, 150, 0.15);
}
.pos-patient-search-clear {
  position: absolute;
  right: 6px;
  background: none;
  border: none;
  color: #94a3b8;
  font-size: 12px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 3px;
  line-height: 1;
}
.pos-patient-search-clear:hover {
  color: #dc2626;
  background: #fee2e2;
}
.pos-patient-search-dropdown {
  position: absolute;
  top: calc(100% + 3px);
  left: 0;
  right: 0;
  z-index: 100;
  max-height: 220px;
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: 0 10px 25px -3px rgba(0,0,0,0.18), 0 4px 6px -2px rgba(0,0,0,0.06);
  scrollbar-width: thin;
  display: none;
}
.pos-patient-search-box:focus-within .pos-patient-search-dropdown,
.pos-patient-search-box.is-open .pos-patient-search-dropdown {
  display: block;
}
.pos-patient-search-hint {
  font-size: 10px;
  color: #64748b;
  padding: 4px 8px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  font-weight: 500;
}
.pos-patient-search-list {
  display: flex;
  flex-direction: column;
}
.pos-patient-result-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  border-bottom: 1px solid #f1f5f9;
  cursor: pointer;
  transition: background 0.12s;
  outline: none;
}
.pos-patient-result-row:last-child {
  border-bottom: none;
}
.pos-patient-result-row:hover,
.pos-patient-result-row:focus {
  background: #ecfdf5;
}
.pos-prr-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.pos-prr-pet {
  font-size: 11.5px;
  color: #0f172a;
  line-height: 1.2;
}
.pos-prr-species {
  font-size: 10px;
  color: #64748b;
  margin-left: 4px;
}
.pos-prr-owner {
  font-size: 10.5px;
  color: #475569;
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.2;
}
.pos-prr-dot {
  color: #cbd5e1;
}
.pos-prr-badge-col {
  margin-left: 6px;
  flex-shrink: 0;
}
.pos-prr-badge {
  font-size: 9.5px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
}
.pos-prr-badge.inv {
  background: #fef3c7;
  color: #b45309;
  border: 1px solid #fde68a;
}
.pos-prr-badge.visit {
  background: #dbeafe;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}
.pos-patient-no-match {
  padding: 12px 10px;
  text-align: center;
  color: #64748b;
  font-size: 11.5px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pos-patient-no-match small {
  font-size: 10px;
  color: #94a3b8;
}
.pos-search-mark {
  background: #fef08a;
  color: #854d0e;
  padding: 0 1px;
  border-radius: 2px;
  font-weight: 700;
}

/* Compact Selected Patient Card */
.pos-patient-selected-card {
  background: #f0fdf4;
  border: 1px solid #86efac;
  border-radius: 6px;
  padding: 6px 9px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.pos-psc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.pos-psc-pet {
  font-size: 12px;
  color: #166534;
}
.pos-psc-species {
  font-size: 10.5px;
  color: #15803d;
  font-weight: normal;
}
.pos-psc-change-btn {
  background: #ffffff;
  border: 1px solid #86efac;
  color: #166534;
  font-size: 10.5px;
  font-weight: 600;
  border-radius: 4px;
  padding: 2px 7px;
  cursor: pointer;
  transition: all 0.12s;
}
.pos-psc-change-btn:hover {
  background: #bbf7d0;
  color: #14532d;
}
.pos-psc-owner-row {
  font-size: 10.5px;
  color: #15803d;
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.2;
}
.pos-psc-dot {
  color: #86efac;
}
.pos-psc-inv-pill, .pos-psc-visit-pill {
  background: #dcfce7;
  border: 1px dashed #86efac;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 10px;
  color: #166534;
}
.pos-psc-guarantee {
  font-size: 9.5px;
  color: #15803d;
  line-height: 1.25;
  font-weight: 500;
}

/* Scrollable Cart Items */
.pos-cart-items-wrap {
  flex: 1 1 0px !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  scrollbar-width: thin;
}
.pos-cart-empty-state {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 13px;
  font-weight: 500;
  min-height: 100px;
}
.pos-cart-item-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 7px 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  flex-shrink: 0;
}
.pos-cart-item-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 6px;
}
.pos-cart-item-heading {
  font-weight: 600;
  font-size: 12px;
  color: #1e293b;
  line-height: 1.25;
}
.pos-cart-item-sku {
  font-size: 10px;
  color: #64748b;
  display: block;
}
.pos-cart-item-del {
  background: none;
  border: none;
  color: #94a3b8;
  cursor: pointer;
  padding: 2px 4px;
  font-size: 13px;
  line-height: 1;
  border-radius: 3px;
}
.pos-cart-item-del:hover {
  color: #ef4444;
  background: #fee2e2;
}
.pos-cart-item-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pos-stepper-box {
  display: inline-flex;
  align-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  background: #ffffff;
  overflow: hidden;
}
.pos-stepper-btn {
  width: 24px;
  height: 24px;
  min-width: 24px;
  background: #f1f5f9;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #1e293b;
  cursor: pointer;
  padding: 0;
}
.pos-stepper-btn:hover {
  background: #e2e8f0;
}
.pos-stepper-input {
  width: 30px;
  min-width: 30px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: #0f172a;
  background: #ffffff;
  border: none;
  border-left: 1px solid #e2e8f0;
  border-right: 1px solid #e2e8f0;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
.pos-cart-item-subtotal {
  font-weight: 700;
  font-size: 12.5px;
  color: #0f172a;
}

/* POS Cart Footer & Docked Summary */
.pos-cart-summary {
  background: #ffffff;
  padding: 7px 12px 9px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid #cbd5e1;
  box-shadow: 0 -3px 12px rgba(0,0,0,0.05);
  flex-shrink: 0 !important;
  margin-top: auto !important;
  position: relative;
  z-index: 10;
}
.pos-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11.5px;
  color: #475569;
}
.pos-summary-row.muted-row {
  font-size: 10.5px;
  color: #64748b;
}
.pos-summary-row.grand-total {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  padding-top: 2px;
  border-top: 1px dashed #cbd5e1;
  margin-top: 0px;
}
.pos-summary-row.unified-highlight {
  color: #166534;
}
.pos-quick-payment-row {
  display: flex;
  gap: 6px;
  margin-top: 0px;
}
.pos-pay-label {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
  font-size: 9px;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
}
.pos-method-select, .pos-status-select {
  padding: 2px 6px;
  min-height: 24px;
  font-size: 11px;
  font-weight: 600;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
}

.pos-checkout-action-btn {
  width: 100%;
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 7px;
  border: none;
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.15s ease;
  margin-top: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
}
.pos-checkout-action-btn.walkin-btn {
  background: #0f2438;
  color: #ffffff;
}
.pos-checkout-action-btn.walkin-btn:hover:not(:disabled) {
  background: #173859;
  box-shadow: 0 4px 12px rgba(15,36,56,0.25);
}
.pos-checkout-action-btn.patient-btn {
  background: #059669;
  color: #ffffff;
}
.pos-checkout-action-btn.patient-btn:hover:not(:disabled) {
  background: #047857;
  box-shadow: 0 4px 12px rgba(5,150,105,0.25);
}
.pos-checkout-action-btn:disabled, .pos-checkout-action-btn.disabled-state {
  background: #cbd5e1;
  color: #64748b;
  cursor: not-allowed;
}

/* Report Filters & KPI Grids */
.report-period-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 20px;
}
.period-tabs {
  display: inline-flex;
  gap: 6px;
  background: #f1f5f9;
  padding: 4px;
  border-radius: 8px;
}
.period-tab-btn {
  padding: 6px 14px;
  border-radius: 6px;
  border: none;
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  transition: all 0.15s;
}
.period-tab-btn.active {
  background: #fff;
  color: #0f172a;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.period-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}
.period-inputs input, .period-inputs select {
  padding: 6px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 13px;
  background: #fff;
}
.report-export-actions {
  display: flex;
  gap: 8px;
}
.report-export-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #1e293b;
  transition: all 0.15s;
}
.report-export-btn:hover {
  background: #f8fafc;
  border-color: #94a3b8;
}
.report-export-btn.primary {
  background: #0f2438;
  color: #fff;
  border-color: #0f2438;
}
.report-export-btn.primary:hover {
  background: #1e3a5f;
}

.kpi-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}
.kpi-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.kpi-card-title {
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.kpi-card-value {
  font-size: 22px;
  font-weight: 800;
  color: #0f172a;
}
.kpi-card-hint {
  font-size: 11.5px;
  color: #94a3b8;
}
.kpi-card.highlight {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.kpi-card.highlight .kpi-card-value {
  color: #15803d;
}

/* Unified Checkout Dialog */
.unified-checkout-tabs {
  display: flex;
  gap: 10px;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 18px;
}
.unified-tab-btn {
  padding: 10px 16px;
  border: none;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.unified-tab-btn.active {
  color: #0f2438;
  border-bottom-color: #0f2438;
}
.unified-visit-match-box {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 14px;
  font-size: 13px;
  color: #166534;
}
.unified-items-preview {
  max-height: 180px;
  overflow-y: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 12px;
  background: #f8fafc;
  margin-bottom: 14px;
}
.unified-preview-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  padding: 4px 0;
  border-bottom: 1px solid #e2e8f0;
}
.unified-preview-row:last-child {
  border-bottom: none;
}


/* Spacing between adjacent buttons in action bars */
.heading-actions .action-button + .action-button,
.patient-record-actions button + button,
.toolbar button + button,
.patient-record-actions .row-button + .row-button,
.clinic-toolbar-actions button + button {
  margin-left: 8px;
}

/* Modal action buttons spacing */
.modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.modal-actions > * {
  margin-left: 0;
}

/* POS Terminal Stepper Fix */
.pos-stepper-box {
  display: inline-flex;
  align-items: center;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #ffffff;
  overflow: hidden;
}
.pos-stepper-btn {
  width: 28px;
  height: 28px;
  min-width: 28px;
  background: #f1f5f9;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  cursor: pointer;
  padding: 0;
}
.pos-stepper-btn:hover {
  background: #e2e8f0;
}
.pos-stepper-input {
  width: 36px;
  min-width: 36px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  background: #ffffff;
  border: none;
  border-left: 1px solid #e2e8f0;
  border-right: 1px solid #e2e8f0;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

@media (max-width: 550px) {
  .revenue-chart {
    height: 190px !important;
    padding: 16px 6px 12px !important;
    gap: 4px !important;
  }
  .chart-bar .chart-val {
    font-size: 8.5px !important;
    letter-spacing: -0.3px;
  }
  .chart-bar .bar-slot {
    max-width: 32px !important;
    min-width: 14px !important;
  }
}

/* Doctor-Cleared Visits & Fast Checkout Styles */
.cleared-visits-panel {
  margin-bottom: 24px;
  background: #ffffff;
  border: 1px solid #cce5df;
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(10, 150, 148, 0.06);
}
.cleared-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cleared-spark-icon {
  font-size: 22px;
  line-height: 1;
  display: inline-block;
  animation: pulse-icon 2s infinite ease-in-out;
}
@keyframes pulse-icon {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}
.cleared-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 16px;
  padding: 20px 22px 24px;
}
.cleared-card {
  background: #ffffff;
  border: 1px solid #dce4e9;
  border-radius: 10px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.cleared-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}
.cleared-card.is-due {
  border-left: 4px solid #f59e0b;
  background: #fffcf7;
}
.cleared-card.is-cleared {
  border-left: 4px solid #10b981;
}
.cleared-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.cleared-pet-info {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.cleared-pet-info .pet-avatar {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  flex-shrink: 0;
}
.cleared-pet-name {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
  display: block;
}
.cleared-owner-line {
  font-size: 11.5px;
  color: #64748b;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 3px;
  line-height: 1.45;
  white-space: normal;
}
.cleared-owner-line b {
  font-weight: 700;
  color: #0f172a;
  background: #f1f5f9;
  padding: 1px 7px;
  border-radius: 5px;
  font-size: 11px;
  letter-spacing: 0.3px;
  display: inline-block;
}
.cleared-card-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11.5px;
  color: #475569;
  flex-wrap: wrap;
  padding: 6px 0;
  border-top: 1px dashed #e2e8f0;
  border-bottom: 1px dashed #e2e8f0;
}
.cleared-amount {
  margin-left: auto;
  font-size: 13px;
  font-weight: 750;
  color: #0d9488;
}
.cleared-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.cleared-pay-btn {
  flex: 1;
  font-weight: 700 !important;
  background: #0d9488 !important;
  border-color: #0d9488 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.25) !important;
  min-height: 40px !important;
  font-size: 12px !important;
  justify-content: center;
  transition: all 0.15s ease;
}
.cleared-pay-btn:hover {
  background: #0f766e !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.35) !important;
}
.cleared-empty {
  padding: 24px 20px;
  text-align: center;
  color: #475569;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.cleared-empty strong {
  font-size: 13px;
  color: #0f766e;
}
.cleared-empty small {
  font-size: 11px;
  color: #94a3b8;
}

/* Button Busy / Instant Loading State */
button.is-busy, a.is-busy {
  opacity: 0.65 !important;
  cursor: wait !important;
  pointer-events: none !important;
  position: relative;
}
button.is-busy::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spin-busy 0.6s linear infinite;
  vertical-align: middle;
}
@keyframes spin-busy {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
/* Keep catalog and checkout reachable on reception tablets and small displays. */
@media (max-width:1100px) {
  body:has(.pos-screen) { overflow:auto !important; }
  body:has(.pos-screen) .main-shell, body:has(.pos-screen) #main { height:auto !important; max-height:none !important; overflow:visible !important; }
  .pos-screen { flex-direction:column; height:auto !important; max-height:none !important; overflow:visible !important; margin:0; }
  .pos-catalog-panel { min-height:360px; height:auto; overflow:visible; padding:16px; }
  .pos-cart-panel { width:100%; min-width:0; height:auto; max-height:none; overflow:visible; border-left:0; border-top:1px solid #e2e8f0; }
  .pos-cart-items-wrap { max-height:340px; overflow:auto; }
  .pos-search-bar input { min-width:0; width:100%; }
}
@media (max-width:760px) {
  .app-shell { display:block; }
  .main-shell { margin-left:0; min-width:0; width:100%; }
  body:has(.pos-screen) .sidebar { position:fixed; z-index:100; }
}

/* Patient Record Modal Header Styling */
.patient-summary-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:2px;}
.patient-pet-name{font-size:18px!important;font-weight:800!important;color:#0f172a!important;letter-spacing:-0.2px;display:inline-block!important;}
.patient-badge-id{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;background:#e2e8f0;color:#334155;font-size:11px;font-weight:700;letter-spacing:0.5px;}
.patient-summary-sub{font-size:13px!important;color:#64748b!important;margin:4px 0 0!important;font-weight:500;}

/* Staff Management Edit Button */
.staff-edit-btn{color:#0d9488!important;border-color:#ccfbf1!important;background:#f0fdfa!important;font-weight:600!important;margin-right:6px!important;}
.staff-edit-btn:hover{background:#ccfbf1!important;border-color:#99f6e4!important;color:#0f766e!important;}

/* ==========================================================================
   1. Treatment Field Layout & Overlapping UI Bug Fix
   ========================================================================== */
.treatment-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-width: 0 !important;
  height: auto !important;
  position: static !important;
}
.treatment-field > label {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  height: auto !important;
  min-height: 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  position: static !important;
}
.treatment-field input,
.treatment-field select,
.treatment-field textarea {
  font-size: 13px;
  padding: 8px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  box-sizing: border-box;
  width: 100%;
  min-height: 40px;
}
.other-details {
  display: block !important;
  width: 100% !important;
  margin-top: 10px !important;
  padding-top: 8px !important;
  border-top: 1px dashed #cbd5e1 !important;
  clear: both !important;
  position: static !important;
}
.other-details[hidden] {
  display: none !important;
}

/* ==========================================================================
   2. Multi-Vaccine Selection Chips & Clean Combined Display
   ========================================================================== */
.multi-vaccine-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-top: 4px;
}
.multi-vaccine-selected {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: #f0fdfa;
  border: 1.5px solid #0d9488;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #0f766e;
  word-break: break-word;
  line-height: 1.4;
}
.multi-vaccine-selected .vac-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #047857;
  font-weight: 800;
  flex-shrink: 0;
}
.multi-vaccine-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 0 2px;
}
.vaccine-chip {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1.5px solid #cbd5e1;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  transition: all 0.15s ease;
  user-select: none;
}
.vaccine-chip:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
  transform: translateY(-1px);
}
.vaccine-chip.is-selected {
  background: #0d9488;
  border-color: #0f766e;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.28);
}
.vaccine-chip .chip-check {
  font-size: 11px;
  font-weight: 800;
  display: inline-block;
}

/* ==========================================================================
   3. Partial Payment & Credit-Debit Status Badges
   ========================================================================== */
.status.partial, .pill.partial, .doc-badge.status-partial {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border: 1px solid #bae6fd !important;
}
.unified-history-card.partial-card {
  border-left: 4px solid #0284c7 !important;
}

/* ==========================================================================
   4. High Zoom (up to 200%) & Small Display Resilience
   ========================================================================== */
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
  gap: 16px;
  margin: 16px 0;
}
.table-wrap {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
dialog {
  max-height: 94dvh !important;
  max-width: min(980px, calc(100vw - 20px)) !important;
  width: 100% !important;
  padding: clamp(14px, 2.5vw, 28px) !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}
.modal-actions {
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.visit-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
}
.tracking-board {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
}
.frontdesk-flow {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
}

/* ==========================================================================
   5. Tablet Sidebar Close via Logo & Backdrop
   ========================================================================== */
#sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(3px);
  z-index: 998;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
#sidebar-backdrop.active,
body.sidebar-open #sidebar-backdrop {
  display: block;
  opacity: 1;
  pointer-events: auto;
}
@media(max-width: 1024px) {
  .mobile-menu {
    display: inline-flex !important;
  }
  .sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 250px !important;
    z-index: 9999 !important;
    transform: translateX(-100%) !important;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s ease !important;
    box-shadow: none !important;
  }
  .sidebar.open,
  body.sidebar-open .sidebar {
    transform: translateX(0) !important;
    box-shadow: 10px 0 40px rgba(0, 0, 0, 0.3) !important;
  }
  .main-shell {
    margin-left: 0 !important;
  }
  .brand-link {
    cursor: pointer !important;
    user-select: none !important;
  }
  .brand-link:active {
    opacity: 0.8 !important;
  }
}

/* ==========================================================================
   6. Doctor Prescription Form Spacing & Clean Typography
   ========================================================================== */
#treatment-form {
  margin-top: 10px;
}
#treatment-form details {
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
  overflow: hidden;
}
#treatment-form summary {
  padding: 14px 18px !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  user-select: none;
}
#treatment-form summary:hover {
  background: #f1f5f9 !important;
}
#treatment-form details > .form-grid {
  padding: 20px 22px !important;
  margin: 0 !important;
  gap: 16px 20px !important;
}
#treatment-form details .treatment-done {
  margin: 0 20px 16px !important;
  padding-top: 14px !important;
  border-top: 1px dashed #e2e8f0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
}
.clinical-stepper {
  gap: 8px !important;
  margin-bottom: 20px !important;
  flex-wrap: wrap !important;
}
.clinical-stepper button {
  min-height: 44px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
}
.cf-field-group,
.dx-other-field-group,
.primary-dx-field {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  margin: 6px 0 12px !important;
}
.cf-field-group label,
.dx-other-field-group label,
.primary-dx-field label {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f2438 !important;
}
.medication-table {
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 16px !important;
  margin-top: 8px !important;
  background: #f8fafc !important;
}
.medication-table legend {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f2438 !important;
  padding: 0 8px !important;
}
.medication-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  align-items: flex-end !important;
  background: #ffffff !important;
  padding: 12px 14px !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  margin-bottom: 12px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}
.medication-row .med-col label {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  margin-bottom: 4px !important;
  display: block !important;
}
.diagnostic-tests-box {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 16px !important;
  margin: 10px 0 !important;
}

/* ==========================================================================
   Cleared Card Layout Overrides (Prevent Button Overflow)
   ========================================================================== */
.cleared-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
  gap: 16px !important;
  padding: 20px 22px 24px !important;
}
.cleared-card {
  overflow: hidden !important;
  box-sizing: border-box !important;
  position: relative !important;
}
.cleared-card-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 8px !important;
  flex-wrap: wrap !important;
}
.cleared-pay-btn {
  flex: 1 1 150px !important;
  min-width: 0 !important;
  font-weight: 700 !important;
  background: #0d9488 !important;
  border-color: #0d9488 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.25) !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  justify-content: center !important;
  text-align: center !important;
  transition: all 0.15s ease !important;
}
.cleared-pay-btn:hover {
  background: #0f766e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.35) !important;
}
.cleared-card-actions .small-btn {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
}

/* ==========================================================================
   Daily Clients Reception Panel & Daily Patient Counter
   ========================================================================== */
.daily-clients-panel {
  margin-bottom: 24px !important;
  border: 1px solid #dce4e9 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
  overflow: hidden !important;
}
.daily-panel-header {
  padding: 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  border-bottom: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
}
.daily-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.daily-calendar-icon {
  font-size: 24px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  background: #eff6ff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.today-pill {
  display: inline-block !important;
  background: #10b981 !important;
  color: #ffffff !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  vertical-align: middle !important;
  margin-left: 6px !important;
  letter-spacing: 0.5px !important;
}
.daily-date-switcher {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.date-jump-btn {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  color: #334155 !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  padding: 6px 12px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}
.date-jump-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
.date-today-btn {
  background: #0d9488 !important;
  border: 1px solid #0d9488 !important;
  color: #ffffff !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}
.date-today-btn:hover {
  background: #0f766e !important;
}
.daily-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
.daily-kpi-card {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02) !important;
}
.daily-kpi-card.teal { border-left: 4px solid #0d9488 !important; }
.daily-kpi-card.blue { border-left: 4px solid #3b82f6 !important; }
.daily-kpi-card.amber { border-left: 4px solid #f59e0b !important; }
.daily-kpi-card.green { border-left: 4px solid #10b981 !important; }
.daily-kpi-card.purple { border-left: 4px solid #8b5cf6 !important; }
.daily-kpi-icon {
  font-size: 22px !important;
}
.daily-kpi-card strong {
  display: block !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.1 !important;
}
.daily-kpi-card span {
  font-size: 11.5px !important;
  color: #64748b !important;
  font-weight: 500 !important;
}
.daily-patients-table-wrap {
  overflow-x: auto !important;
  max-height: 420px !important;
}
.daily-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 12.5px !important;
}
.daily-table th {
  background: #f1f5f9 !important;
  color: #475569 !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 10px 14px !important;
  border-bottom: 1px solid #cbd5e1 !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.daily-table td {
  padding: 12px 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  color: #1e293b !important;
  vertical-align: middle !important;
}
.daily-table tr:hover td {
  background: #f8fafc !important;
}
.daily-time-badge {
  font-family: monospace !important;
  font-weight: 700 !important;
  color: #0284c7 !important;
  background: #f0f9ff !important;
  padding: 3px 6px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
.daily-pet-col {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.daily-pet-col .pet-avatar {
  width: 32px !important;
  height: 32px !important;
  border-radius: 6px !important;
  flex-shrink: 0 !important;
}
.daily-id-tag {
  display: inline-block !important;
  background: #f1f5f9 !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
.daily-services-text {
  max-width: 240px !important;
  display: inline-block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
.daily-empty-state {
  padding: 36px 20px !important;
  text-align: center !important;
  color: #64748b !important;
}
.daily-empty-state .empty-icon {
  font-size: 36px !important;
  display: block !important;
  margin-bottom: 8px !important;
}
.daily-empty-state strong {
  font-size: 15px !important;
  color: #0f172a !important;
  display: block !important;
  margin-bottom: 4px !important;
}
.daily-empty-state p {
  font-size: 12.5px !important;
  margin: 0 !important;
}


