:root{--ink:#173a38;--ink-2:#294c49;--muted:#879693;--teal:#17877c;--teal-dark:#116c64;--mint:#e9f5f2;--mint-2:#d8efea;--sand:#f6f8f5;--line:#e8eeeb;--amber:#b5781b;--coral:#d0685b;--shadow:0 12px 40px rgba(31,67,61,.07);--radius:18px}
*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}h1,h2,h3,h4,h5,.brand-lockup,.login-brand{font-family:'Manrope',sans-serif;letter-spacing:-.035em}button{font:inherit}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--teal);display:block}.eyebrow.light{color:#a8d7ca}.btn{border-radius:10px;font-weight:600;font-size:13px}.btn-primary{--bs-btn-bg:var(--teal);--bs-btn-border-color:var(--teal);--bs-btn-hover-bg:var(--teal-dark);--bs-btn-hover-border-color:var(--teal-dark);--bs-btn-active-bg:var(--teal-dark);padding:.65rem 1rem}.btn-light{background:#f2f6f3;border:1px solid var(--line);color:var(--ink)}.btn-outline-primary{--bs-btn-color:var(--teal);--bs-btn-border-color:#b7d9d3;--bs-btn-hover-bg:var(--mint);--bs-btn-hover-color:var(--teal-dark);--bs-btn-hover-border-color:#b7d9d3;border-radius:10px}.form-control,.form-select{border-color:#dfe8e4;border-radius:10px;padding:.68rem .8rem;font-size:13px;color:var(--ink);background-color:#fff}.form-control:focus,.form-select:focus{border-color:#75bdb2;box-shadow:0 0 0 .2rem rgba(23,135,124,.11)}.form-label{font-size:12px;font-weight:600;color:#425956;margin-bottom:7px}.form-hint{font-size:11px;color:var(--muted);margin-top:5px}.form-error{font-size:12px;color:#b5483f;min-height:18px;margin-top:8px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,.93fr);background:white}.login-art{position:relative;overflow:hidden;padding:42px clamp(32px,7vw,110px);display:flex;flex-direction:column;background:radial-gradient(ellipse at 74% 85%,rgba(74,163,140,.26),transparent 32%),radial-gradient(ellipse at 22% 32%,rgba(43,110,103,.35),transparent 50%),linear-gradient(145deg,#123b39,#092b2a);color:white}.login-art:after{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-220px;bottom:-260px;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.02),0 0 0 138px rgba(255,255,255,.015)}.login-brand,.brand-lockup{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:800;color:inherit;text-decoration:none;letter-spacing:-.05em}.brand-mark{height:38px;width:38px;display:grid;place-items:center;border-radius:13px;background:#d8f1e7;color:var(--teal-dark);font-size:18px}.brand-dot{color:#68c4ab}.login-copy{position:relative;z-index:1;margin:auto 0;max-width:520px;padding:30px 0}.login-copy h1{font-size:clamp(38px,5vw,62px);line-height:1.08;letter-spacing:-.055em;margin:19px 0}.login-copy p{max-width:390px;color:#bfd2ce;font-size:15px;line-height:1.8}.login-paws{display:flex;gap:23px;align-items:center;color:rgba(183,226,210,.3);font-size:23px}.login-paws i:nth-child(2){font-size:40px;color:rgba(183,226,210,.2)}.login-foot{font-size:11px;color:#95b4ad;margin-top:20px}.login-panel{display:grid;place-items:center;padding:35px}.login-card{width:min(100%,390px)}.login-card h2{font-size:30px;font-weight:800;margin:10px 0 7px}.input-icon{position:relative}.input-icon>i{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:#91a29f;z-index:2}.input-icon .form-control{padding-left:42px;min-height:47px}.login-security{color:#879693;text-align:center;font-size:11px;margin-top:26px}.login-security i{color:var(--teal);font-size:14px;margin-right:5px}
.app-shell{min-height:100vh}.sidebar{width:256px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#143d3a 0%,#103532 100%);color:#e3f1eb;padding:25px 15px 14px;display:flex;flex-direction:column;z-index:1030}.brand-lockup{padding:0 10px 24px;font-size:21px}.brand-lockup .brand-mark{height:34px;width:34px;font-size:16px;border-radius:11px}.clinic-picker{display:flex;align-items:center;gap:10px;padding:10px;border-radius:13px;background:rgba(255,255,255,.08);margin:0 2px 25px}.clinic-icon{width:33px;height:33px;border-radius:10px;background:rgba(106,192,165,.2);display:grid;place-items:center;color:#9cdfc4}.clinic-picker label{display:flex;flex-direction:column;min-width:0;flex:1}.clinic-picker small{font-size:8px;letter-spacing:.14em;color:#83aaa0;font-weight:700}.clinic-picker select{border:0;background:transparent;appearance:none;color:white;font-size:12px;font-weight:600;outline:none;width:100%;padding:2px 0}.clinic-picker select option{color:var(--ink)}.picker-chevron{font-size:12px;color:#82a69e}.nav-caption{font-size:9px;letter-spacing:.13em;font-weight:700;color:#759890;padding:0 12px 9px}.nav-caption-spaced{margin-top:20px}.main-nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.nav-link{border:0;background:transparent;color:#adc5be;text-align:left;width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:500;transition:.18s}.nav-link>i{font-size:16px;width:17px;text-align:center}.nav-link:hover{background:rgba(255,255,255,.075);color:white}.nav-link.active{background:#245a53;color:#f7fffb;box-shadow:inset 3px 0 #72c8a8}.nav-pip{height:6px;width:6px;background:#73d4aa;border-radius:50%;margin-left:auto}.nav-count{margin-left:auto;background:#eabe6a;color:#523c10;border-radius:99px;min-width:18px;height:18px;text-align:center;line-height:18px;font-size:10px;font-weight:700}.ai-pill{margin-left:auto;background:rgba(113,206,171,.2);color:#a5e7cb;border-radius:5px;padding:2px 5px;font-size:8px;font-weight:700}.sidebar-bottom{margin-top:auto}.help-card{border:1px solid rgba(152,203,184,.15);background:rgba(255,255,255,.045);padding:13px;border-radius:13px;margin:10px 3px 14px;display:flex;flex-direction:column;align-items:flex-start}.help-sparkle{color:#9bd6b9;font-size:15px}.help-card b{font-size:11px;margin-top:5px}.help-card>span:not(.help-sparkle){font-size:10px;line-height:1.5;color:#9db8b0;margin:4px 0 8px}.help-card a{color:#a7ddc4;font-size:10px;text-decoration:none}.profile-row{border-top:1px solid rgba(255,255,255,.1);padding:14px 5px 0;display:flex;align-items:center;gap:9px}.avatar,.top-avatar{height:34px;width:34px;border-radius:50%;display:grid;place-items:center;background:#d7eee3;color:#216e60;font-size:11px;font-weight:700;flex:none}.profile-info{display:flex;flex-direction:column;min-width:0;flex:1}.profile-info b{font-size:11px;color:#eef9f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-info span{font-size:9px;color:#8eafa5;text-transform:capitalize}.icon-btn{position:relative;border:0;background:transparent;color:inherit;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:17px}.icon-btn:hover{background:rgba(22,79,72,.08)}.logout-btn{color:#92ada4}.logout-btn:hover{color:white;background:rgba(255,255,255,.08)}
.main-area{margin-left:256px;min-height:100vh}.topbar{height:88px;padding:14px clamp(22px,4vw,54px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.86);border-bottom:1px solid #ebf0ed;position:sticky;top:0;z-index:1000;backdrop-filter:blur(14px)}.breadcrumb-small{font-size:10px;color:#99a7a4;margin-bottom:4px}.breadcrumb-small span{color:#58706b}.topbar h1{font-size:21px;margin:0;font-weight:800}.top-actions{display:flex;align-items:center;gap:13px}.date-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f4f7f4;border-radius:9px;font-size:11px;color:#66807a}.date-chip i{color:var(--teal)}.notification-top{color:#617b74;background:#f4f7f4}.notification-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#e77765;right:7px;top:7px;border:1px solid white}.top-avatar{height:32px;width:32px}.menu-toggle{display:none}.content-wrap{max-width:1600px;margin:0 auto;padding:26px clamp(20px,4vw,54px) 55px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.page-heading h2{font-size:21px;font-weight:800;margin:4px 0}.page-heading p{font-size:12px;color:var(--muted);margin:0}.heading-actions{display:flex;gap:8px;align-items:center}.heading-actions .btn{white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.metric-card,.panel,.surface-card{background:#fff;border:1px solid #e9efec;border-radius:var(--radius);box-shadow:0 3px 12px rgba(28,60,53,.025)}.metric-card{padding:17px 18px;min-height:130px;position:relative;overflow:hidden}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-label{font-size:11px;color:#71847f;font-weight:600}.metric-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--mint);color:var(--teal);font-size:15px}.metric-value{font-family:'Manrope';font-size:29px;font-weight:800;letter-spacing:-.05em;margin:10px 0 4px}.metric-foot{font-size:10px;color:#93a09d}.metric-foot .positive{color:#2d9a74}.metric-card.warning .metric-icon{background:#fff3dc;color:#b5832a}.metric-card.warning .metric-foot{color:#b68334}.metric-card.revenue .metric-icon{background:#edf0ff;color:#646dbc}.panel{padding:19px 20px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.panel-heading h3{font-size:14px;margin:0;font-weight:800}.panel-heading p{font-size:10px;color:#95a29f;margin:5px 0 0}.panel-link{font-size:10px;color:var(--teal);text-decoration:none;font-weight:700;border:0;background:transparent}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:16px}.appointment-list{display:flex;flex-direction:column}.appointment-row{display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f0f3f1}.appointment-row:first-child{border-top:0;padding-top:0}.time-block{height:42px;border-radius:11px;background:#edf6f3;color:#42766a;display:grid;place-content:center;text-align:center;font-size:10px;font-weight:700;line-height:1.4}.time-block span{font-size:8px;color:#89a69c;font-weight:500}.appointment-row b{font-size:11px}.appointment-row p{font-size:10px;color:#8a9995;margin:3px 0 0}.status-badge{border-radius:99px;padding:5px 8px;background:#eef6ed;color:#4c8452;font-size:9px;font-weight:700}.status-badge.scheduled{background:#eef2ff;color:#6871b6}.status-badge.cancelled,.status-badge.no_show{background:#fff0ed;color:#bf6454}.status-badge.completed{background:#edf6f0;color:#488263}.status-badge.failed{background:#fff0ed;color:#bf6454}.status-badge.sent{background:#edf6f0;color:#488263}.status-badge.queued{background:#fff5df;color:#a5792f}.alert-item{display:flex;gap:11px;padding:11px 0;border-top:1px solid #f0f3f1}.alert-icon{height:30px;width:30px;border-radius:9px;display:grid;place-items:center;background:#fff3de;color:#bc8c38;flex:none}.alert-icon.green{background:#e8f5ef;color:#54a07d}.alert-item b{font-size:10px}.alert-item p{font-size:9px;line-height:1.5;color:#91a09c;margin:3px 0 0}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:0 0 17px}.quick-action{background:white;border:1px solid var(--line);border-radius:14px;text-align:left;padding:12px;display:flex;align-items:center;gap:10px;transition:.16s;color:var(--ink)}.quick-action:hover{border-color:#acd4ca;transform:translateY(-1px);box-shadow:var(--shadow)}.quick-action i{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--mint);font-size:15px;color:var(--teal)}.quick-action b{font-size:10px}.quick-action span{display:block;color:#9aa7a3;font-size:9px;margin-top:3px}
.table-card{padding:18px 19px}.table-card .table{font-size:11px;margin:0}.table thead th{font-size:9px;letter-spacing:.06em;color:#83938e;text-transform:uppercase;font-weight:700;border-bottom:1px solid #e9efec!important;white-space:nowrap}.table td{color:#455f59;vertical-align:middle;border-color:#f0f3f1;padding-top:12px;padding-bottom:12px}.table .entity-name{font-weight:700;color:#284a44}.dataTables_wrapper .dt-search input,.dataTables_wrapper .dt-length select{border:1px solid var(--line);border-radius:8px;padding:5px 9px;background:white;font-size:11px}.dataTables_wrapper .dt-info,.dataTables_wrapper .dt-paging{font-size:10px;color:#8d9b97}.table-responsive{overflow-x:auto}.table-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.table-tools .table-title{font-size:12px;font-weight:700}.table-search input{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11px}.row-actions{display:flex;gap:4px}.row-action{border:0;background:#f4f7f5;color:#71847e;border-radius:7px;width:27px;height:27px;display:grid;place-items:center}.row-action:hover{color:var(--teal);background:var(--mint)}.empty-state{text-align:center;padding:42px 20px;color:#97a5a1}.empty-state i{font-size:30px;color:#b5d9ce}.empty-state b{display:block;margin:10px 0 4px;color:#4f6c65;font-size:13px}.empty-state p{font-size:11px;margin:0}.calendar-panel{padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}#calendar{font-size:12px}.fc .fc-toolbar-title{font-family:'Manrope';font-size:17px;font-weight:800}.fc .fc-button-primary{background:var(--teal);border-color:var(--teal);font-size:11px}.fc .fc-button-primary:hover{background:var(--teal-dark)}.fc .fc-daygrid-day-number,.fc .fc-col-header-cell-cushion{color:#55706a;text-decoration:none;font-size:10px}.fc .fc-daygrid-event{border:0;border-radius:5px;padding:2px 4px;background:#dff2eb;color:#276c5b;font-size:10px}.fc .fc-event-title{font-weight:600}.calendar-legend{display:flex;gap:12px;font-size:9px;color:#879691}.legend-dot{display:inline-block;height:7px;width:7px;border-radius:50%;margin-right:4px}.stock-pill{font-weight:700;font-size:10px}.stock-pill.low{color:#bf7650}.stock-pill.ok{color:#4b8a69}.notification-card{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid #eff3f1}.notification-card:last-child{border-bottom:0}.notification-card .notif-mark{height:36px;width:36px;flex:none;border-radius:11px;display:grid;place-items:center;background:var(--mint);color:var(--teal);font-size:16px}.notification-card h4{font-size:12px;margin:0 0 4px}.notification-card p{font-size:11px;color:#71827e;margin:0 0 7px;line-height:1.55}.notification-meta{font-size:9px;color:#9ba8a4;display:flex;gap:8px;align-items:center}.ai-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(255px,.72fr);gap:17px}.ai-card{padding:23px;background:linear-gradient(135deg,#e5f3ee,#f8fbf8);border:1px solid #d9ebe3;border-radius:var(--radius);min-height:190px}.ai-orb{height:39px;width:39px;border-radius:13px;display:grid;place-items:center;background:var(--teal);color:white;font-size:17px;box-shadow:0 8px 18px #5fae962e}.ai-card h3{font-size:17px;font-weight:800;margin:15px 0 7px}.ai-card p{font-size:11px;color:#6e8981;line-height:1.65;max-width:600px}.ai-response{white-space:pre-wrap;font-size:12px;line-height:1.7;color:#355650}.ai-suggestion{border:1px solid #e5eeea;background:white;border-radius:10px;padding:10px 11px;text-align:left;width:100%;font-size:10px;color:#48655e;margin-bottom:7px}.ai-suggestion:hover{border-color:#9dcfc0;color:var(--teal)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-card{padding:20px}.settings-card h3{font-size:14px;font-weight:800;margin:0}.settings-card .card-sub{font-size:10px;color:#8e9e99;margin:5px 0 18px}.channel-head{display:flex;justify-content:space-between;align-items:flex-start}.configured{font-size:9px;font-weight:700;color:#47876b;background:#eaf5ef;padding:5px 8px;border-radius:99px}.not-configured{color:#a07837;background:#fff4df}.dropzone{min-height:120px;border:1.5px dashed #b9d9ce;border-radius:12px;background:#f9fcfa;padding:17px}.dropzone .dz-message{font-size:11px;color:#78918a;margin:8px 0}.dropzone .dz-message b{display:block;color:#386a5c;font-size:12px;margin-bottom:4px}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-kpi{padding:15px;border-radius:13px;background:#f7faf8;border:1px solid #edf1ef}.report-kpi span{font-size:9px;color:#889893}.report-kpi b{font-family:'Manrope';display:block;font-size:20px;margin-top:5px}.modal-content{border:0;border-radius:18px;box-shadow:0 20px 70px rgba(20,57,52,.2)}.modal-header,.modal-footer{border-color:#eff3f1;padding:17px 22px}.modal-body{padding:21px 22px}.modal-footer{padding:13px 22px}.modal-header .eyebrow{font-size:8px}.modal-title{font-weight:800;margin-top:4px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-full{grid-column:1/-1}.field-group textarea{min-height:80px}.help-section{max-width:900px}.help-row{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.help-row>i{font-size:18px;color:var(--teal)}.help-row h4{font-size:12px;margin:0 0 4px}.help-row p{font-size:11px;color:#7b8d87;line-height:1.6;margin:0}.loading-line{height:3px;overflow:hidden;border-radius:3px;background:#e7f0eb}.loading-line:after{content:"";display:block;height:100%;width:30%;background:var(--teal);animation:load 1.1s ease-in-out infinite alternate}@keyframes load{to{transform:translateX(220%)}}
@media(max-width:1100px){.sidebar{width:230px}.main-area{margin-left:230px}.metric-grid{grid-template-columns:repeat(2,1fr)}.quick-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100vh}.sidebar{transform:translateX(-100%);transition:transform .22s ease;width:270px;box-shadow:15px 0 35px #092e2a24}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.topbar{height:72px;padding:11px 17px}.menu-toggle{display:grid;color:#53716b;background:#f3f7f4}.content-wrap{padding:20px 16px 40px}.breadcrumb-small{display:none}.topbar h1{font-size:17px}.top-actions{gap:6px}.date-chip{display:none}.metric-grid{gap:9px}.metric-card{padding:13px;min-height:116px}.metric-value{font-size:24px}.metric-label{font-size:10px}.metric-foot{font-size:9px}.dashboard-grid,.ai-workspace,.settings-grid{grid-template-columns:1fr}.quick-actions{gap:8px}.quick-action{padding:10px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%;flex-wrap:wrap}.heading-actions .btn{flex:1}.field-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.panel{padding:15px}.report-kpis{grid-template-columns:repeat(2,1fr)}.calendar-panel{padding:10px}.fc .fc-toolbar{flex-wrap:wrap;gap:7px}.fc .fc-toolbar-title{font-size:14px}.fc .fc-button{padding:.3em .5em!important}.table-card{padding:14px}.table-card .table{min-width:620px}}
