:root{font-family:Noto Sans Arabic,Tahoma,sans-serif;color:#002c44;background:#f5f8fa;font-synthesis:none;font-size:14px;--teal:#007c92;--navy:#002c44;--line:#e7edf0;--muted:#80919c}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:.18s}button:disabled{opacity:.5;cursor:wait}input,select,textarea{border:1px solid #dfe7eb;border-radius:9px;padding:11px 13px;background:#fff;color:var(--navy);width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #007c9210}button:focus-visible,a:focus-visible{outline:3px solid #69b9c7;outline-offset:3px}textarea{min-height:80px;resize:vertical}h1,h2,h3,p{margin:0}h1{font-size:29px;font-weight:700;letter-spacing:-.8px}h2{font-size:17px;font-weight:700}p{line-height:1.9}small{font-size:11px}.muted{color:var(--muted)}.logo{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:800;direction:ltr;color:var(--navy);line-height:1.25}.logo>svg{color:var(--teal);background:#d5f1f4;border-radius:13px;padding:7px;box-sizing:content-box}.logo small{display:block;font-size:10px;font-weight:500;text-align:right;letter-spacing:0;margin-top:6px;color:#718591}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;right:0;top:0;bottom:0;width:249px;background:#fff;border-left:1px solid var(--line);padding:32px 23px;display:flex;flex-direction:column;z-index:15}.sidebar .logo{margin-bottom:48px}.nav-caption{color:#9caab2;font-size:11px;margin:0 14px 13px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar button{border:0;background:none;text-align:right;color:#758997;display:flex;gap:13px;align-items:center;border-radius:9px;padding:13px 15px;font-size:12px;font-weight:600}.sidebar nav button:hover{background:#f5fafb}.sidebar nav button.active{background:#e8f5f6;color:var(--teal)}.nav-count{margin-right:auto;background:#007c92;color:#fff;padding:0 7px;border-radius:5px;font-size:10px}.sidebar-bottom{margin-top:auto}.clinic-status{font-size:9px;color:#8a9ba6;background:#f7fafb;padding:12px 7px;border-radius:9px;margin-bottom:13px;display:flex;align-items:center;gap:7px}.clinic-status i{width:6px;height:6px;border-radius:50%;background:#37ad91}.user{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:16px;padding-top:22px}.user b{font-size:11px}.user small{display:block;color:#82939e;font-size:9px}.user .icon{margin-right:auto;padding:4px}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#e9f3f5;color:var(--teal);font-weight:700;flex-shrink:0}.avatar.small{width:30px;height:30px;font-size:12px}.avatar.large{width:65px;height:65px;font-size:25px;border-radius:20px}.avatar.pastel{background:#f0f2fa;color:#858fae}.workspace{margin-right:249px;width:calc(100% - 249px)}.topbar{height:77px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 35px;font-size:12px}.topbar small{color:#99a6ae}.top-actions{display:flex;align-items:center;gap:22px}.time{display:flex;gap:8px;align-items:center;font-size:11px;color:#8797a2}.icon{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:#7c8d98;padding:5px}.notification{position:relative}.notification i{position:absolute;width:5px;height:5px;background:#ff9100;border-radius:50%;top:3px;right:6px}.content{padding:31px 35px 50px;max-width:1700px;margin:auto;min-height:calc(100vh - 137px)}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px}.page-heading p{color:#8c9ba6;font-size:12px;margin-top:5px}.eyebrow{font-size:10px;color:#6b9ea8;letter-spacing:.3px;display:block;margin-bottom:8px}.wave{color:#d8b866;font-size:25px}.date-chip{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);padding:11px 15px;border-radius:10px;color:#6d8491;font-size:11px}.date-chip svg{color:#007c92}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:27px}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px 20px;min-width:0}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#78909c;font-size:11px}.stat-icon{background:#e4f4f6;color:#007c92;border-radius:10px;padding:10px;display:flex}.stat-icon.blue{background:#eaf0fc;color:#7393c8}.stat-icon.pink{background:#fcecf3;color:#d79cb4}.stat-icon.gold{background:#fff7e6;color:#d1aa4f}.stat h2{font-size:28px;margin-top:10px;letter-spacing:-1px;overflow-wrap:anywhere}.stat p{font-size:9px;color:#9daab2;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px;min-width:0}.dashboard-grid>.panel,.right-stack .panel{margin-bottom:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}.panel-head h2{display:flex;gap:10px;align-items:center}.panel-head p{font-size:10px;color:#98a6ae;margin-top:4px}.badge{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;background:#eaf4f5;color:#63959e;font-size:9px;padding:3px 9px;border-radius:6px;font-weight:500}.badge.green{background:#e6f5ef;color:#409983}.badge.blue{background:#eaf1ff;color:#7494c2}.badge.orange{background:#fff3e3;color:#c69452}.badge.red{background:#fdebef;color:#bc5c72}.badge+.badge{margin:3px}.text-button{border:0;background:none;color:var(--teal);display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:5px 0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap}th{font-weight:500;font-size:10px;color:#9aa8b1;background:#f9fbfc;padding:12px 9px}td{padding:18px 9px;border-bottom:1px solid #f0f3f5;font-size:11px;color:#58717f}td small{display:block;font-size:9px;color:#9fadb5;margin-top:3px}tr:last-child td{border:0}.person{display:flex;gap:10px;align-items:center}.link-person{background:none;border:0;color:var(--navy);font-size:11px;padding:0}.appointment-time{color:#007c92;font-size:14px;direction:ltr;display:block}.status-select{background:#e8f6f1;color:#438f7f;border:0;padding:5px 7px;font-size:10px;max-width:110px}.right-stack{display:grid;gap:20px}.welcome-card{position:relative;overflow:hidden;background:linear-gradient(125deg,#007c92,#00576d);border-radius:14px;padding:23px;color:#fff;min-height:230px}.welcome-card>span{color:#9bced8;font-size:10px}.welcome-card h2{font-size:23px;line-height:1.65;margin-top:7px;position:relative;z-index:1}.welcome-card p{font-size:9px;color:#c4e1e6;position:relative;z-index:1;max-width:220px;margin:9px 0 18px}.welcome-card button{position:relative;z-index:1;display:flex;align-items:center;gap:20px;border:1px solid #ffffff30;border-radius:8px;background:#ffffff14;color:#fff;padding:8px 12px;font-size:10px}.watermark{position:absolute;left:-28px;bottom:20px;color:#fff;opacity:.08;transform:rotate(-15deg)}.stock-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #f0f4f5;font-size:11px}.stock-row:last-child{border:0}.stock-row small{display:block;color:#9bacb5;font-size:10px}.stock-row p{font-size:11px;color:#8799a4}.recent-row{display:flex;width:100%;border:0;border-bottom:1px solid #f0f4f5;background:none;text-align:right;align-items:center;gap:12px;padding:14px 0;color:#335464;font-size:11px}.recent-row small{display:block;color:#9faeb6;font-size:9px;margin-top:3px}.recent-row .badge{margin-right:auto}.all-clear{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 0;color:#9bb1b7}.all-clear svg{color:#58a894;background:#e7f6ef;box-sizing:content-box;padding:11px;border-radius:50%;margin-bottom:12px}.all-clear b{font-size:12px;color:#748a96}.all-clear p{font-size:10px;margin-top:6px}.footer{display:flex;align-items:center;gap:15px;padding:17px 35px;border-top:1px solid var(--line);color:#9eb0b9;font-size:11px}.footer span{font-size:9px}.footer small{margin-right:auto;font-size:9px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;padding:10px 18px;font-size:12px;font-weight:600;border:0}.primary{background:#007c92;color:#fff}.primary:hover{background:#00697d}.secondary{background:#fff;border:1px solid #e0e8ec;color:#6b8593}.fab-wrap{position:fixed;left:30px;bottom:28px;z-index:20}.fab{width:55px;height:55px;border:0;border-radius:50%;background:#007c92;color:#fff;box-shadow:0 5px 20px #007c9230;display:grid;place-items:center}.quick-menu{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;margin-bottom:12px;box-shadow:0 10px 40px #002c4412}.quick-menu button{display:block;padding:12px 18px;border:0;background:none;color:var(--navy);width:100%;text-align:right;font-size:12px}.quick-menu button:hover{background:#edf7f8}.search{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:0 12px;border:1px solid var(--line);border-radius:9px;max-width:420px;color:#98acb6}.search input{border:0}.search input:focus{box-shadow:none}.clickable:hover{background:#f5fafb;cursor:pointer}.patient-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 3px 12px #002c4405}.patient-header h1{font-size:22px}.patient-header p{font-size:11px;color:#91a2ac}.patient-header span[dir]{font-size:12px;display:block;color:#78909e}.debt{color:#c87859}.back{margin-bottom:15px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:25px;overflow-x:auto}.tabs button{white-space:nowrap;border:0;border-bottom:2px solid transparent;background:none;padding:14px 20px;color:#8c9ea8;font-size:12px}.tabs button.active{color:var(--teal);border-color:var(--teal)}.timeline{max-width:950px}.visit{border-right:4px solid #ddd;margin-right:18px;position:relative}.visit:before{content:"";position:absolute;width:12px;height:12px;background:#c4d2da;border:3px solid #f5f8fa;right:-29px;top:29px;border-radius:50%}.visit.paid{border-right-color:#70b49d}.visit.ongoing{border-right-color:#75a6cd}.visit.unpaid{border-right-color:#dba26c}.visit h2{margin-top:10px}.visit p{font-size:12px;color:#8ea0ab}.visit-money{display:flex;gap:30px;margin:18px 0;border-top:1px solid var(--line);padding-top:15px}.visit-money span{font-size:10px;color:#8c9fa9}.visit-money b{display:block;font-size:13px;color:#365767;margin-top:3px}.odontogram{padding:30px}.teeth-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:1050px;margin:18px auto}.quadrant{display:flex;justify-content:center;gap:4px}.tooth{position:relative;width:12%;max-width:62px;border:0;background:transparent;padding:3px;display:flex;align-items:center;flex-direction:column;border-radius:10px;color:#647d8d}.tooth:hover{background:#e6f5f7;transform:translateY(-3px)}.tooth svg{width:100%;height:100px;overflow:visible}.tooth .root{fill:#b7cad3;stroke:#94aebd;stroke-width:.8}.tooth.treated .crown{fill:#b1dfe9}.tooth.done .crown{fill:#ccebdd}.tooth.missing{opacity:.65}.tooth b{font-size:14px;color:#204558}.tooth small{font-size:9px;color:#a5b6bf}.lower .tooth svg{transform:rotate(180deg)}.midline{border-bottom:1px solid #c9d7df;max-width:1050px;margin:auto}.jaw-label{text-align:center;color:#92a5af;font-size:11px;margin:15px}.legend{display:flex;justify-content:center;gap:15px;margin-top:30px}.segmented{display:inline-flex;background:#f2f6f8;padding:4px;border-radius:9px;gap:4px}.segmented button{background:none;border:0;color:#8fa1aa;padding:7px 16px;border-radius:7px;font-size:11px;white-space:nowrap}.segmented .active{background:#fff;color:#007c92;box-shadow:0 2px 6px #002c4408}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-toolbar>input{width:180px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-day{min-height:110px;padding:10px;background:#f3fafb;border-radius:7px}.calendar-day.shade-1{background:#f8f7fc}.calendar-day.shade-2{background:#fef8f2}.calendar-day.shade-3{background:#f4f9f4}.calendar-day.friday{box-shadow:inset 0 3px #e2b785}.calendar-day>button{background:none;border:0;font-size:10px;color:#75919f;padding:0}.calendar-day small{display:block;font-size:9px;background:#fff;padding:5px;border-radius:5px;margin-top:5px}.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.plan-price{margin:15px 0}.plan-price h2{font-size:27px}.plan-price span,.plan-price del{font-size:11px;color:#98a8b1}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.stock-row .action-row{margin:0}.quantity{display:flex;gap:5px}.quantity button{border:1px solid var(--line);border-radius:5px;background:#f7fafb;color:#007c92;padding:2px 10px;font-size:18px}.profile-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:20px}.profile-info p{font-size:13px;color:#7c94a1}.profile-info b{display:block;font-size:11px;color:#a2b0b7}.empty{padding:40px;text-align:center;color:#98b0ba;font-size:13px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#002c4460;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:20px}.modal{background:#fff;border-radius:18px;max-width:590px;width:100%;max-height:90vh;overflow-y:auto;padding:25px;box-shadow:0 20px 100px #002c4420}.modal>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:20px}.modal-form{display:grid;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field>span{font-size:11px;color:#76919f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.checkbox{display:flex;align-items:center;gap:8px;font-size:11px;color:#8399a5}.checkbox input{width:auto}.error{background:#fdf0ee;color:#b36256;font-size:12px;padding:12px 15px;border-radius:9px;margin-bottom:16px;display:flex;justify-content:space-between;gap:10px;overflow-wrap:anywhere}.danger{color:#c6666f}.attachment{display:block;color:#007c92;margin-top:15px;overflow-wrap:anywhere}.print-document{padding:15px}.print-document h1{font-size:23px;margin:30px 0 15px}.print-document p{margin-bottom:10px;font-size:12px}.print-document footer{margin-top:35px;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:#9fb1b8}.receipt-tooth{display:flex;align-items:center;gap:10px;font-size:55px;color:#007c92}.receipt-tooth b{font-size:20px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fff;direction:ltr}.login-art{background:#eaf5f6;padding:50px 65px;direction:rtl;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;left:-160px;bottom:-200px;width:650px;height:650px;border:1px solid #aad3da;border-radius:50%;box-shadow:0 0 0 65px #d5e9ec60,0 0 0 130px #d5e9ec30;pointer-events:none}.login-art .logo{justify-content:flex-end}.login-art h1{font-size:55px;line-height:1.65;letter-spacing:-2px}.login-art h1 em{font-style:normal;color:#007c92}.login-art p{color:#7a9ea8;font-size:13px;margin-top:25px}.login-art small{color:#91aab2;font-size:10px;direction:ltr}.abstract-tooth{position:absolute;left:40px;bottom:100px;color:#007c9214;transform:rotate(-20deg)}.login-form{direction:rtl;padding:70px 60px;max-width:550px;width:100%;margin:auto}.login-form>.logo{display:none}.login-form h2{font-size:28px}.login-form>p{font-size:12px;color:#8fa2ac;margin:10px 0 30px}.login-form .segmented{width:100%;margin-bottom:30px}.login-form .segmented button{width:50%;padding:10px}.login-form form{display:grid;gap:20px}.login-form .primary{width:100%;padding:13px;justify-content:space-between}.login-form>small{font-size:10px;display:block;text-align:center}@media(min-width:1600px){.content{padding:40px 50px}.topbar{padding:0 50px}.stat{padding:24px}.stat h2{font-size:32px}.dashboard-grid{gap:25px}.panel{padding:28px}td{padding:21px 10px}}@media(max-width:1150px){.sidebar{width:210px;padding:28px 15px}.workspace{margin-right:210px;width:calc(100% - 210px)}.content{padding:25px}.topbar{padding:0 25px}.stats{gap:12px}.stat{padding:15px}.stat h2{font-size:24px}.dashboard-grid{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr}.calendar{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.sidebar{transform:translate(100%);width:249px;transition:.2s;box-shadow:-5px 0 30px #002c4410}.sidebar.show{transform:translate(0)}.workspace{margin:0;width:100%}.topbar{padding:0 15px;height:65px}.topbar small,.time{display:none}.top-actions{gap:10px}.content{padding:22px 15px 70px}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-heading h1{font-size:23px}.date-chip{font-size:9px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.stat h2{font-size:23px}.stat-top{font-size:9px}.stat-icon{padding:7px}.stat p{font-size:8px}.right-stack{grid-template-columns:1fr}.panel{padding:17px}.panel-head{flex-wrap:wrap}.patient-header{align-items:flex-start;flex-wrap:wrap}.patient-header h1{font-size:20px}.patient-header .avatar{display:none}.patient-header>div:last-child h2{font-size:18px}.tabs button{padding:10px 13px;font-size:10px}.teeth-grid{gap:12px}.quadrant{gap:0}.tooth{padding:0}.tooth svg{height:66px}.tooth b{font-size:11px}.tooth small{font-size:7px}.legend{gap:5px;flex-wrap:wrap}.odontogram{padding:16px 8px}.jaw-label{font-size:9px}.calendar{grid-template-columns:repeat(2,1fr)}.plan-grid,.profile-info{grid-template-columns:1fr}.footer{padding:15px}.footer small{display:none}.login{display:block}.login-art{display:none}.login-form{padding:45px 25px}.login-form>.logo{display:flex;margin-bottom:55px}.modal{padding:20px}.form-grid{gap:10px}.fab-wrap{left:18px;bottom:18px}}@media print{body *{visibility:hidden}.print-document,.print-document *{visibility:visible}.print-document{position:absolute;top:0;right:0;bottom:0;left:0;padding:25px;width:100%;background:#fff}.overlay,.modal{position:static;display:block;background:#fff;border:0;max-height:none;overflow:visible;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.print-document table{white-space:normal}.print-document h1{color:#007c92}@page{size:A4;margin:15mm}}.fab-wrap{left:auto;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:flex-start}.quick-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;border:0;z-index:39;cursor:default}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.sidebar-heading .logo{margin-bottom:0}.sidebar .sidebar-close,.sidebar-backdrop{display:none}@media(max-width:760px){.sidebar{z-index:60}.sidebar .sidebar-close{display:flex;min-width:44px;min-height:44px;justify-content:center;padding:0}.sidebar-heading{gap:6px;margin-bottom:28px}.sidebar-heading .logo{font-size:20px}.sidebar-backdrop{display:block;position:fixed;top:0;bottom:0;left:0;right:249px;z-index:59;border:0;background:#002c4455;cursor:default}.fab-wrap{left:auto;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom))}.fab{width:58px;height:58px}.quick-menu button{min-height:48px}.stock-row{flex-wrap:wrap;gap:10px}.modal{max-height:calc(100dvh - 30px)}}.mobile-nav{display:none}.install-app{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid #c7e5ea;background:#edf8fa;color:#007c92;border-radius:10px;padding:9px 13px;font-size:11px;font-weight:600;min-height:44px}.pwa-tools{display:flex;flex-wrap:wrap;gap:8px;padding:8px 35px;background:#f5f8fa}.pwa-tools:empty{display:none}.connection-banner,.update-banner{display:flex;align-items:center;gap:10px;flex:1 1 100%;padding:10px 14px;border-radius:10px;font-size:12px;background:#fff5dc;color:#725a29}.update-banner{background:#d5f1f4;color:#002c44}.update-banner button{display:inline-flex;align-items:center;gap:6px;margin-right:auto;border:0;background:#007c92;color:#fff;padding:8px 12px;border-radius:8px;white-space:nowrap}.install-help>img{display:block;margin:0 auto 18px;border-radius:18px}.install-help p{font-size:13px}.install-help ol{padding-right:23px;font-size:13px;line-height:2.2}.install-help li{margin-bottom:9px}.install-help li svg{vertical-align:middle}.install-help>small{display:block;margin:14px 0}.install-help>.primary{width:100%}.login-form>.install-app{margin-bottom:24px}.login-form>.connection-banner,.login-form>.update-banner{margin-bottom:18px}@media(max-width:760px){.mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;height:calc(76px + env(safe-area-inset-bottom));padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#ffffffed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid #dfebef;box-shadow:0 -6px 25px #002c4408;z-index:38;direction:rtl}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:0;border-radius:12px;color:#7b929f;min-width:0;font-size:10px;font-weight:600;padding:5px 1px;min-height:48px}.mobile-nav button[aria-current=page],.mobile-nav button.selected{color:#007c92;background:#eaf6f8}.mobile-nav button[aria-current=page] svg{stroke-width:2.5}.fab-wrap{right:auto;left:50%;transform:translate(-50%);bottom:calc(22px + env(safe-area-inset-bottom));align-items:center}.fab{width:62px;height:62px;border:5px solid #f5f8fa;box-shadow:0 4px 16px #007c9235}.quick-menu{width:220px;padding:8px;margin-bottom:16px;border-radius:17px;box-shadow:0 12px 35px #002c4420}.quick-menu button{border-radius:9px;font-size:13px}.content{padding-bottom:110px}.footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:25;height:60px;padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.pwa-tools{padding:8px 15px}.pwa-tools .install-app{margin-right:auto;font-size:10px;min-height:38px;padding:6px 11px}.connection-banner,.update-banner{font-size:11px;line-height:1.8}.update-banner{flex-wrap:wrap}.page-heading{gap:12px;margin-bottom:20px}.page-heading>.primary{min-height:44px}.calendar-toolbar{gap:10px;flex-wrap:wrap}.calendar-toolbar .segmented{max-width:100%;overflow-x:auto}.action-row>button{min-height:44px}.form-grid{grid-template-columns:1fr}.modal{border-radius:20px 20px 0 0;max-height:calc(100dvh - 28px);padding:20px 18px calc(20px + env(safe-area-inset-bottom))}.overlay{align-items:flex-end;padding:28px 0 0}.modal>header{position:sticky;top:-20px;background:#fff;z-index:2;padding-top:12px}.modal .icon{min-width:44px;min-height:44px}.modal input,.modal select,.modal textarea,.login-form input{font-size:16px}.modal-form>.primary{min-height:48px}.login-form{padding-bottom:calc(35px + env(safe-area-inset-bottom));padding-top:32px}.login-form>.logo{margin-bottom:30px}.patient-header{position:static}.search{max-width:none;min-height:46px}.tabs{scrollbar-width:none}.tabs button{min-height:44px}.sidebar{padding-top:max(24px,env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}.sidebar-bottom{padding-bottom:0}.install-help .primary{min-height:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.mobile-nav,.pwa-tools,.fab-wrap,.connection-banner,.update-banner{display:none!important}}@media(min-width:761px){.fab-wrap{right:234px}}@media(min-width:1151px){.fab-wrap{right:273px}}.reference-tooth{max-width:76px;width:12.5%;padding:3px;border:1px solid transparent;min-width:0}.reference-tooth svg,.lower .reference-tooth svg{height:150px;overflow:hidden;transform:none}.lower .reference-tooth svg{height:186px}.reference-tooth:hover,.reference-tooth:focus-visible{border-color:#007c92;background:#d5f1f4}.reference-tooth.treated{border-color:#6a9cd7;background:#eaf1fc}.reference-tooth.done{border-color:#59ae91;background:#edf8f1}.reference-tooth.missing{background:#fff0f3;opacity:1}.tooth-state{font-size:8px;white-space:nowrap;margin-top:4px}@media(max-width:760px){.odontogram .teeth-grid{gap:14px;margin:12px auto}.reference-tooth{padding:1px;border-radius:5px}.reference-tooth svg,.lower .reference-tooth svg{height:90px}.lower .reference-tooth svg{height:110px}.reference-tooth b{font-size:12px}.reference-tooth small{font-size:9px}.tooth-state{font-size:6px;white-space:normal}.odontogram .panel-head p{font-size:11px}}.secretary-dashboard{max-width:1080px;margin:auto}.doctor-tabs{display:flex;gap:10px;overflow-x:auto;margin:0 0 22px;padding:4px 0 10px}.doctor-tabs button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:12px;padding:14px 24px;white-space:nowrap;min-height:48px}.doctor-tabs button.active{background:var(--teal);color:#fff;border-color:var(--teal)}.schedule-date{display:flex;align-items:center;gap:8px;color:var(--teal)}.schedule-date input{width:auto}.shift-toggle button{min-height:44px;min-width:94px}.shift-toggle small{margin-inline-start:6px}.time-slots{display:grid;gap:10px}.time-slot{display:grid;grid-template-columns:105px 1fr;align-items:stretch;min-height:66px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.time-slot time{display:flex;align-items:center;justify-content:center;gap:6px;font-size:19px;font-weight:700;background:#f6fafb;border-left:1px solid var(--line)}.time-slot time small{font-size:10px;font-weight:500;color:var(--muted)}.time-slot>button{display:flex;align-items:center;gap:10px;border:0;background:#fff;color:var(--teal);text-align:right;padding:18px}.time-slot>button:hover{background:#eaf7f8}.slot-bookings{padding:14px 18px;background:#eff7fa}.slot-bookings>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.slot-bookings span{color:#718591}.slot-bookings small{margin-inline-start:auto;color:#007c92}.booking-notice{display:flex;gap:8px;align-items:center;background:#edf8f1;color:#268766;padding:12px;border-radius:10px;margin-bottom:16px}.booking-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px;background:#eaf5f6;border-radius:10px;margin-bottom:20px}.patient-matches{display:grid;gap:6px;max-height:210px;overflow:auto}.patient-matches button{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);text-align:right}.patient-matches button.selected{background:#e8f5f6;border-color:var(--teal)}.patient-matches small{display:block;color:var(--muted)}.provisional-fields{display:grid;gap:15px;padding:15px;background:#f5f8fa;border-radius:12px}.provisional-fields p{font-size:12px;color:#718591}@media(max-width:760px){.doctor-tabs{gap:7px}.doctor-tabs button{padding:12px 16px}.secretary-dashboard .page-heading{gap:14px}.schedule-date{width:100%}.schedule-date input{flex:1}.time-slot{grid-template-columns:76px 1fr}.time-slot time{font-size:17px}.time-slot>button{padding:14px;font-size:12px}.slot-bookings>div{display:grid;gap:3px}.slot-bookings small{margin:0}.booking-timeline .panel-head{gap:16px}.shift-toggle{width:100%}.shift-toggle button{flex:1}}.slot-bookings .reception-booking{display:block;padding:18px;width:100%;min-width:0;background:#fff;border-radius:12px}.booking-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 16px}.booking-details>div{display:block!important;min-width:0}.booking-details dt{font-size:12px;color:#718999;margin-bottom:5px}.booking-details dd{margin:0;font-size:14px;color:#002c44;overflow-wrap:anywhere}.booking-details select{width:100%;max-width:180px;padding:7px;border:1px solid #d5e6ea;border-radius:8px;background:#fff}.attendance{display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}.attendance label{display:flex;align-items:center;gap:9px;font-weight:700}.attendance input{width:20px;height:20px;accent-color:#007c92}.booking-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-actions button{padding:10px 7px!important;min-height:44px;border:1px solid #d5e6ea;background:#f0f9fa;border-radius:8px;font-size:13px!important;color:#007c92}.future-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.future-times button{padding:12px 5px;border:1px solid #d5e6ea;border-radius:8px;background:#fff;min-height:44px}.future-times button.active{background:#007c92;color:#fff}.future-times button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:760px){.booking-details{grid-template-columns:1fr;gap:12px}.time-slot.reserved{grid-template-columns:1fr}.time-slot.reserved>time{padding:12px}.slot-bookings .reception-booking{padding:14px}.booking-actions button{font-size:11px!important}.future-times{grid-template-columns:repeat(3,1fr)}}.slot-bookings{padding:8px}.slot-bookings .reception-booking{padding:12px}.booking-details{display:flex;flex-wrap:wrap;align-items:center;gap:7px 16px;margin:0 0 9px}.booking-details>div{display:flex!important;align-items:baseline;gap:5px}.booking-details dt{font-size:11px;margin:0;white-space:nowrap}.booking-details dd{font-size:12px}.booking-details .booking-person dt{display:none}.booking-details .booking-person dd{font-size:17px;font-weight:800}.booking-details .booking-medical{background:#fde9eb;color:#c63443;border-radius:20px;padding:3px 9px}.booking-details .booking-medical dt,.booking-details .booking-medical dd{color:#c63443}.booking-details .booking-debt dd{color:#d04956;font-weight:700}.booking-details select{width:auto;padding:3px 6px;font-size:12px;max-width:120px}.booking-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.attendance{margin:0;gap:10px}.attendance label{font-size:12px}.attendance small{font-size:10px}.booking-actions{display:flex!important;flex-wrap:wrap;gap:6px}.booking-actions button{padding:7px 10px!important;min-height:36px;font-size:12px!important}.booking-submit{display:block;width:100%}.booking-submit button{width:100%}.booking-submit.blocked,.booking-submit.blocked button:disabled{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='white' stroke='%23db263b' stroke-width='3'/%3E%3Cpath d='M6 6l12 12' stroke='%23db263b' stroke-width='3'/%3E%3C/svg%3E") 12 12,not-allowed}.booking-submit.busy button:disabled{cursor:wait}.booking-blocked-hint{color:#bc384b;font-size:11px}.odontogram .teeth-grid{position:relative}.odontogram .teeth-grid:after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #bed5dc;pointer-events:none}.odontogram .midline{position:relative;overflow:visible}.odontogram .midline span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:#007c92;font-size:27px;line-height:28px;width:28px;text-align:center;z-index:1}@media(max-width:760px){.time-slot.reserved{grid-template-columns:1fr}.time-slot.reserved>time{justify-content:flex-start;padding:7px 12px;font-size:15px}.slot-bookings .reception-booking{padding:10px}.booking-details{gap:6px 10px}.booking-details .booking-person dd{font-size:15px}.booking-details dd{font-size:11px}.booking-details dt{font-size:10px}.booking-actions{flex:1;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.booking-actions button{font-size:11px!important;min-height:40px;padding:6px!important}.booking-footer{gap:8px}.attendance{width:100%}}.reception-today-visits{margin-top:20px}.today-visit-list{display:grid;gap:10px}.today-visit{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:12px}.today-visit>b{font-size:15px}.today-visit .text-button{margin-inline-start:auto}.time-slot.visit-recorded{border-color:#91cbaa}.time-slot.visit-recorded>time{background:#dff3e7;color:#197a48}.slot-bookings .reception-booking.visit-recorded{background:#eaf8ef;border:1px solid #a8d6b9}.reception-booking.visit-recorded .attendance small{color:#197a48;font-weight:700}.tooth-workflow{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.tooth-workflow-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tooth-workflow-tabs button{padding:14px;border:1px solid #b9dce2;border-radius:10px;background:#f2fafb;color:#007c92;min-height:46px}.tooth-workflow-tabs button.active,.treatment-options button.active{background:#007c92;color:#fff}.treatment-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.treatment-options button{background:#fff;border:1px solid #d4e5e9;border-radius:8px;padding:10px 16px;min-height:44px}.tooth-workflow .modal-form{max-width:650px;margin:auto}.tooth-workflow .form-grid{grid-template-columns:1fr 1fr}.time-slot.reserved{grid-template-columns:1fr}.booking-time-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.booking-time-status time{padding:5px 8px;border:0;border-radius:7px;min-width:70px}.booking-statuses{display:flex;gap:12px;flex-wrap:wrap}.booking-statuses label{display:flex;align-items:center;gap:5px;font-size:12px;cursor:pointer}.booking-statuses input{width:17px;height:17px;accent-color:var(--teal)}.reception-booking.visit-recorded .booking-time-status time{background:#dff3e7;color:#197a48}@media(max-width:760px){.booking-time-status,.booking-statuses{gap:8px}.booking-statuses label{font-size:10px}}.slot-bookings .reception-booking.provisional-booking{background:#fff9dd;border:1px solid #eed486;border-inline-start:4px solid #e1b148}.provisional-booking .booking-time-status time{background:#fff0b7;color:#876414}.provisional-alert{color:#876414;background:#fff0b7;padding:8px;border-radius:8px;font-size:12px;margin:0 0 10px}.intake-list{display:grid;gap:8px;max-height:340px;overflow:auto}.intake-list button{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right;padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--navy)}.intake-list button.provisional-choice{background:#fff9dd;border-color:#eed486}.intake-list small{display:block;font-size:11px;color:var(--muted)}.tooth.selected-tooth{outline:3px solid var(--teal);border-radius:10px;background:#d5f1f4}.add-treatment{min-width:48px;font-size:24px!important;border:2px dashed var(--teal)!important}.treatment-add{display:flex;align-items:end;gap:8px;margin-top:10px}.treatment-add .field{flex:1}.treatment-picker{display:grid;gap:12px}.doctor-choices{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.doctor-choices button{padding:18px 24px;border:1px solid #c9e3e8;border-radius:12px;background:#fff;color:#002c44}.doctor-choices button.active{background:#d5f1f4;border-color:#007c92}.medical-icons{display:inline-flex;flex-wrap:wrap;gap:8px;vertical-align:middle}.medical-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:#d94a58;background:#fff0f2;border-radius:50%;cursor:help}.medical-icon [role=tooltip]{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:5px 9px;background:#002c44;color:#fff;border-radius:6px;white-space:nowrap;z-index:5}.medical-icon:hover [role=tooltip],.medical-icon:focus [role=tooltip]{display:block}.medical-fields{border:1px solid #d5e7ea;border-radius:12px;padding:14px;display:flex;gap:12px;flex-wrap:wrap}.medical-fields label{display:flex;gap:6px;align-items:center}.medical-fields input{width:auto}.request-change-details{max-width:100%;overflow:auto}.request-change-details table{font-size:13px}.stock-row:has(.request-change-details){align-items:flex-start;flex-wrap:wrap}.patient-header .secondary{margin:4px}:root{font-family:IBM Plex Sans Arabic,Tahoma,sans-serif;--teal:#007c92;--navy:#002c44;--line:#dfeaec;--muted:#627c8a;--surface:#fff;--canvas:#f2f7f8;color:var(--navy);background:var(--canvas);font-size:15px}body{background:var(--canvas);-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:0;line-height:1.5}h1{font-size:30px}h2{font-size:20px}p{line-height:1.75}small{font-size:12px}button:disabled{cursor:not-allowed}button,input,select,textarea{font-family:inherit}button{transition:background .15s,border-color .15s,box-shadow .15s}input,select,textarea{padding:12px 15px;border-radius:12px;border-color:#d5e2e7;font-size:14px;min-height:46px}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px #007c9214}.field>span{color:#506a78;font-size:13px;font-weight:600}.primary,.secondary{border-radius:12px;min-height:44px;gap:8px;font-size:14px;padding:10px 17px;font-weight:600}.primary{background:#007c92;box-shadow:0 4px 10px #007c9216}.primary:hover{background:#006779}.secondary{background:#fff;border:1px solid #cddfe4}.text-button{font-size:13px;font-weight:600}.badge{font-size:12px;padding:5px 10px;border-radius:8px}.sidebar{background:linear-gradient(170deg,#002c44,#00394f);border:0;padding:30px 18px;color:#fff}.sidebar .logo,.sidebar .logo small{color:#fff}.logo{font-size:25px}.logo small{font-size:12px}.logo>svg{background:#d5f1f4;stroke-width:1.6;padding:9px;border-radius:15px}.sidebar .logo>svg{color:#7ed9e3;background:#ffffff12}.sidebar-heading{margin-bottom:40px}.nav-caption{color:#aac7d3;font-size:12px}.sidebar button{color:#c5d9e1;font-size:14px;padding:13px 14px;border-radius:12px}.sidebar nav{gap:6px}.sidebar nav button.active{background:#007c92;color:#fff;box-shadow:inset -3px 0 #7cdee7}.sidebar nav button:hover{background:#ffffff0e;color:#fff}.sidebar nav button.active:hover{background:#007c92}.sidebar nav button svg{stroke-width:1.7}.nav-count{background:#ffffff1f;border-radius:6px;padding:1px 8px;font-size:12px}.clinic-status{color:#afcad5;background:#ffffff09;padding:12px;font-size:11px}.user{border-color:#ffffff1a}.user b{color:#fff;font-size:13px}.user small{color:#a8c3d0}.sidebar .avatar{background:#ffffff12;color:#bde9ed}.topbar{height:78px;border-color:var(--line);background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:0 32px}.topbar>div:first-child>span{font-size:15px;font-weight:600}.topbar small{font-size:12px}.time{font-size:13px;color:#617a87}.pwa-tools{padding:7px 32px;background:#e9f2f4;border-bottom:1px solid #dfeaec}.install-app{background:#fff;font-size:12px;border-radius:9px;padding:7px 12px;min-height:36px}.content{padding:30px 32px}.page-heading{margin-bottom:25px}.page-heading p{font-size:14px;color:#637d8b;margin-top:8px}.eyebrow{font-size:12px;color:#007c92;letter-spacing:0}.panel{border-color:#e0e9ed;border-radius:18px;box-shadow:0 3px 16px #002c4404;padding:24px}.panel-head{gap:16px;margin-bottom:20px}.panel-head p{color:#637d8b;font-size:13px;margin-top:5px}.stats{gap:18px}.stat{padding:22px;border-radius:18px;border:1px solid #e0e9ed;box-shadow:0 3px 16px #002c4404}.stat-top{font-size:13px}.stat h2{font-size:32px;margin-top:16px}.stat p{color:#6b8190;font-size:12px}.stat-icon{border-radius:13px}.welcome-card{border-radius:18px;background:linear-gradient(135deg,#007c92,#005c72)}.table-scroll{border-radius:13px}table{font-size:14px}th{background:#f0f6f7;color:#5b7583;font-size:12px;font-weight:600;padding:13px}td{padding:17px 13px;font-size:14px;border-color:#edf2f3}td small{font-size:12px;color:#607988}tbody tr:hover{background:#f7fbfc}.avatar{background:#e5f3f5;border-radius:12px;color:#007c92;font-weight:600}.person{gap:12px}.person b{font-weight:600}.search{border-color:#d5e3e7;background:#f8fbfc;border-radius:12px;margin-bottom:20px}.search input{font-size:14px}.patient-header h1{font-size:26px}.patient-header p{font-size:14px;color:#607988}.patient-header>div:last-child h2{font-size:24px}.tabs{gap:4px;border-bottom:1px solid #dce8eb;margin-top:20px}.tabs button{font-size:14px;padding:13px 18px;border-radius:9px 9px 0 0}.tabs button.active{color:#007c92;background:#e5f3f5;border-color:#007c92}.profile-info p{font-size:14px;color:#425f70}.profile-info b{font-size:12px;color:#607b88;margin-bottom:5px}.doctor-tabs{gap:10px}.doctor-tabs button{font-size:15px;font-weight:600;padding:13px 23px;border-radius:13px;box-shadow:0 2px 7px #002c4403}.doctor-tabs button.active{background:#007c92;border-color:#007c92;box-shadow:0 4px 12px #007c921a}.booking-timeline{background:transparent;border:0;box-shadow:none;padding:0}.booking-timeline .panel-head{padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:16px}.time-slots{gap:12px}.time-slot{border-color:#dce8eb;border-radius:14px;background:#fff;box-shadow:0 2px 6px #002c4403}.time-slot>time{background:#ecf6f7;color:#007c92;font-size:20px}.time-slot>button{font-size:14px}.slot-bookings{padding:0;background:transparent}.slot-bookings .reception-booking{padding:16px 18px;border-radius:0;border-inline-start:4px solid #007c92}.booking-time-status{gap:18px;margin-bottom:13px}.booking-time-status time{border-radius:9px;background:#e6f3f5;min-width:85px;padding:7px 10px;font-size:18px}.booking-statuses label{font-size:12px;color:#516d7d}.booking-details{gap:7px 18px}.booking-details dt{font-size:12px;color:#657d8a}.booking-details dd{font-size:13px;color:#26495e}.booking-details .booking-person dd{font-size:19px;color:#002c44;font-weight:700}.booking-details .booking-person{flex-basis:100%}.booking-details select{font-size:13px;min-height:33px;padding:4px 9px;border-radius:7px}.booking-footer{padding-top:12px;margin-top:12px;border-top:1px solid #e5edf0;gap:12px}.booking-actions button{font-size:12px!important;padding:8px 13px!important;min-height:38px;background:#edf7f8;border-color:#d2e7eb;border-radius:9px}.booking-actions button:first-child{background:#007c92;color:#fff;border-color:#007c92}.attendance label{font-size:13px;color:#294c5e}.attendance small{font-size:12px}.provisional-alert{background:#fff3c7;color:#775c16;padding:9px 12px;font-size:13px;border-radius:8px}.slot-bookings .reception-booking.provisional-booking{background:#fffdf2;border-color:#e8c36a;border-inline-start-color:#e9b139}.slot-bookings .reception-booking.visit-recorded{background:#f1fbf5;border:0;border-inline-start:4px solid #399b6b}.reception-today-visits{margin-top:28px}.today-visit{padding:15px;border-radius:12px;font-size:13px}.today-visit>b{font-size:16px}.segmented{background:#eaf2f4;border-radius:11px;padding:4px}.segmented button{font-size:13px;border-radius:8px;min-height:36px}.segmented button.active{color:#006f84;box-shadow:0 2px 5px #002c4408}.schedule-date input{border-radius:11px}.status-select{font-size:13px;padding:8px 11px;min-height:37px;max-width:150px;border:1px solid #d2e7e9;border-radius:9px;background:#edf8f7;color:#007c92}.modal{border-radius:22px;padding:26px;box-shadow:0 25px 90px #002c4429}.modal>header h2{font-size:22px}.modal>p{font-size:14px;color:#456778}.modal-form{gap:17px}.overlay{background:#002c4466;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.empty{color:#657e8b;font-size:14px}.modal-form .primary{margin-top:5px}.intake-list button{padding:14px 17px;border-radius:12px}.intake-list button b{font-size:15px}.intake-list small{font-size:12px}.tooth-workflow-tabs button{font-size:14px;font-weight:600}.treatment-options button{font-size:14px;border-radius:10px}.doctor-choices button{font-size:14px;font-weight:600}.medical-icon{width:33px;height:33px;background:#ffeef2;color:#c9455c}.fab{background:#007c92;box-shadow:0 6px 20px #007c9230}.quick-menu{padding:7px;border:1px solid #d7e8ec;box-shadow:0 14px 35px #002c4420;border-radius:15px}.quick-menu button{font-size:14px;padding:12px 17px;border-radius:9px}.footer{font-size:12px;color:#738995}.login{background:#f5f9fa;grid-template-columns:1fr 1fr}.login-art{background:linear-gradient(145deg,#002c44,#00465d);padding:50px 65px;color:#fff}.login-art .logo,.login-art .logo small{color:#fff}.login-art .logo>svg{background:#ffffff13;color:#8de0e8}.login-art h1{font-size:48px;line-height:1.55;letter-spacing:0;color:#fff}.login-art h1 em{color:#89dbe4}.login-art p{font-size:15px;color:#b9d1db;max-width:360px}.login-art .eyebrow{display:inline-flex;border:1px solid #ffffff24;padding:7px 13px;border-radius:30px;color:#b9e5e9;background:#ffffff08;margin-bottom:24px}.login-art:after{border-color:#70b6c71f;box-shadow:0 0 0 65px #70b6c70a,0 0 0 130px #70b6c706}.login-art small{color:#a4c3d0;font-size:11px}.abstract-tooth{color:#8adce416;left:60px;bottom:120px}.login-form{max-width:520px;padding:55px 40px}.login-form h2{font-size:32px}.login-form>p{font-size:14px;color:#647e8b}.login-form form{gap:20px}.login-form .segmented button{font-size:14px;min-height:44px}.login-form .primary{justify-content:center;gap:14px;min-height:50px;font-size:16px}.remember-me{display:flex;align-items:center;gap:9px;color:#4c697a;font-size:14px;cursor:pointer}.remember-me input{width:19px;height:19px;min-height:0;accent-color:#007c92}.session-recovery{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;padding:25px;text-align:center}.session-recovery .panel{max-width:500px}.session-recovery h1{font-size:24px}.session-recovery p{margin:14px 0 22px;color:#5e7b8a}.session-recovery .action-row{justify-content:center}@media(max-width:1150px){.content{padding:24px}.topbar{padding:0 24px}.sidebar{padding:25px 14px}.sidebar button{font-size:13px}.logo{font-size:22px}}@media(max-width:760px){:root{font-size:14px}.content{padding:22px 14px 105px}.topbar{height:66px;padding:0 16px}.topbar>div:first-child>span{font-size:13px}.pwa-tools{padding:6px 14px}.page-heading h1{font-size:25px}.page-heading p{font-size:13px}.panel{padding:18px;border-radius:16px}.panel-head h2{font-size:18px}.booking-timeline{padding:0}.booking-timeline .panel-head{padding:15px}.doctor-tabs button{font-size:14px;padding:11px 16px}.doctor-tabs{margin-bottom:14px}.booking-time-status{gap:10px;margin-bottom:10px}.booking-time-status time{font-size:17px;min-width:75px;padding:6px 9px}.booking-statuses{gap:9px}.booking-statuses label{font-size:11px}.slot-bookings .reception-booking{padding:13px}.booking-details{gap:7px 11px}.booking-details .booking-person dd{font-size:17px}.booking-details dt{font-size:11px}.booking-details dd{font-size:12px}.booking-footer{margin-top:10px;padding-top:10px}.booking-actions button{min-height:42px;font-size:12px!important;padding:6px!important}.attendance{width:100%}.attendance label{font-size:12px}.attendance small{font-size:11px}.time-slot>time{font-size:18px}.time-slot>button{font-size:13px;min-height:64px}.booking-timeline .shift-toggle{width:auto}.schedule-date input{min-width:0;width:100%}.patient-header h1{font-size:23px}.patient-header p{font-size:13px}.patient-header .secondary{font-size:12px;padding:8px 11px}.tabs{overflow:auto;white-space:nowrap}.tabs button{font-size:13px;padding:11px 14px}.stat{padding:16px}.stat-top{font-size:12px}.stat h2{font-size:27px}.stat p{font-size:11px}.mobile-nav{background:#fff;box-shadow:0 -4px 18px #002c4408}.mobile-nav button{font-size:11px;color:#617b89}.mobile-nav button[aria-current=page]{background:#e5f3f5;color:#007c92}.modal{padding:22px 18px;border-radius:18px}.modal>header h2{font-size:21px}.login-form{padding:45px 25px;background:#f5f9fa}.login-form>.logo{margin-bottom:36px}.login-form h2{font-size:30px}.form-grid{gap:12px}.field>span{font-size:12px}.logo small{font-size:11px}.footer{padding:14px}.today-visit{font-size:12px}.remember-me{font-size:14px}.time-slot{border-radius:12px}.doctor-choices{gap:8px}.doctor-choices button{padding:13px 16px}.medical-fields{gap:10px}.medical-fields label{font-size:13px}.status-select{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.review-banner{background:#fff4cf;color:#73551a;text-align:center;padding:9px 14px;font-size:13px;border-bottom:1px solid #eedca4}.review-pill{display:inline-flex;background:#fff0bf;border:1px solid #efd68c;color:#775918;border-radius:30px;padding:6px 12px;font-size:12px;margin-bottom:18px}:root{--canvas:#f7f8f8;--line:#d8e4e8;--card-shadow:0 2px 5px #002c4403,0 9px 25px #002c4405}.sidebar{background:#fff;color:var(--navy);border-left:1px solid var(--line)}.sidebar .logo,.sidebar .user b{color:var(--navy)}.sidebar .logo small,.sidebar .user small{color:#617b89}.sidebar .logo>svg{background:#d5f1f4;color:#007c92}.nav-caption{color:#6d8491}.sidebar button{color:#526e7e;border-radius:16px}.sidebar nav button.active,.sidebar nav button.active:hover{background:#d5f1f4;color:#007c92;box-shadow:none}.sidebar nav button:hover{background:#f0f6f7;color:#002c44}.nav-count{background:#007c92;color:#fff;border-radius:30px}.clinic-status{background:#f1f6f7;color:#557280;border-radius:14px}.user{border-color:var(--line)}.sidebar .avatar{background:#d5f1f4;color:#007c92}.panel,.stat{border-color:var(--line);border-radius:24px;box-shadow:var(--card-shadow)}.welcome-card{border-radius:24px}.stat-icon,.avatar{border-radius:50%}.badge,.date-chip{border-radius:30px}.date-chip{background:#d5f1f4;color:#315969;border-color:transparent}.time{background:#eaf5f6;border-radius:30px;padding:6px 11px}.top-actions .icon{width:38px;height:38px;border-radius:50%}.top-actions .icon:hover{background:#edf5f6}.search,input,select,textarea{box-shadow:0 2px 3px #002c4409}.search{background:#fff;border-radius:16px}.search input{box-shadow:none}.primary{box-shadow:0 2px 4px #002c441a}.secondary{box-shadow:0 2px 3px #002c4409}.doctor-tabs button{border-radius:30px}.booking-timeline .panel-head{border-radius:22px;box-shadow:var(--card-shadow)}.time-slot{border-radius:20px;box-shadow:var(--card-shadow)}.time-slot>time,.booking-time-status time{border-radius:30px;background:#d5f1f4}.slot-bookings .reception-booking{border-inline-start-width:3px}.slot-bookings .reception-booking.provisional-booking{background:#fff9ce}.slot-bookings .reception-booking.visit-recorded{background:#eefaf3}.booking-actions button{border-radius:12px}.today-visit,.stock-row{border-radius:18px}.stock-row{border:1px solid var(--line);box-shadow:0 2px 6px #002c4403}.stock-row.low{background:#fff9c4;border-color:#ffb443}.medical-icon{border-radius:50%}.intake-list button,.patient-matches button{border-radius:17px}.modal{border-radius:26px}.fab{border:5px solid #fff;box-shadow:0 0 0 1px #e6eef0,0 6px 18px #002c441c}.quick-menu{border-radius:20px}.quick-menu button{border-radius:12px}.mobile-nav{border-top:1px solid var(--line)}@media(max-width:760px){.panel,.stat{border-radius:20px}.booking-timeline .panel-head{border-radius:18px}.time-slot{border-radius:17px}.mobile-nav button[aria-current=page]{border-radius:15px}.modal{border-radius:23px}.top-actions .icon{width:32px;height:32px}.time{padding:5px 8px}.fab{border-width:4px}}.topbar-title{display:flex;align-items:center;gap:9px}.desktop-sidebar-toggle{width:40px;height:40px;border-radius:50%;flex-shrink:0}.desktop-sidebar-toggle:hover{background:#d5f1f4}.sidebar-resize{position:absolute;left:-5px;top:0;bottom:0;width:10px;cursor:ew-resize;touch-action:none;z-index:2}.sidebar-resize:hover,.sidebar-resize:focus-visible{background:#007c9230}.sidebar-dragging,.sidebar-dragging *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}@media(min-width:761px){.sidebar{width:var(--sidebar-width);overflow:visible}.sidebar nav{min-height:0;overflow-y:auto}.workspace{margin-right:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}.fab-wrap{right:calc(var(--sidebar-width) + 24px)}.sidebar-hidden .sidebar{display:none}.sidebar-hidden .workspace{margin-right:0;width:100%}.sidebar-hidden .fab-wrap{right:24px}}@media(max-width:760px){.desktop-sidebar-toggle,.sidebar-resize{display:none!important}.topbar-title{gap:0;display:block}}
