@font-face{font-family:Rudaw;src:url('/assets/rudaw.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#1d2c3c;font-family:Rudaw,Arial,sans-serif;font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}input,select,textarea{width:100%;border:1px solid #dce3eb;border-radius:10px;background:#fff;padding:11px 13px;color:#233747;min-height:44px}input:focus,select:focus,textarea:focus{outline:3px solid #c9ebe6;border-color:#398c81}textarea{resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:27px;line-height:1.55;margin-bottom:5px}h2{font-size:18px;line-height:1.6;margin-bottom:5px}p{margin-bottom:12px}svg{width:21px;height:21px;flex-shrink:0}.numeric,.code{font-family:Arial,sans-serif;direction:ltr;unicode-bidi:isolate}.code{font-size:12px;color:#63748b}.muted{color:#758296}.sidebar{position:fixed;right:0;top:0;bottom:0;width:250px;background:#fff;border-left:1px solid #e8edf2;padding:29px 20px 20px;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:bold;line-height:1.5}.brand img{width:46px;height:46px}.brand small{display:block;color:#8490a2;font-weight:normal;font-size:11px}.sidebar-label{font-size:10px;color:#a0aab7;margin:33px 13px 10px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{padding:9px 13px;border-radius:10px;display:flex;gap:12px;align-items:center;color:#6a788d;font-size:12px;transition:.15s}.sidebar nav a:hover{background:#f5f8fa}.sidebar nav a.active{background:#eaf5f2;color:#146c63;font-weight:bold}.sidebar nav svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;padding-top:25px}.demo-dot{font-size:11px;color:#57857d}.demo-dot:before{content:'';display:inline-block;width:7px;height:7px;background:#409d86;border-radius:50%;margin-left:7px}.sidebar-bottom p{font-size:10px;color:#99a3af;padding:5px 0;margin-bottom:14px}.user-mini{border-top:1px solid #edf1f5;display:flex;gap:10px;align-items:center;padding-top:15px;font-size:12px}.user-mini small{display:block;font-size:10px;color:#8995a5}.avatar{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:#edf1fa;color:#5c68a1;flex-shrink:0;font-size:15px}.avatar.soft{background:#ecf6f3;color:#378479}.avatar.large{width:65px;height:65px;font-size:25px;border-radius:20px}.app{margin-right:250px}.topbar{height:90px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.9);border-bottom:1px solid #e8edf2}.topbar strong{display:block;font-size:15px}.top-label{color:#919cac;font-size:10px}.top-actions{display:flex;align-items:center;gap:18px}.top-actions form{margin:0}.date-pill{color:#7b889b;font-family:Arial,sans-serif;font-size:12px;border:1px solid #e6ebf1;padding:8px 12px;border-radius:9px}.content{padding:30px 38px;max-width:1600px;margin:auto}.menu-toggle{display:none;border:0;background:none;font-size:22px}.btn{background:#176b68;color:#fff;border:1px solid #176b68;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:10px 19px;font-size:12px;font-weight:bold;white-space:nowrap;min-height:43px;line-height:1.5;transition:.15s}.btn:hover{background:#0e5855}.btn.secondary{background:#fff;color:#476176;border-color:#dce5ed}.btn.secondary:hover{background:#f1f5f8}.btn.ghost{border:0;background:none;color:#8792a0}.btn.small{font-size:10px;padding:7px 12px;min-height:33px}.btn.danger{color:#a2424b;background:#fff1f2;border-color:#f2d3d7}.btn.full{width:100%;margin-top:16px}.pill{display:inline-flex;align-items:center;background:#eaf5f2;color:#397e74;padding:6px 13px;border-radius:8px;font-size:11px}.eyebrow{font-size:11px;color:#68908a;display:block;margin-bottom:9px}.welcome{background:linear-gradient(115deg,#edf7f2,#e7f1f4);border:1px solid #dcece6;padding:30px 34px;border-radius:20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;overflow:hidden}.welcome h1{font-size:29px;color:#17433f}.welcome p{font-size:13px;color:#75928b}.welcome-actions{display:flex;gap:10px;margin-top:22px}.welcome-art{min-width:170px;display:flex;flex-direction:column;align-items:center;margin-left:30px;gap:12px}.welcome-art img{width:90px;height:90px;filter:drop-shadow(0 15px 17px #bed6ce)}.welcome-art span{font-size:10px;color:#70968d}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:#fff;border:1px solid #e7ecf2;border-radius:15px;padding:21px 23px}.stat>span{font-size:11px;color:#8b96a5}.stat strong{display:block;font-size:28px;line-height:1.7;margin:6px 0;color:#243a4b}.stat strong.numeric{font-size:26px;text-align:right}.stat small{font-size:10px;color:#8caaa1}.card{background:#fff;border:1px solid #e6ecf2;border-radius:16px;padding:24px;margin-bottom:23px;min-width:0;box-shadow:0 4px 12px rgba(38,54,79,.015)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-head p{font-size:11px;color:#98a2b0;margin-bottom:0}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid .card{height:calc(100% - 23px)}.list-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid #f0f3f7}.list-row:last-child{border-bottom:0}.grow{flex:1;min-width:0}.list-row strong{font-size:12px}.list-row small{display:block;color:#98a3b1;font-size:10px}.time-chip{padding:9px 10px;background:#f6f8fb;border-radius:8px;font-family:Arial,sans-serif;font-size:12px;color:#7b8aa0}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;font-size:9px;background:#eef2fa;color:#6981ae;white-space:nowrap}.badge.arrived,.badge.paid,.badge.simulated{background:#edf7f0;color:#459271}.badge.completed{background:#f0ecfc;color:#8d72b5}.badge.cancelled,.badge.void,.badge.missed{background:#fceff0;color:#b4828b}.badge.unpaid{background:#fff6e6;color:#b69050}.steps{padding-right:27px;counter-reset:steps;list-style:none;margin:0}.steps li{position:relative;padding:0 10px 19px;border-right:1px solid #e7f0eb}.steps li:before{counter-increment:steps;content:counter(steps);position:absolute;right:-13px;top:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#edf6f1;color:#3d8c75;border:4px solid #fff;border-radius:50%;font-family:Arial;font-size:10px}.steps li:last-child{border:0}.steps strong{font-size:12px}.steps p{font-size:11px;color:#8d9aa7;margin:6px 0 0}.text-link{color:#228575;font-size:11px;font-weight:bold}.empty{text-align:center;padding:28px;color:#a0adba}.empty>span{font-size:35px;color:#c5d5d0}.empty p{font-size:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.page-heading p{font-size:12px;color:#939fab;margin-bottom:0}.page-heading h1{font-size:26px}.actions{display:flex;gap:10px}.patient-title{display:flex;align-items:center;gap:16px}.search-form{display:flex;align-items:flex-end;gap:12px;margin-bottom:22px}.search-form>input{max-width:460px}.search-form .field{max-width:420px;flex:1;margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:right;font-size:12px}th{font-weight:normal;color:#8d9aad;font-size:10px;padding:13px 12px;background:#f7f9fb;white-space:nowrap;border-bottom:1px solid #ecf0f5}td{padding:15px 12px;border-bottom:1px solid #edf1f5;vertical-align:middle}tr:last-child td{border-bottom:0}td.numeric{text-align:right;font-size:12px;white-space:nowrap}.patient-name{display:flex;align-items:center;gap:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.form-grid .field{margin-bottom:0}.field>span,.field-label{font-size:11px;color:#728295}.wide{grid-column:1/-1}.form-actions{display:flex;gap:12px;margin-top:5px}.checkbox{display:flex;align-items:center;gap:9px;font-size:12px;cursor:pointer}.checkbox input{width:17px;height:17px;min-height:0;accent-color:#176b68}.details{margin:0}.details>div{display:flex;gap:20px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf1f5}.details dt{color:#92a0ae;font-size:11px}.details dd{margin:0;font-size:12px}.details+form{margin-top:20px}.service-card .service-icon{display:flex;width:45px;height:45px;background:#eaf5f2;border-radius:14px;align-items:center;justify-content:center;color:#438e7d;margin-bottom:16px}.service-card h2{font-size:16px}.service-price{display:block;font-size:25px;margin:15px 0}.service-card>div{display:flex;align-items:center;justify-content:space-between}.tabs{display:flex;gap:7px;margin-bottom:22px}.tabs a{padding:9px 16px;border-radius:9px;color:#8897a6;font-size:12px}.tabs a.active{background:#e8f3ee;color:#237561}.overdue-dot{display:block;font-size:9px;color:#bb7f72}.work-options{display:grid;gap:10px}.work-options .checkbox{padding:12px;background:#f8fafb;border-radius:9px}.work-options .checkbox strong{margin-right:auto}.invoice-paper{max-width:1000px;margin:0 auto 24px;padding:35px}.invoice-brand{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e9eef2;padding-bottom:22px;margin-bottom:22px}.invoice-brand p{font-size:11px;color:#98a3ad;margin:5px 0}.invoice-client{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px}.invoice-client small{display:block;font-size:10px;color:#8f9eab}.invoice-client span{color:#8998a8;font-size:11px}.invoice-client h2{font-size:18px;margin:5px 0}.invoice-client strong{font-size:12px}.invoice-totals{width:330px;max-width:100%;margin:22px auto 20px 0}.invoice-totals>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;font-size:12px}.invoice-totals .total{border-top:1px solid #e6ecf2;color:#1e5e50;font-weight:bold;font-size:16px}.invoice-totals .remaining{padding:12px;background:#edf6f2;border-radius:9px;color:#37806a}.invoice-paper>.muted{font-size:10px;margin-top:22px}.payment-row{border-bottom:1px solid #edf1f5;padding-bottom:10px}.payment-row:last-child{border:0}details summary{font-size:11px;color:#8497a9;cursor:pointer;padding:5px 0}details form{margin-top:10px}.positive{color:#2c8b71}.negative{color:#b37979}.report-bar{margin-bottom:18px}.report-bar>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.bar-track{height:8px;border-radius:4px;background:#edf3f1;overflow:hidden}.bar-track i{display:block;height:100%;background:#4d9a87;border-radius:4px}.messages-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.message-top,.message-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.message-top span:first-child{font-size:12px;font-weight:bold}.message-card>small{display:block;text-align:right;font-size:10px;color:#97a6b4;margin-top:4px}.chat-bubble{padding:18px;background:#eaf5ef;border-radius:14px 3px 14px 14px;margin:18px 0;white-space:normal;font-size:12px;line-height:2.1}.message-bottom small{font-size:9px;color:#99a6b5}.permissions{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;background:#f8fafb;border-radius:12px;padding:20px}.weekday-checks{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}.training{max-width:900px;margin:auto}.training h2{font-size:18px}.training .steps p{font-size:13px;line-height:2;color:#798b9c}.training .steps li{padding-bottom:28px}.alert{padding:16px 20px;border-radius:11px;margin-bottom:22px;font-size:12px}.alert p{margin:4px 0 0}.alert.error{background:#fff0f1;color:#a6636d;border:1px solid #f5dfe4}.alert.success{background:#ecf7f0;color:#427f64;border:1px solid #d6ecdf}.alert.info{background:#edf4fb;color:#627e9f;border:1px solid #dce7f5}.narrow{max-width:550px;margin:auto}.app-footer{display:flex;justify-content:space-between;gap:20px;color:#a4b0bd;font-size:10px;padding:15px 4px}.calendar-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}.month-card{position:sticky;top:20px;padding:20px}.month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:12px}.icon-btn{width:27px;height:27px;display:flex;align-items:center;justify-content:center;background:#f5f8fa;border-radius:7px;font:20px Arial;color:#95a1b0}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.weekday{font-size:10px;color:#9eacba;padding:5px}.day{min-height:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;font-family:Arial;font-size:11px;position:relative}.day:hover{background:#f0f6f3}.day.selected{background:#176b68;color:#fff}.day.today:not(.selected){background:#edf7f2;color:#287a65}.day i{font-style:normal;font-size:7px;line-height:1.1;position:absolute;bottom:3px;opacity:.7}.calendar-legend{display:flex;justify-content:space-between;font-size:9px;color:#95a3b0;margin:18px 0}.calendar-legend i{display:inline-block;width:5px;height:5px;background:#509884;border-radius:50%;margin-left:5px}.calendar-summary{border-top:1px solid #edf1f5;padding-top:20px}.calendar-summary span{font-size:10px;color:#9ba7b3}.calendar-summary strong{display:block;text-align:right;font-size:17px;margin:7px 0;color:#587484}.calendar-summary small{font-size:9px;color:#acb6c1}.schedule-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.schedule-head h2{font-size:15px}.schedule-head>span{font-size:10px;color:#9aa7b3}.hour-row{display:flex;align-items:flex-start;gap:15px;padding:17px 0;border-top:1px solid #e9edf2}.hour-label{font-family:Arial;font-size:12px;color:#96a4b5;padding-top:14px;min-width:40px}.slot-grid{display:grid;grid-template-columns:repeat(var(--slots,4),minmax(0,1fr));gap:9px;width:100%;align-items:start}.slot{border-radius:12px;padding:13px;min-height:128px;display:flex;flex-direction:column;gap:5px;font-size:11px;min-width:0}.slot strong{font-size:11px}.slot small{font-size:9px;color:#8da4a1;overflow-wrap:anywhere}.slot.free{border:1px dashed #c9dbd5;background:#f8fbf9;align-items:center;justify-content:center;color:#6fa28e;transition:.15s}.slot.free:hover{background:#eaf6ef;border-color:#619d83}.slot-plus{font:22px Arial;line-height:1.4}.slot.occupied{background:#eef3fb;border:1px solid #e2e9f5;color:#6a82a8}.slot.occupied.arrived{background:#eef8f1;border-color:#dbeedf;color:#5b9071}.slot.occupied.completed{background:#f3effb;border-color:#e9e1f7;color:#9981b7}.slot.occupied.missed{background:#faf1f2;border-color:#f1e3e7;color:#b17f8b}.slot .badge{align-self:flex-start;font-size:8px;padding:2px 6px;margin-top:auto}.slot.unavailable{background:#eff1f4;color:#a9b0ba;align-items:center;justify-content:center}.slot-tools{margin-top:7px}.slot-tools summary{font-size:8px}.slot-tools input,.slot-tools select{font-size:10px;padding:5px;min-height:30px}.slot-tools .field{margin-bottom:6px}.slot-tools .field>span{display:none}.slot-tools a{font-size:9px;display:block;margin-top:7px}.day-schedule{margin-bottom:20px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#edf3f2;padding:30px}.login-shell{width:1050px;max-width:100%;min-height:620px;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 20px 80px #17392b10;display:grid;grid-template-columns:1.15fr 1fr}.login-intro{background:linear-gradient(145deg,#e5f1ec,#dbe8e7);padding:46px;display:flex;flex-direction:column;justify-content:space-between}.login-intro h1{font-size:34px;line-height:1.8;color:#204f46;margin-bottom:15px}.login-intro p{font-size:13px;color:#759489;line-height:2}.login-intro>small{font-size:11px;color:#7a9b8f}.login-features{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.login-features span{background:#ffffff70;border:1px solid #c9ded3;padding:5px 9px;border-radius:7px;color:#689182;font-size:10px}.login-form{padding:70px 46px;display:flex;flex-direction:column;justify-content:center}.login-form h2{font-size:25px;margin:18px 0 10px}.login-form>.pill{align-self:flex-start}.login-form .muted{font-size:12px;margin-bottom:23px}.login-note{font-size:10px;color:#9faab4;text-align:center;line-height:2;margin-top:24px}
@media(min-width:1450px){.calendar-layout{grid-template-columns:330px minmax(0,1fr)}.slot{min-height:140px}.content{padding:35px 45px}}
@media(max-width:1200px){.sidebar{width:220px;padding:25px 15px}.app{margin-right:220px}.content{padding:24px}.topbar{padding:0 24px}.calendar-layout{grid-template-columns:270px minmax(0,1fr);gap:15px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:12px}.stat{padding:16px}.stat strong.numeric{font-size:22px}.grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(100%);transition:.2s}.menu-open .sidebar{transform:translateX(0);box-shadow:-20px 0 50px #243a4b30}.app{margin-right:0}.menu-toggle{display:block}.topbar{height:76px;gap:15px}.topbar>div:nth-child(2){margin-left:auto}.content{padding:22px}.grid.two{grid-template-columns:1fr}.calendar-layout{grid-template-columns:280px minmax(0,1fr)}.login-shell{grid-template-columns:1fr 1fr}.login-intro{padding:30px}.login-form{padding:40px 30px}.login-intro h1{font-size:28px}.messages-grid{grid-template-columns:1fr}}
@media(max-width:650px){.topbar{padding:0 16px}.top-actions{gap:4px}.date-pill{display:none}.content{padding:18px 14px}.welcome{padding:24px}.welcome h1{font-size:24px}.welcome-art{display:none}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:15px}.stat strong{font-size:24px}.stat strong.numeric{font-size:20px}.grid.three,.form-grid{grid-template-columns:1fr}.card{padding:19px}.page-heading{align-items:flex-start;flex-direction:column;gap:12px}.page-heading h1{font-size:23px}.calendar-layout{grid-template-columns:1fr}.month-card{position:static}.month-grid .day{min-height:40px}.hour-row{gap:10px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot{min-height:115px;padding:12px}.permissions{grid-template-columns:1fr 1fr}.invoice-paper{padding:20px}.invoice-brand .brand{font-size:14px}.invoice-brand .brand img{width:35px;height:35px}.invoice-client{gap:15px}.login-page{padding:16px}.login-shell{display:block;min-height:0}.login-intro{padding:25px}.login-intro>div:nth-child(2),.login-intro>small{display:none}.login-form{padding:30px}.login-form h2{margin-top:15px}.search-form{flex-wrap:wrap}.search-form input{width:100%}.tabs{gap:0}.tabs a{font-size:10px;padding:9px 12px}.app-footer{font-size:9px}.patient-title .avatar{width:50px;height:50px}.training .steps p{font-size:12px}}
@media print{body{background:#fff}.sidebar,.topbar,.app-footer,.no-print,.alert{display:none!important}.app{margin:0}.content{padding:0}.invoice-paper{box-shadow:none;border:0;margin:0;padding:10mm}.invoice-paper>.muted{display:block}.invoice-totals{break-inside:avoid}table tr{break-inside:avoid}.invoice-brand{break-inside:avoid}.card{border-radius:0}.invoice-paper .badge{border:1px solid #bbb}}
