:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e5eef7;background:#08101f;--bg-app: #08101f;--bg-app-spot: rgba(37, 99, 235, .24);--bg-app-gradient-start: #08101f;--bg-app-gradient-end: #111827;--bg-panel: rgba(15, 23, 42, .88);--bg-card: rgba(15, 23, 42, .78);--bg-card-strong: rgba(15, 23, 42, .92);--bg-card-soft: rgba(15, 23, 42, .5);--bg-surface-muted: rgba(15, 23, 42, .42);--bg-surface-subtle: rgba(15, 23, 42, .36);--bg-surface-strong: rgba(8, 16, 31, .7);--bg-surface-stronger: rgba(8, 16, 31, .6);--bg-overlay: rgba(8, 16, 31, .7);--bg-hover-soft: rgba(59, 130, 246, .08);--bg-hover-strong: rgba(37, 99, 235, .12);--bg-active-soft: rgba(37, 99, 235, .16);--bg-focus-ring: rgba(96, 165, 250, .38);--border-soft: rgba(148, 163, 184, .18);--border-strong: rgba(148, 163, 184, .26);--border-subtle: rgba(148, 163, 184, .12);--text-muted: #94a3b8;--text-soft: #cbd5e1;--text-strong: #f8fafc;--text-accent: #dbeafe;--text-link: #bfdbfe;--accent: #60a5fa;--accent-strong: #2563eb;--accent-gradient: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);--success: #34d399;--warning: #f59e0b;--danger: #f87171;--shadow-soft: 0 20px 40px rgba(0, 0, 0, .15);--brand-badge-bg: rgba(16, 185, 129, .16);--brand-badge-color: #bbf7d0;--nav-item-bg: rgba(15, 23, 42, .36);--nav-active-bg: rgba(59, 130, 246, .16);--nav-active-border: rgba(96, 165, 250, .42);--nav-active-color: #dbeafe;--button-secondary-bg: rgba(15, 23, 42, .5);--button-secondary-color: #dbeafe;--button-secondary-border: rgba(96, 165, 250, .22);--button-ghost-color: #cbd5e1;--button-danger-bg: rgba(239, 68, 68, .18);--button-danger-color: #fecaca;--button-danger-border: rgba(248, 113, 113, .3);--badge-neutral-bg: rgba(148, 163, 184, .15);--badge-neutral-color: #e2e8f0;--badge-success-bg: rgba(52, 211, 153, .14);--badge-success-color: #bbf7d0;--badge-warning-bg: rgba(245, 158, 11, .16);--badge-warning-color: #fde68a;--badge-danger-bg: rgba(248, 113, 113, .16);--badge-danger-color: #fecaca;--badge-info-bg: rgba(96, 165, 250, .16);--badge-info-color: #bfdbfe;--message-info-border: rgba(96, 165, 250, .24);--message-warning-border: rgba(245, 158, 11, .24);--message-danger-border: rgba(248, 113, 113, .24);--message-success-border: rgba(52, 211, 153, .24);--focus-shell-gradient: linear-gradient(180deg, rgba(96, 165, 250, .55), rgba(37, 99, 235, .16));--status-danger-soft: rgba(245, 158, 11, .2);--schedule-grid-header-bg: rgba(7, 13, 25, .96);--schedule-grid-axis-bg: rgba(15, 23, 42, .32);--schedule-grid-lane-overlay: linear-gradient(180deg, rgba(37, 99, 235, .04), rgba(15, 23, 42, .1));--schedule-grid-lane-bg: rgba(15, 23, 42, .24);--schedule-grid-event-border: rgba(148, 163, 184, .24);--schedule-grid-event-shadow: 0 14px 32px rgba(8, 16, 31, .24);--schedule-grid-action-bg: rgba(15, 23, 42, .44);--schedule-grid-action-border: rgba(255, 255, 255, .18);--schedule-grid-action-primary-bg: rgba(37, 99, 235, .6);--schedule-grid-now-line: rgba(248, 113, 113, .8)}:root[data-theme=light]{color-scheme:light;color:#16304f;background:#eef5ff;--bg-app: #eef5ff;--bg-app-spot: rgba(59, 130, 246, .18);--bg-app-gradient-start: #f8fbff;--bg-app-gradient-end: #dbeafe;--bg-panel: rgba(255, 255, 255, .88);--bg-card: rgba(255, 255, 255, .92);--bg-card-strong: rgba(255, 255, 255, .98);--bg-card-soft: rgba(255, 255, 255, .86);--bg-surface-muted: rgba(239, 246, 255, .92);--bg-surface-subtle: rgba(219, 234, 254, .72);--bg-surface-strong: rgba(255, 255, 255, .98);--bg-surface-stronger: rgba(235, 245, 255, .98);--bg-overlay: rgba(147, 197, 253, .22);--bg-hover-soft: rgba(59, 130, 246, .08);--bg-hover-strong: rgba(96, 165, 250, .18);--bg-active-soft: rgba(96, 165, 250, .22);--bg-focus-ring: rgba(37, 99, 235, .28);--border-soft: rgba(59, 130, 246, .16);--border-strong: rgba(59, 130, 246, .24);--border-subtle: rgba(148, 163, 184, .22);--text-muted: #5f7a99;--text-soft: #355070;--text-strong: #17324d;--text-accent: #1d4ed8;--text-link: #2563eb;--shadow-soft: 0 20px 40px rgba(37, 99, 235, .08);--brand-badge-bg: rgba(37, 99, 235, .12);--brand-badge-color: #1d4ed8;--nav-item-bg: rgba(255, 255, 255, .66);--nav-active-bg: rgba(96, 165, 250, .18);--nav-active-border: rgba(37, 99, 235, .26);--nav-active-color: #1d4ed8;--button-secondary-bg: rgba(255, 255, 255, .92);--button-secondary-color: #1d4ed8;--button-secondary-border: rgba(59, 130, 246, .2);--button-ghost-color: #355070;--button-danger-bg: rgba(239, 68, 68, .1);--button-danger-color: #b91c1c;--button-danger-border: rgba(239, 68, 68, .2);--badge-neutral-bg: rgba(148, 163, 184, .16);--badge-neutral-color: #334155;--badge-success-bg: rgba(16, 185, 129, .12);--badge-success-color: #047857;--badge-warning-bg: rgba(245, 158, 11, .12);--badge-warning-color: #b45309;--badge-danger-bg: rgba(239, 68, 68, .12);--badge-danger-color: #b91c1c;--badge-info-bg: rgba(59, 130, 246, .12);--badge-info-color: #1d4ed8;--message-info-border: rgba(59, 130, 246, .2);--message-warning-border: rgba(245, 158, 11, .2);--message-danger-border: rgba(239, 68, 68, .2);--message-success-border: rgba(16, 185, 129, .2);--focus-shell-gradient: linear-gradient(180deg, rgba(147, 197, 253, .58), rgba(219, 234, 254, .36));--status-danger-soft: rgba(245, 158, 11, .16);--schedule-grid-header-bg: rgba(239, 246, 255, .98);--schedule-grid-axis-bg: rgba(255, 255, 255, .84);--schedule-grid-lane-overlay: linear-gradient(180deg, rgba(147, 197, 253, .16), rgba(255, 255, 255, .2));--schedule-grid-lane-bg: rgba(255, 255, 255, .78);--schedule-grid-event-border: rgba(96, 165, 250, .2);--schedule-grid-event-shadow: 0 14px 32px rgba(37, 99, 235, .08);--schedule-grid-action-bg: rgba(255, 255, 255, .88);--schedule-grid-action-border: rgba(59, 130, 246, .14);--schedule-grid-action-primary-bg: rgba(59, 130, 246, .9);--schedule-grid-now-line: rgba(220, 38, 38, .7)}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;min-width:320px;background:radial-gradient(circle at top right,var(--bg-app-spot),transparent 30%),linear-gradient(180deg,var(--bg-app-gradient-start) 0%,var(--bg-app-gradient-end) 100%)}body,button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,input,select,textarea{border:0}.layout{display:grid;grid-template-columns:320px 1fr;min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:24px;padding:24px;border-right:1px solid var(--border-soft);background:var(--bg-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:grid;gap:10px}.brand h1,.ui-section-header h2,.ui-card h3,.ui-dialog h3{margin:0;color:var(--text-strong)}.brand p,.sidebar-panel p,.ui-card p,.ui-section-header p,.ui-empty-state p,.ui-message,.log-entry span,.stack span,.list li,.detail-grid__label{color:var(--text-muted)}.badge,.ui-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em}.badge{background:var(--brand-badge-bg);color:var(--brand-badge-color)}.nav{display:grid;gap:8px}.nav a,.nav-lock{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid transparent;background:var(--nav-item-bg)}.nav a.active{background:var(--nav-active-bg);border-color:var(--nav-active-border);color:var(--nav-active-color)}.nav-lock{border-color:var(--status-danger-soft)}.sidebar-panel{display:grid;gap:8px;padding:16px;border-radius:16px;border:1px solid var(--border-soft);background:var(--bg-card-soft)}.sidebar-panel h2{margin:0;font-size:15px}.sidebar-panel__stack,.content-toolbar__stack,.cluster{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.content{display:flex;flex-direction:column;gap:20px;padding:24px 32px 40px}.content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:16px;border:1px solid var(--border-soft);background:var(--bg-card-soft)}.page-shell{display:grid;gap:20px}.auth-page{max-width:560px;margin:0 auto;padding-top:max(32px,8vh)}.grid{display:grid;gap:16px}.grid--kpi{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid--three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--two-up,.grid--content{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:grid;gap:12px}.stack--tight{gap:4px}.list{display:grid;gap:10px;margin:0;padding-left:18px}.ui-card{display:grid;gap:16px;padding:20px;border-radius:20px;border:1px solid var(--border-soft);background:var(--bg-card);box-shadow:var(--shadow-soft)}.ui-card__header,.ui-section-header,.ui-dialog__header,.ui-pagination{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ui-card__actions,.ui-section-header__actions,.ui-pagination__actions,.filter-bar-actions{display:flex;gap:10px;flex-wrap:wrap}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:disabled{opacity:.55;cursor:not-allowed}.ui-button--primary{background:var(--accent-gradient);color:#fff}.ui-button--secondary{background:var(--button-secondary-bg);color:var(--button-secondary-color);border-color:var(--button-secondary-border)}.ui-button--ghost{background:transparent;color:var(--button-ghost-color);border-color:var(--border-soft)}.ui-button--danger{background:var(--button-danger-bg);color:var(--button-danger-color);border-color:var(--button-danger-border)}.ui-field{display:grid;gap:8px}.ui-field__label{font-size:14px;font-weight:700}.ui-field__hint{font-size:12px}.ui-input{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-surface-strong);color:var(--text-strong)}.ui-input:focus{outline:2px solid var(--bg-focus-ring);outline-offset:1px}.ui-textarea{resize:vertical}.ui-checkbox{display:flex;align-items:center;gap:10px}.ui-badge--neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-color)}.ui-badge--success{background:var(--badge-success-bg);color:var(--badge-success-color)}.ui-badge--warning{background:var(--badge-warning-bg);color:var(--badge-warning-color)}.ui-badge--danger{background:var(--badge-danger-bg);color:var(--badge-danger-color)}.ui-badge--info{background:var(--badge-info-bg);color:var(--badge-info-color)}.ui-filter-bar{padding:16px;border-radius:18px;border:1px solid var(--border-soft);background:var(--bg-card-soft)}.filter-bar-form{display:grid;gap:16px;grid-template-columns:minmax(260px,1fr) auto;align-items:end}.ui-table-shell{overflow-x:auto;border-radius:16px;border:1px solid var(--border-soft)}.ui-table{width:100%;border-collapse:collapse}.ui-table th,.ui-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top}.ui-table th{font-size:13px;color:var(--text-soft)}.ui-table__row--interactive{cursor:pointer}.ui-table__row--interactive:hover{background:var(--bg-hover-soft)}.ui-empty-state,.ui-message{display:grid;gap:8px;padding:18px;border-radius:16px;border:1px dashed var(--border-strong);background:var(--bg-surface-muted)}.ui-empty-state h3{margin:0}.ui-message--info{border-style:solid;border-color:var(--message-info-border)}.ui-message--warning{border-style:solid;border-color:var(--message-warning-border)}.ui-message--danger{border-style:solid;border-color:var(--message-danger-border)}.ui-message--success{border-style:solid;border-color:var(--message-success-border)}.ui-kpi-card{display:grid;gap:10px}.ui-kpi-card strong{font-size:28px}.ui-chart{display:grid;gap:12px}.ui-chart svg{width:100%;height:180px;overflow:visible}.ui-chart path{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ui-dialog-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ui-dialog{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;gap:18px;padding:20px;border-radius:22px;border:1px solid var(--border-soft);background:var(--bg-card-strong)}.ui-dialog__body,.ui-dialog__footer{display:grid;gap:16px}.form-grid,.detail-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid__label{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.log-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.log-entry:last-child{border-bottom:0}.treatment-patient-row,.treatment-plan-chip,.treatment-catalog-row,.treatment-material-row--link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:16px;border:1px solid var(--border-soft);background:var(--bg-surface-muted);text-align:left;color:inherit}.treatment-patient-row,.treatment-plan-chip,.treatment-catalog-row{cursor:pointer}.treatment-patient-row--active,.treatment-plan-chip--active,.treatment-catalog-row:hover,.treatment-material-row--link:hover{border-color:var(--nav-active-border);background:var(--bg-hover-strong)}.treatment-board{display:grid;gap:16px}.treatment-board--public{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.treatment-stage-card{display:grid;gap:16px;padding:18px;border-radius:18px;border:1px solid var(--border-soft);background:var(--bg-surface-stronger)}.treatment-stage-card__header,.treatment-item-row,.treatment-material-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.treatment-stage-card__totals{text-align:right}.treatment-stage-card__items{display:grid;gap:12px}.treatment-item-row,.treatment-material-row{padding:12px 0;border-top:1px solid var(--border-subtle)}.treatment-item-row:first-child,.treatment-material-row:first-child{border-top:0;padding-top:0}.treatment-tooth-picker{display:grid;gap:10px}.treatment-tooth-picker__row{display:grid;gap:8px;grid-template-columns:repeat(8,minmax(0,1fr))}.treatment-tooth{min-height:42px;border-radius:12px;border:1px solid var(--border-soft);background:var(--bg-card-soft);color:var(--text-strong);cursor:pointer}.treatment-tooth--active{border-color:var(--nav-active-border);background:var(--bg-active-soft)}.treatment-share-url{word-break:break-all;color:var(--text-link)}.treatment-public{max-width:1280px;margin:0 auto;padding:24px 0 40px}.cockpit-hero{padding:18px 20px;border-radius:20px;border:1px solid var(--border-soft);background:var(--bg-card-soft)}.cockpit-tabs{display:flex;flex-wrap:wrap;gap:10px}.cockpit-tab{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--border-soft);background:var(--bg-surface-subtle);color:var(--text-muted)}.cockpit-tab--active{border-color:var(--nav-active-border);background:var(--bg-active-soft);color:var(--text-accent)}.cockpit-layout{display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(320px,.9fr);align-items:start}.cockpit-main,.cockpit-rail,.cockpit-timeline{display:grid;gap:16px}.cockpit-card-shell{border-radius:24px}.cockpit-card-shell--focus{padding:2px;background:var(--focus-shell-gradient)}.cockpit-actions{display:flex;flex-wrap:wrap;gap:10px}.cockpit-edit-footer{display:grid;gap:12px}.cockpit-integration-slot{display:grid;gap:14px;padding:16px;border-radius:18px;border:1px solid var(--border-soft);background:var(--bg-surface-stronger)}.cockpit-integration-slot--focus{border-color:var(--nav-active-border);background:var(--bg-hover-strong)}.cockpit-timeline__item{display:grid;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.cockpit-timeline__item:last-child{padding-bottom:0;border-bottom:0}.cockpit-timeline__meta{color:var(--text-muted);font-size:13px}.schedule-board-column,.schedule-patient-search-results{display:grid;gap:12px}.schedule-appointment-card,.schedule-history-visit,.schedule-patient-search-result{display:grid;gap:8px;padding:14px 16px;border-radius:16px;border:1px solid var(--border-soft);background:var(--bg-card-soft)}.schedule-patient-search-result{text-align:left;color:inherit;transition:transform .12s ease,border-color .12s ease}.schedule-patient-search-result:hover{transform:translateY(-1px);border-color:var(--nav-active-border)}.schedule-time-grid-shell{overflow:auto;border-radius:20px;border:1px solid var(--border-soft);background:var(--bg-overlay)}.schedule-time-grid{--schedule-column-count: 1;--schedule-slot-count: 1;--schedule-slot-height: 54px;display:grid;min-width:calc(88px + var(--schedule-column-count) * 240px);grid-template-columns:88px repeat(var(--schedule-column-count),minmax(240px,1fr));align-items:start}.schedule-time-grid__corner,.schedule-time-grid__header{position:sticky;top:0;z-index:4;display:grid;gap:4px;min-height:72px;padding:14px 16px;border-bottom:1px solid var(--border-soft);background:var(--schedule-grid-header-bg)}.schedule-time-grid__corner{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.schedule-time-grid__header{border-left:1px solid var(--border-soft)}.schedule-time-grid__header span{color:var(--text-muted);font-size:13px}.schedule-time-grid__time-axis{display:grid;grid-template-rows:repeat(var(--schedule-slot-count),var(--schedule-slot-height));background:var(--schedule-grid-axis-bg)}.schedule-time-grid__time-slot{padding:6px 10px;border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:12px}.schedule-time-grid__column{border-left:1px solid var(--border-soft)}.schedule-time-grid__lane{position:relative;display:grid;grid-template-rows:repeat(var(--schedule-slot-count),var(--schedule-slot-height));background:var(--schedule-grid-lane-overlay),var(--schedule-grid-lane-bg)}.schedule-time-grid__slot-line{border-bottom:1px solid var(--border-subtle)}.schedule-time-grid__event-wrap{position:absolute;left:6px;right:6px;z-index:2}.schedule-time-grid__event{display:grid;gap:8px;height:100%;padding:10px 12px;overflow:auto;border-radius:16px;border:1px solid var(--schedule-grid-event-border);box-shadow:var(--schedule-grid-event-shadow)}.schedule-time-grid__event--scheduled{background:linear-gradient(180deg,#3b82f647,#2563eb24)}.schedule-time-grid__event--confirmed{background:linear-gradient(180deg,#c084fc47,#a855f724)}.schedule-time-grid__event--arrived{background:linear-gradient(180deg,#22c55e3d,#16a34a1f)}.schedule-time-grid__event--live{background:linear-gradient(180deg,#facc1552,#eab30829)}.schedule-time-grid__event--completed{background:linear-gradient(180deg,#2dd4bf3d,#0d94881f)}.schedule-time-grid__event--attention{background:linear-gradient(180deg,#f8717147,#dc26261f)}.schedule-time-grid__event-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.schedule-time-grid__event-title{font-size:14px;font-weight:600}.schedule-time-grid__event-meta{display:grid;gap:2px;color:var(--text-soft);font-size:12px}.schedule-time-grid__event-actions{display:flex;flex-wrap:wrap;gap:6px}.schedule-time-grid__event-action,.schedule-time-grid__event-link{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--schedule-grid-action-border);background:var(--schedule-grid-action-bg);color:inherit;font:inherit;font-size:12px;text-decoration:none;cursor:pointer}.schedule-time-grid__event-action--primary{background:var(--schedule-grid-action-primary-bg)}.schedule-time-grid__now-line{position:absolute;left:0;right:0;z-index:1;border-top:2px dashed var(--schedule-grid-now-line)}.schedule-time-grid__footer{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;color:var(--text-muted);font-size:13px}@media(max-width:1100px){.layout,.grid--three-up,.grid--two-up,.grid--content,.form-grid,.detail-grid,.filter-bar-form,.cockpit-layout{grid-template-columns:1fr}}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border-soft)}.content,.sidebar{padding:20px}.content-toolbar,.ui-card__header,.ui-section-header,.ui-dialog__header,.ui-pagination,.treatment-stage-card__header,.treatment-item-row,.treatment-material-row{flex-direction:column}}
