:root{--bg: #F4F7FB;--surface: #FFFFFF;--ink: #13233D;--dim: #5B6B85;--faint: #93A1B7;--line: #E2E9F3;--blue: #2E6BF0;--blue-dark: #1448AD;--blue-soft: #EAF1FF;--amber: #B07514;--amber-soft: #FFF4DE;--coral: #D8523F;--coral-soft: #FFF0EE;--green: #1FAF53;--green-soft: #E9F9EF;--radius: 18px;--radius-sm: 10px;--shadow: 0 1px 3px rgba(19, 35, 61, .06);--shadow-md: 0 4px 16px rgba(19, 35, 61, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--ink);font-family:Spline Sans,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,.btn,.nav-pill{font-family:Sora,sans-serif}.mono{font-family:JetBrains Mono,monospace}a{color:var(--blue);text-decoration:none}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:9px 13px;outline:none;width:100%;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--blue)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--faint)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.section-title{font-family:Sora,sans-serif;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:16px;display:flex;align-items:center;gap:6px}.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:background .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.secondary{background:var(--blue-soft);color:var(--blue)}.btn.secondary:hover{background:#d6e8ff}.btn.ghost{background:transparent;color:var(--dim)}.btn.ghost:hover{background:var(--bg)}.btn.danger{background:var(--coral-soft);color:var(--coral)}.btn.danger:hover{background:#ffe3df}.btn.green{background:var(--green-soft);color:var(--green)}.btn.green:hover{background:#d0f5de}.btn.sm{padding:6px 12px;font-size:13px}.btn.icon-only{padding:7px;border-radius:8px}.avatar{width:40px;height:40px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-family:Sora,sans-serif;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tag{display:inline-flex;align-items:center;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600}.tag.active{background:var(--green-soft);color:var(--green)}.tag.in_treatment{background:var(--amber-soft);color:var(--amber)}.tag.completed{background:var(--bg);color:var(--dim);border:1px solid var(--line)}.tag.booked{background:var(--blue-soft);color:var(--blue)}.tag.done{background:var(--green-soft);color:var(--green)}.tag.cancelled{background:var(--bg);color:var(--faint)}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:13px;font-weight:600;color:var(--dim)}.error-msg{font-size:12px;color:var(--coral);margin-top:3px}.divider{border:none;border-top:1px solid var(--line);margin:16px 0}.skeleton{background:linear-gradient(90deg,var(--line) 25%,var(--bg) 50%,var(--line) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:48px 24px;color:var(--dim);font-size:15px;line-height:1.7}.empty-state span{display:block;font-size:36px;margin-bottom:8px}.page{max-width:900px;margin:0 auto;padding:28px 20px 60px}.page-wide{max-width:1100px;margin:0 auto;padding:28px 20px 60px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.progress-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.progress-bar .fill{height:100%;border-radius:3px;background:var(--green);transition:width .4s}.rtl{direction:rtl;text-align:right}@media(max-width:600px){.page,.page-wide{padding:16px 12px 40px}.card{padding:16px;border-radius:14px}.btn{font-size:13px;padding:8px 14px}}
