:root{--bg: #ffffff;--panel: #f6f6f8;--card: #ffffff;--text: #111111;--text-secondary: #6f6f73;--border: #e8e8ec;--primary: #0b74ff;--primary-hover: #005fd4;--focus-ring: rgba(11, 116, 255, .35);--radius: 20px;--radius-sm: 12px;--shadow: 0 10px 30px rgba(10, 10, 10, .07);--shadow-sm: 0 4px 12px rgba(10, 10, 10, .06);--space: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--status-active: #16a34a;--status-expired: #ef4444;--status-paused: #f59e0b;--status-cancelled: #6b7280}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:12px;border:1px solid transparent;font-weight:600;transition:background .15s,box-shadow .15s,border-color .15s,color .15s}.btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.btn-primary{background:#111;color:#fff}.btn-primary:hover{background:#1e1e1e}.btn-secondary{background:#ececf1;color:var(--text);border:1px solid transparent}.btn-secondary:hover{background:#e4e4ea}.input,.select,.textarea{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text)}.input::placeholder,.textarea::placeholder{color:var(--text-secondary)}.textarea{min-height:100px;resize:vertical}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236e6e73' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.label{display:block;margin-bottom:6px;font-weight:500;color:var(--text)}.label-optional{font-weight:400;color:var(--text-secondary)}.form-group{margin-bottom:var(--space-2)}.table-wrap{overflow-x:auto;border-radius:18px;border:1px solid #ececf0;background:#fff;box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px 16px;text-align:left;border-bottom:1px solid #efeff3}.table th{font-weight:600;color:#80808a;font-size:12px;text-transform:uppercase;letter-spacing:.06em;background:#f8f8fa}.table tbody tr:hover{background:#f9f9fb}.table tbody tr:last-child td{border-bottom:none}.table tbody tr[data-clickable]{cursor:pointer}.card{background:#f6f6f8;border-radius:20px;border:1px solid transparent;box-shadow:none;padding:20px}.container{max-width:100%;margin:0 auto;padding:0}.admin-shell{min-height:100vh;background:#fff;padding:24px;position:relative}.admin-sidebar{background:#0a0a0a;border-radius:22px;padding:22px 14px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:10px 0 20px #0003;position:fixed;top:24px;left:24px;width:114px;height:calc(100vh - 48px);max-height:calc(100vh - 48px)}.admin-brand{width:100%;display:flex;justify-content:center}.admin-brand-logo{width:44px;height:44px;object-fit:contain}.admin-nav{display:flex;flex-direction:column;gap:10px;margin-top:20px;overflow-y:auto;min-height:0}.admin-nav-link{width:100%;min-height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:6px 4px;color:#9fa1ab;text-decoration:none;transition:background .15s,color .15s;position:relative}.admin-nav-link-label{font-size:10px;font-weight:600;line-height:1;text-align:center;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-nav-link:hover{background:#ffffff14;color:#fff}.admin-nav-link.active{background:#fff;color:#111}.admin-nav-link:after{content:attr(data-label);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:6px 10px;border-radius:10px;background:#111;color:#fff;font-size:12px;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .15s}.admin-nav-link:hover:after{opacity:1}.admin-main{min-width:0;margin-left:138px}.doctor-shell .admin-brand{display:none}.doctor-shell .admin-sidebar{width:130px;padding-top:14px}.doctor-shell .admin-nav{margin-top:4px}.doctor-shell .admin-nav-link{min-height:62px}.doctor-nav-mobile{width:100%}.doctor-logout-link{background:transparent}.admin-topbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.admin-search{flex:1;min-width:220px;background:#f6f6f8;border:1px solid #ededf2;border-radius:12px;height:44px;display:flex;align-items:center;padding:0 12px;gap:8px}.admin-search input{border:0;background:transparent;width:100%;outline:none;font-size:14px}.admin-user-pill{background:#f6f6f8;border-radius:12px;border:1px solid #ededf2;height:44px;display:inline-flex;align-items:center;gap:10px;padding:0 10px 0 8px;color:#111;font-size:13px}.admin-content{background:#fff;border-radius:20px;min-height:calc(100vh - 96px);padding:4px}.admin-content-inner{background:#fff;border-radius:20px;min-height:calc(100vh - 104px);display:flex;flex-direction:column}.admin-page{padding:10px}.doctor-page-root,.doctor-page-root *{max-width:100%}.dental-chart-canvas{width:100%;overflow:hidden}.dental-chart-controls{flex-wrap:wrap}@media (max-width: 768px){html,body,#root{overflow-x:hidden}body{font-size:14px}.admin-shell{display:flex;flex-direction:column;gap:12px;padding:12px}.admin-sidebar{border-radius:16px;padding:10px;position:static;top:auto;left:auto;width:100%;height:auto;max-height:none;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.doctor-shell .admin-sidebar{background:#0f1115;border-radius:12px;padding:6px 8px;width:100%!important;display:block;position:sticky;top:8px;z-index:20;box-shadow:0 10px 18px #0f111540}.doctor-shell .admin-nav{margin-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px;overflow:visible}.doctor-shell .admin-nav-link{min-width:0;width:100%;min-height:52px;border-radius:10px;padding:4px 2px}.doctor-shell .admin-nav-link-label{font-size:9px;line-height:1.1;white-space:normal;overflow:visible;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:none}.doctor-shell .admin-main{margin-left:0}.admin-sidebar>div{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.admin-brand-logo{width:28px;height:28px}.admin-nav{flex-direction:row;overflow-x:auto;overflow-y:hidden;margin-top:0;flex:1}.admin-nav-link{min-width:62px;width:62px;min-height:52px}.admin-nav-link:after{display:none}.admin-nav-link-label{font-size:9px}.admin-topbar{flex-wrap:wrap;gap:8px}.admin-main{margin-left:0}.admin-search{min-width:100%}.admin-content,.admin-content-inner{min-height:auto}.admin-page{padding:6px}.doctor-page-root{height:auto!important;min-height:calc(100dvh - 140px);overflow:visible!important}.doctor-main-content{display:block!important;overflow:visible!important;width:100%}.doctor-panel-left{width:100%!important;border-right:none!important;border-bottom:1px solid #e2e8f0}.doctor-panel-right{width:100%!important;overflow-y:visible!important;padding:10px!important}.doctor-detail-body{max-width:100%!important;width:100%!important}.doctor-detail-grid{flex-direction:column!important;gap:10px!important}.doctor-form-col,.doctor-plan-panel{width:100%!important;min-width:0!important}.doctor-referral-row{flex-direction:column}.dental-chart-canvas{overflow:hidden}.dental-chart-root svg{min-width:0}.doctor-page-root .card,.doctor-page-root input,.doctor-page-root textarea,.doctor-page-root select{font-size:16px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{padding:8px 10px;font-size:13px;white-space:nowrap}.card{padding:14px}.btn{padding:8px 14px;font-size:13px}}@media (max-width: 480px){.btn{padding:7px 11px;font-size:12px}.table th,.table td{padding:7px 8px;font-size:12px}}
