:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f7f0ec;--muted:#c7c1ca;--line:#ffffff1a;--panel:#1b1b22db;--page:#111116;--blue:#ff3b55;--blue-strong:#e82642;--blue-light:#ff7a88;--blue-soft:#ff3b5521;--green:#6be2a5;--green-soft:#6be2a51f;--coral:#ff3b55;--amber:#f4b86a;--nav:#19191f;--nav-strong:#202028;--nav-line:#ffffff1a;--work-surface:#15151b;--canvas:#0f1117;--raised-fill:linear-gradient(180deg, #26262ff5 0%, #1c1c24f5 100%);--primary-fill:linear-gradient(180deg, #ff596f 0%, #ff3b55 54%, #d9233c 100%);--selected-fill:linear-gradient(180deg, #ff3b553d 0%, #ff3b5524 100%);--shadow:0 18px 44px #00000047;--shadow-raised:0 10px 24px #00000038, inset 0 1px 0 #ffffff14, inset 0 -1px 0 #00000057;--shadow-primary:0 14px 30px #ff3b5547, inset 0 1px 0 #ffffff3d, inset 0 -1px 0 #0000002e}body{background:radial-gradient(circle at 30% 0%, #ff3b5521, transparent 34%), linear-gradient(#15151b 0 0) top / 100% 88px no-repeat, var(--page);min-width:0;color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button,input,select,textarea{letter-spacing:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #176c9d38}.app-shell{min-height:100dvh;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);grid-template-columns:248px 1fr;display:grid}.sidebar{background:var(--nav);color:var(--ink);flex-direction:column;gap:18px;padding:22px 16px;display:flex;box-shadow:10px 0 28px #0000000f,inset -1px 0 #0000000a}.brand{border-bottom:1px solid var(--nav-line);grid-template-columns:56px minmax(0,1fr);align-items:center;gap:8px;padding:4px 6px 18px;display:grid}.brand-mark{background:var(--primary-fill);color:#fff;width:54px;height:54px;box-shadow:var(--shadow-primary);border-radius:8px;place-items:center;font-size:24px;font-weight:800;display:grid}.brand-logo-button{text-align:left;cursor:pointer;background:0 0;width:54px;max-width:100%;height:54px;padding:0;display:block;position:relative}.brand-logo-button>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.brand-logo-button.has-logo{background:0 0;border:0;border-radius:10px;width:54px;height:54px;min-height:54px;overflow:hidden}.brand-logo-button.has-logo img{object-fit:cover;width:100%;height:54px;padding:0;display:block}.brand-text-button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.brand-text-button strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.3;overflow:hidden}.brand-text-button span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.45;overflow:hidden}.brand-doctor-name{border:1px solid var(--line);background:var(--raised-fill);max-width:64px;color:var(--muted);border-radius:999px;grid-column:1/2;justify-self:center;margin-top:3px;padding:2px 7px;font-size:12px;font-weight:700;line-height:1.5}.brand>strong{overflow-wrap:anywhere;min-width:0;line-height:1.35}.brand>span{grid-column:1/-1}.brand strong{font-size:18px}.brand span,.sidebar-note{color:var(--muted);font-size:13px;line-height:1.55}.doctor-switcher{border:1px solid var(--line);min-height:40px;color:var(--muted);background:#fff;border-radius:10px;grid-template-columns:auto minmax(100px,150px);align-items:center;gap:7px;padding:0 9px;font-size:12px;display:grid}.doctor-switcher select{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-weight:650}.nav{gap:10px;display:grid}.nav button{background:var(--raised-fill);min-height:66px;color:var(--muted);text-align:center;box-shadow:var(--shadow-raised);border:1px solid #d2d2d7d1;border-radius:12px;grid-template-columns:1fr;place-items:center;gap:6px;padding:8px 6px;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid}.nav button:hover,.nav button.active{color:var(--blue);transform:translateY(-1px)}.nav-icon{background:#007aff14;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.sidebar-note{border:1px solid var(--nav-line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;gap:6px;margin-top:auto;padding:14px;display:grid}.sidebar-note strong{color:var(--ink)}.sidebar-note span{color:var(--muted);display:block}.sidebar-logout,.sidebar-login{border:1px solid var(--line);background:var(--raised-fill);width:fit-content;min-height:30px;color:var(--ink);box-shadow:var(--shadow-raised);border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:6px;padding:0 10px;font-size:12px;display:inline-flex}.main{grid-template-rows:auto 1fr;min-width:0;display:grid}.main.main-with-notice{grid-template-rows:auto auto minmax(0,1fr)}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.topbar-status-card{border:1px solid var(--line);background:var(--raised-fill);min-height:48px;color:var(--ink);box-shadow:var(--shadow-raised);border-radius:12px;justify-content:flex-end;align-items:center;gap:10px;padding:6px 8px 6px 14px;display:inline-flex}.topbar-status-card span{max-width:280px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.35;overflow:hidden}.topbar-status-card strong{color:var(--ink);white-space:nowrap;font-size:14px;line-height:1.35}.topbar-status-card button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:800;display:inline-flex}.topbar h1{letter-spacing:0;margin:0;font-size:22px}.topbar p{color:var(--muted);margin:4px 0 0}.actions{align-items:center;gap:10px;display:flex}.btn{background:var(--primary-fill);color:#fff;white-space:nowrap;min-height:42px;box-shadow:var(--shadow-primary);border:1px solid #ffffff47;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:650;transition:transform .14s,box-shadow .14s,filter .14s;display:inline-flex}.btn:hover{filter:saturate(1.06);transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:0 5px 12px #007aff33,inset 0 1px 2px #0000001f}.btn.secondary{border:1px solid var(--line);background:var(--raised-fill);color:var(--ink);box-shadow:var(--shadow-raised)}.btn.secondary:hover{color:var(--ink);filter:saturate(1.04);border-color:#ff3b5580}.btn.danger{background:linear-gradient(#ff756d 0%,#ff3b30 52%,#d92720 100%);border-color:#ffffff47;box-shadow:0 11px 22px #ff3b3038,inset 0 1px #ffffff40,inset 0 -1px #0000001f}.btn:disabled{cursor:not-allowed;opacity:.48}.icon-btn{border:1px solid var(--line);background:var(--raised-fill);width:38px;height:38px;color:var(--ink);box-shadow:var(--shadow-raised);border-radius:10px;place-items:center;display:grid}.content{padding:22px 28px 32px}.storage-warning{color:#7a5415;background:#fff8e5;border:1px solid #f0c36a;border-radius:8px;margin:16px 28px 0;padding:12px 14px;font-size:14px}.guest-sync-notice,.local-sync-choice{color:var(--ink);background:#f4f9fc;border:1px solid #cfe0ea;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin:14px 28px 0;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.guest-sync-notice button{border:1px solid var(--line);min-height:32px;color:var(--blue);white-space:nowrap;background:#fff;border-radius:8px;padding:0 10px}.local-sync-choice{background:var(--green-soft);border-color:#b9d9cb;align-items:flex-start}.local-sync-choice strong,.local-sync-choice span{display:block}.local-sync-choice span{color:var(--muted);margin-top:3px}.local-sync-choice>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.auth-loading,.auth-page{z-index:60;background:linear-gradient(120deg, #1d6fa514, transparent 42%), var(--page);place-items:center;min-height:100dvh;padding:24px;display:grid;position:fixed;inset:0}.auth-page{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(120deg,#1d6fa51a,#0000 42%),#eaf2f7e0}.auth-panel{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:14px;padding:22px;display:grid}.auth-panel-simple{background:radial-gradient(circle at 18% 0%, #ff3b5524, transparent 36%), var(--panel);border-radius:18px;gap:16px;width:min(390px,100%);padding:28px;position:relative}.auth-compact-title{gap:4px;padding-right:34px;display:grid}.auth-compact-title strong{color:var(--ink);font-size:19px}.auth-compact-title span{color:var(--muted);font-size:13px;line-height:1.5}.auth-close-floating{position:absolute;top:12px;right:12px}.auth-brand{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding-bottom:10px;display:grid}.auth-close{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;display:grid}.auth-brand strong,.auth-brand span{display:block}.auth-brand span,.auth-note,.auth-error{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.55}.auth-tabs{border:1px solid var(--line);background:#f6fafc;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.auth-tabs-three{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-tabs button{min-height:36px;color:var(--muted);background:0 0;border-radius:6px}.auth-tabs button.active{color:var(--blue);background:#fff;box-shadow:0 1px 4px #1a2a3a14}.auth-forgot-link,.auth-back-link{min-height:24px;color:var(--blue);text-align:right;background:0 0;justify-self:end;padding:0;font-size:12px;font-weight:650}.auth-back-link{justify-self:start;margin-top:-2px}.auth-review-demo{background:linear-gradient(135deg,#ff3b551c,#2aa9ff14),#fff;border:1px solid #ff3b5547;border-radius:10px;gap:8px;padding:13px;display:grid}.auth-review-demo strong,.auth-review-demo span,.auth-review-demo small{display:block}.auth-review-demo span,.auth-review-demo small{color:var(--muted);font-size:13px;line-height:1.55}.auth-review-demo .btn{justify-content:center;width:100%}.auth-method{grid-template-columns:1fr 1fr;gap:8px;display:grid}.auth-method button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:#fff;border-radius:8px}.auth-method button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.auth-panel label{color:var(--muted);gap:7px;font-size:13px;display:grid}.auth-panel input{border:1px solid var(--line);min-height:42px;color:var(--ink);border-radius:8px;padding:9px 11px}.auth-code-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.auth-submit-button{width:100%}.auth-dev-code{color:#7a5415;background:#fff8e5;border:1px solid #f0c36a;border-radius:8px;margin:0;padding:9px 10px;font-size:13px}.auth-error{color:#a73333}.auth-health-button{border:1px solid var(--line);min-height:38px;color:var(--blue);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:10px;justify-content:center;align-items:center;padding:0 12px;font-weight:650;display:inline-flex}.auth-health-button:hover{border-color:var(--blue);background:var(--selected-fill)}.auth-panel .auth-agreement-check{border:1px solid var(--line);color:var(--muted);background:#fbfdfe;border-radius:10px;align-items:flex-start;gap:9px;padding:10px;font-size:12px;line-height:1.65;display:flex}.auth-panel .auth-agreement-check>input{width:17px;min-width:17px;height:17px;min-height:17px;accent-color:var(--blue);margin:2px 0 0;padding:0}.auth-agreement-check span{display:inline}.auth-agreement-check button{color:var(--blue);font-size:inherit;line-height:inherit;background:0 0;padding:0 2px;display:inline}.agreement-overlay{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a111894;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.agreement-dialog{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(82vh,760px);display:grid;overflow:hidden;box-shadow:0 28px 80px #0a111847}.agreement-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.agreement-dialog>header strong,.agreement-dialog>header span{display:block}.agreement-dialog>header strong{font-size:17px}.agreement-dialog>header span{color:var(--muted);margin-top:4px;font-size:12px}.agreement-dialog>header button{border:1px solid var(--line);background:var(--raised-fill);width:36px;height:36px;color:var(--muted);border-radius:9px;flex:none;place-items:center;display:grid}.agreement-content{padding:18px;overflow-y:auto}.agreement-content section+section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.agreement-content h3{margin:0 0 7px;font-size:15px}.agreement-content p{color:var(--muted);margin:0;font-size:13px;line-height:1.75}.agreement-dialog>footer{border-top:1px solid var(--line);justify-content:flex-end;padding:14px 18px 18px;display:flex}.consent-section{border:1px solid var(--line);background:var(--soft-fill);border-radius:8px;gap:10px;margin-top:18px;padding:14px;display:grid}.consent-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.consent-row input{flex:none;width:18px;height:18px;margin-top:2px}.consent-row span,.consent-row small{display:block}.client-editor-panel{scroll-margin-top:18px}.consent-row small{color:var(--muted);margin-top:3px;line-height:1.5}.server-status{border:1px solid var(--line);background:var(--raised-fill);width:fit-content;min-height:28px;color:var(--muted);border-radius:999px;align-items:center;margin:12px 28px 0;padding:0 10px;font-size:12px;display:inline-flex;box-shadow:0 5px 12px #0000000a,inset 0 1px #ffffffb8}.server-status.online{background:var(--green-soft);color:var(--green);border-color:#c7e2d8}.dashboard{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;display:grid}.client-page-flow{gap:18px;display:grid}.client-entry-panel .panel-body{padding:22px}.client-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.client-mode-button{border:1px solid var(--line);background:var(--raised-fill);min-height:96px;color:var(--ink);text-align:left;box-shadow:var(--shadow-raised), inset 0 1px 0 #ffffffb8;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.client-entry-action{background:radial-gradient(circle at 24% 12%,#ffffff38,#0000 36%),linear-gradient(135deg,#ff3b5533,#22222cf5 48%,#14141cf5);border-radius:24px;min-height:134px;padding:22px 24px}.client-entry-action strong{font-size:22px}.client-entry-action svg{background:#ffffff1a;border-radius:16px;width:42px;height:42px;padding:8px}.client-mode-button strong,.client-mode-button small{display:block}.client-mode-button strong{font-size:18px}.client-mode-button small{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.45}.client-mode-button svg{color:var(--blue);flex:none}.client-mode-button.active{border-color:var(--blue);background:var(--selected-fill);box-shadow:0 0 0 3px #007aff1f, var(--shadow-raised)}.client-list-panel .search-box{margin-bottom:14px}.compact-actions{flex-wrap:nowrap}.compact-actions .btn{height:40px;min-height:40px;padding-inline:14px}.client-row-wrap{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised), inset 0 1px 0 #ffffffa8;border-radius:14px;display:grid;overflow:hidden}.client-row-wrap.active{border-color:var(--blue);background:var(--selected-fill)}.client-row-main{min-height:74px;color:inherit;text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.client-row-main svg{color:var(--muted);transition:transform .18s}.client-row-main svg.open{transform:rotate(180deg)}.client-row-summary{gap:5px;min-width:0;display:grid}.client-row-summary>span{color:var(--muted);font-size:13px;line-height:1.45}.client-row-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.client-row-title strong{color:var(--blue-light);font-size:16px}.client-row-title small{color:var(--muted);flex:none;font-size:12px}.client-row-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 14px 14px;display:grid}.client-row-menu button{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.client-row-menu button.danger{color:#ff6578}.client-row-actions-inline{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;max-width:410px;display:inline-flex}.client-row-actions-inline button{border:1px solid var(--line);background:var(--panel);min-height:34px;color:var(--ink);box-shadow:var(--shadow-raised);border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.client-row-actions-inline button.danger{color:#ff6578}.client-inline-detail{border:1px solid var(--line);background:var(--soft-fill);color:var(--muted);border-radius:12px;gap:6px;margin:0 14px 14px;padding:12px;font-size:13px;line-height:1.5;display:grid}.client-editor-overlay{z-index:40;padding:max(28px, env(safe-area-inset-top)) 18px 28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08080c94;place-items:start center;display:grid;position:fixed;inset:0;overflow:auto}.client-editor-dialog,.client-list-dialog{overscroll-behavior:contain;grid-template-rows:auto minmax(0,1fr);width:min(980px,100%);height:calc(100dvh - 56px);max-height:860px;display:grid;overflow:hidden}.client-editor-dialog>.panel-body,.client-list-dialog>.panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;overflow-y:auto}.client-editor-close{background:var(--raised-fill);color:var(--ink);box-shadow:var(--shadow-raised)}.client-form-lead{border:1px solid var(--line);background:var(--soft-fill);color:var(--muted);border-radius:12px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:13px;display:inline-flex}.client-form-lead svg{color:var(--blue)}.client-photo-cta{border-top:1px solid var(--line);justify-content:flex-end;padding-top:16px}.panel-stack{align-content:start;gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow), inset 0 1px 0 #ffffffb8;border-radius:14px;overflow:hidden}.panel-header{border-bottom:1px solid var(--line);background:linear-gradient(#fff 0%,#fafafc 100%);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 13px;display:flex}.panel-header h2{margin:0;font-size:17px}.panel-header p{color:var(--muted);margin:4px 0 0;font-size:14px}.panel-body{padding:18px}.fold-panel,.fold-section,.fold-tool{overflow:hidden}.fold-summary,.fold-tool-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.fold-summary::-webkit-details-marker{display:none}.fold-tool-summary::-webkit-details-marker{display:none}.fold-summary{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.fold-summary:after,.fold-tool-summary:after{content:"展开";border:1px solid var(--line);background:var(--raised-fill);color:var(--muted);border-radius:999px;flex:none;align-self:center;padding:4px 10px;font-size:12px;line-height:1}details[open]>.fold-summary:after,details[open]>.fold-tool-summary:after{content:"收起"}.fold-tool-summary{justify-content:space-between;align-items:center;gap:10px;display:flex}.fold-tool-summary h3{margin:0}.fold-tool-summary span{display:none}.fold-content{padding-top:14px}.stats{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;padding:14px}.stat span{color:var(--muted);font-size:13px}.stat strong{color:var(--ink);margin-top:8px;font-size:25px;display:block}.client-list{gap:10px;display:grid}.client-toolbar{gap:10px;margin-bottom:14px;display:grid}.search-box{border:1px solid var(--line);background:var(--raised-fill);min-height:44px;color:var(--muted);box-shadow:var(--shadow-raised);border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:0 12px;display:grid}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.status-filter{flex-wrap:wrap;gap:8px;display:flex}.status-filter button{border:1px solid var(--line);background:var(--raised-fill);min-height:34px;color:var(--muted);border-radius:999px;padding:0 10px;font-size:13px;box-shadow:0 4px 10px #0000000b,inset 0 1px #ffffffb8}.status-filter button.active{border-color:var(--blue);background:var(--selected-fill);color:var(--blue);font-weight:700;box-shadow:0 8px 18px #007aff1c,inset 0 1px #fffc}.client-row{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px;display:grid}.client-row-button{text-align:left;width:100%}.client-row-button:hover,.client-row-button.active{border-color:var(--blue);background:var(--selected-fill);box-shadow:0 0 0 3px #007aff1c, var(--shadow-raised)}.client-row strong{display:block}.client-row span{color:var(--muted);font-size:13px}.client-tag-line{margin-top:6px;color:var(--blue-light)!important;font-size:12px!important}.empty-list{text-align:center;background:#fbfdfe;border:1px dashed #aebdca;border-radius:8px;gap:4px;padding:18px;display:grid}.empty-list span{color:var(--muted);font-size:13px}.badge{background:var(--blue-soft);min-height:28px;color:var(--blue);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.badge.green{background:var(--green-soft);color:var(--green)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.field label{color:var(--muted);font-size:13px}.required-mark{color:var(--accent);margin-left:4px;font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fbfdfe;border-radius:8px;padding:9px 11px}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#176c9d94}.field textarea{resize:vertical;min-height:92px}.field textarea.chief-complaint-textarea{resize:none;min-height:46px;max-height:46px;line-height:1.45;overflow-y:auto}.quick-chip-row,.tooth-preset-row{flex-wrap:wrap;gap:8px;display:flex}.quick-chip-row button,.tooth-preset-row button{border:1px solid var(--line);background:var(--raised-fill);min-height:34px;color:var(--ink);box-shadow:var(--shadow-raised);border-radius:999px;padding:0 12px;font-size:13px;font-weight:650}.quick-chip-row button.active,.tooth-preset-row button:hover{border-color:var(--blue);background:var(--selected-fill);color:var(--blue)}.advice-preset-row{margin-bottom:10px}.tooth-chart{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;gap:8px;padding:12px;display:grid}.tooth-orientation{color:var(--muted);background:linear-gradient(90deg, var(--line), var(--line)) center / 100% 1px no-repeat;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:12px;display:grid}.tooth-orientation:before,.tooth-orientation:after{content:none}.tooth-orientation span:first-child{grid-area:1/1;justify-self:start}.tooth-orientation span:nth-child(2){border:1px solid var(--line);background:var(--raised-fill);color:var(--blue-light);border-radius:999px;grid-area:1/2;justify-self:center;padding:2px 8px;font-weight:700}.tooth-orientation span:last-child{grid-area:1/3;justify-self:end}.tooth-row{grid-template-columns:repeat(12,minmax(30px,1fr));gap:5px;display:grid;position:relative}.tooth-row:after{content:"";pointer-events:none;background:#ff3b5573;width:1px;position:absolute;inset:-3px auto -3px 50%;transform:translate(-.5px)}.tooth-row button{border:1px solid var(--line);min-height:32px;color:var(--ink);background:#fff;border-radius:7px;font-size:12px}.tooth-row button.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:700}.tooth-chart.readonly .tooth-row button{cursor:default}.tooth-chart span{color:var(--muted);font-size:13px}.ceramic-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ceramic-info-grid article{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;gap:5px;padding:12px;display:grid}.ceramic-info-grid article.active{border-color:var(--blue);background:var(--selected-fill)}.ceramic-info-grid span{color:var(--muted);font-size:13px;line-height:1.55}.form-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.data-actions{flex-wrap:wrap;gap:10px;display:flex}.quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.file-btn{cursor:pointer;position:relative}.file-btn input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.canvas-area{border:1px solid var(--line);background-color:#f8fbfd;background-image:linear-gradient(90deg,#17202a0f 1px,#0000 1px),linear-gradient(#17202a0f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;place-items:center;min-height:560px;display:grid;position:relative;overflow:hidden}.canvas-area.has-photo{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#101820}.canvas-area.dragging{cursor:grabbing}.canvas-photo-lock{z-index:4;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#101820d1;border:1px solid #ffffff6b;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-weight:650;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 7px 18px #0000003d}.canvas-photo-lock.locked{background:#186037e6;border-color:#34c759b8}.photo-placeholder{aspect-ratio:4/3;text-align:center;width:min(72%,680px);color:var(--muted);background:#ffffffc2;border:2px dashed #aebdca;border-radius:8px;place-items:center;display:grid}.photo-placeholder strong{color:var(--ink);margin-bottom:8px;font-size:18px;display:block}.photo-placeholder svg{color:var(--blue);margin:0 auto 10px}.konva-canvas-wrap{contain:layout paint size;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;background:#101820;position:absolute;inset:0;overflow:hidden}.konva-canvas-wrap canvas{touch-action:none;will-change:transform;display:block;transform:translateZ(0)}.canvas-control-board{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:12px;margin-top:12px;display:grid}.canvas-control-board.single{grid-template-columns:1fr}.canvas-control-section{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;align-content:start;gap:10px;padding:12px;display:grid}.canvas-control-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.canvas-control-header h3{margin:0;font-size:15px}.canvas-control-header span{color:var(--muted);text-align:right;font-size:12px;line-height:1.5}.canvas-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.canvas-header-actions .btn{min-height:36px;padding-inline:11px}.tool-stack{align-content:start;align-self:start;gap:14px;display:grid}.tool-group{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow), inset 0 1px 0 #ffffffb8;border-radius:14px;padding:14px}.tool-group h3{color:var(--ink);margin:0 0 12px;font-size:15px}.tool-hint{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.selected-client-card{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;gap:6px;padding:12px;display:grid}.selected-client-card span,.empty-text{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.photo-slot-list{gap:10px;display:grid}.photo-slot{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;gap:8px;padding:10px;display:grid}.photo-slot.active{border-color:var(--blue);background:var(--selected-fill);box-shadow:0 8px 18px #007aff1c,inset 0 1px #fffc}.photo-slot>button{width:100%;color:var(--ink);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0;display:grid}.photo-slot strong,.photo-slot small{display:block}.photo-slot small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.mini-badge{background:var(--green-soft);min-height:24px;color:var(--green);border-radius:999px;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.photo-slot-actions{gap:8px;display:flex}.mini-action{border:1px solid var(--line);background:var(--raised-fill);width:36px;height:32px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-raised);border-radius:10px;place-items:center;display:inline-grid}.mini-action:disabled{cursor:not-allowed;opacity:.42}.mini-action input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.camera-overlay{z-index:40;background:#0a1118ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.camera-panel{background:#fff;border-radius:8px;width:min(880px,100%);max-height:min(92vh,860px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0a111847}.camera-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.camera-header strong,.camera-header span{display:block}.camera-header strong{font-size:17px}.camera-header span{color:var(--muted);margin-top:4px;font-size:13px}.camera-preview{color:#fff;background:#101820;place-items:center;min-height:460px;display:grid}.camera-preview video{object-fit:contain;background:#101820;width:100%;max-height:62vh;display:block}.camera-preview p,.camera-error{text-align:center;margin:0;padding:16px}.camera-error{color:#a73333;font-size:13px}.camera-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 18px 18px;display:flex}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tool-grid button,.tag,.shape-option{border:1px solid var(--line);background:var(--raised-fill);min-height:38px;color:var(--ink);box-shadow:var(--shadow-raised);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;transition:transform .14s,box-shadow .14s,border-color .14s;display:inline-flex}.tool-grid button:hover,.tag:hover,.shape-option:hover{transform:translateY(-1px)}.tool-grid button:disabled{cursor:not-allowed;opacity:.42}.tool-grid button.active,.tag.active,.shape-option.active{border-color:var(--blue);background:var(--selected-fill);color:var(--blue);font-weight:700;box-shadow:0 8px 18px #007aff1c,inset 0 1px #fffc}.guide-list{gap:8px;display:grid}.guide-list.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.guide-list button{border:1px solid var(--line);min-height:38px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 10px;display:grid}.guide-list button.active{border-color:var(--amber);background:#fff6df}.guide-list button.visible small{color:var(--green)}.guide-list small{color:var(--muted);font-size:12px}.annotation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tag-cloud,.shape-grid,.case-grid,.plan-grid{gap:10px;display:grid}.tag-cloud{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-layout{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:18px;display:grid}.compliance-layout{gap:18px;display:grid}.compliance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.compliance-grid article{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;align-content:start;gap:8px;padding:14px;display:grid}.compliance-grid svg{color:var(--blue)}.compliance-grid h3{margin:0;font-size:15px}.compliance-grid p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.compliance-checklist{gap:10px;display:grid}.compliance-checklist label{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;line-height:1.5;display:flex}.storage-overview{gap:14px;display:grid}.storage-stat-grid,.storage-rule-grid{gap:12px;display:grid}.storage-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.storage-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.storage-stat-grid article,.storage-rule-grid article{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;align-content:start;gap:7px;padding:14px;display:grid}.storage-stat-grid strong{color:var(--blue);font-size:22px}.storage-stat-grid span,.storage-rule-grid p,.storage-rule-grid span{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.storage-rule-grid svg{color:var(--blue)}.storage-rule-grid h3{margin:0;font-size:15px}.storage-rule-grid span{color:var(--green);font-weight:700}.analysis-notes{gap:8px;margin-top:16px;display:grid}.analysis-notes label{color:var(--muted);font-size:13px}.analysis-notes textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;min-height:110px;padding:10px 12px}.workspace-analysis-section{border-top:1px solid var(--line);gap:14px;margin-top:18px;padding-top:18px;display:grid}.workspace-analysis-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.workspace-analysis-header h3{margin:0;font-size:16px}.workspace-analysis-header span:not(.badge){color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.workspace-analysis-section .analysis-notes{margin-top:0}.workspace-analysis-section .analysis-notes .btn{justify-self:end;min-width:170px}.issue-card,.case-card,.plan-card{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:14px;padding:14px}.issue-card h3,.case-card h3,.plan-card h3{margin:0 0 8px;font-size:16px}.issue-card p,.case-card p,.plan-card p{color:var(--muted);margin:0;line-height:1.6}.preview-split{grid-template-columns:1fr 1fr;gap:12px;display:grid}.preview-single{display:grid}.preview-single .preview-box,.preview-single .preview-photo-wrap,.preview-single .preview-smile{height:min(48vh,520px);min-height:360px}.preview-box{border:1px solid var(--line);min-height:260px;box-shadow:var(--shadow-raised);background:#f8fbfd;border-radius:12px;overflow:hidden}.preview-box header{border-bottom:1px solid var(--line);color:var(--muted);background:#fff;padding:10px 12px;font-size:13px;font-weight:650}.design-result-placeholder>div{color:#f4f8fcd1;text-align:center;background:#111b24;place-content:center;gap:7px;min-height:260px;padding:24px;display:grid}.design-result-placeholder strong{color:#fff;font-size:16px}.design-result-placeholder span{text-shadow:0 1px 2px #0000008c;max-width:260px;font-weight:650;line-height:1.55}.preview-smile{place-items:center;height:212px;display:grid}.preview-photo-wrap{background:#111b24;place-items:center;height:212px;display:grid}.preview-photo-wrap img{object-fit:contain;max-width:100%;max-height:212px;display:block}.dsd-preview-box{min-height:360px}.dsd-stage{background-color:#111b24;background-image:linear-gradient(90deg,#ffffff0b 1px,#0000 1px),linear-gradient(#ffffff0b 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;height:320px;display:grid;position:relative;overflow:hidden}.dsd-photo{object-fit:contain;width:100%;height:100%;transition:filter .16s;display:block}.dsd-photo-placeholder{color:#ffffffb8;border:2px dashed #ffffff52;border-radius:8px;place-items:center;width:80%;height:70%;display:grid}.teeth-template{z-index:2;transform-origin:50%;justify-content:center;align-items:flex-start;gap:3px;width:min(58%,360px);transition:opacity .16s,transform .16s;display:flex;position:absolute;top:56%;left:50%}.teeth-template span{background:linear-gradient(#fff,#eef7fb);border:1px solid #c4d1deeb;border-radius:8px 8px 18px 18px;width:clamp(18px,8%,34px);height:58px;display:block;box-shadow:inset 0 -8px 12px #7ea4b829,0 7px 16px #00000029}.teeth-template span:first-child,.teeth-template span:nth-child(8){height:50px}.teeth-template span:nth-child(2),.teeth-template span:nth-child(7){height:56px}.teeth-template span:nth-child(3),.teeth-template span:nth-child(6){height:62px}.teeth-template span:nth-child(4),.teeth-template span:nth-child(5){height:66px}.teeth-template.shape-natural span{border-radius:8px 8px 18px 18px}.teeth-template.shape-refined span{border-radius:7px 7px 14px 14px;width:clamp(16px,7.2%,30px)}.teeth-template.shape-youth span{border-radius:10px 10px 20px 20px}.teeth-template.shape-soft span,.teeth-template.shape-feminine span{background:linear-gradient(#fff,#f5fbfd);border-radius:12px 12px 22px 22px}.teeth-template.shape-star span{border-color:#b4cddef5;width:clamp(19px,8.8%,36px)}.teeth-template.shape-strong span{border-radius:6px 6px 12px 12px;width:clamp(20px,9%,38px)}.dsd-midline{z-index:3;background:#ffd666d6;width:1px;position:absolute;top:17%;bottom:12%;left:50%}.dsd-smile-arc{z-index:3;border-bottom:2px solid #ffd666cc;border-radius:0 0 50% 50%;height:70px;position:absolute;bottom:21%;left:22%;right:22%}.dsd-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.dsd-summary.single{grid-template-columns:1fr}.dsd-summary div{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;padding:12px}.dsd-summary strong,.dsd-summary span{display:block}.dsd-summary span{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.candidate-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.candidate-preview-grid:has(>:only-child){grid-template-columns:minmax(0,520px)}.candidate-preview-card{border:1px solid var(--line);background:var(--raised-fill);color:var(--ink);text-align:left;box-shadow:var(--shadow-raised);border-radius:14px;gap:8px;padding:0;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid;overflow:hidden}.candidate-preview-card:hover,.candidate-preview-card:focus-visible{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 12px 26px #007aff21,inset 0 1px #ffffffc7}.candidate-preview-card.active{border-color:var(--blue);box-shadow:0 0 0 3px #007aff1f, var(--shadow-raised)}.candidate-preview-card .preview-box{border:0;border-radius:0;min-height:0}.candidate-preview-card .dsd-stage{height:170px}.ai-result-image{border-bottom:1px solid var(--line);background:#111b24;display:grid;overflow:hidden}.ai-result-image header{color:var(--muted);background:#fff;padding:8px 10px;font-size:13px}.ai-result-image img{object-fit:contain;width:100%;height:170px;display:block}.candidate-image-button{color:#fff;background:#111b24;width:100%;padding:0;position:relative}.candidate-image-button>span,.generated-main-image>span{color:#fff;background:#111b24e0;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:12px;display:inline-flex;position:absolute;bottom:10px;right:10px}.candidate-preview-card .teeth-template{width:min(62%,260px)}.candidate-preview-card .teeth-template span{height:42px}.candidate-preview-card>p{color:var(--muted);margin:0;padding:0 10px;font-size:12px;line-height:1.45;display:block}.candidate-apply-button{border:1px solid var(--line);min-height:38px;color:var(--blue);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:7px;margin:0 10px 10px;font-weight:600;display:inline-flex}.candidate-apply-button:hover{border-color:var(--blue);background:var(--blue-soft)}.generated-main-preview{min-height:360px}.generated-main-image{background:#111b24;width:100%;height:320px;padding:0;position:relative;overflow:hidden}.generated-main-image img{object-fit:contain;width:100%;height:100%;display:block}.before-after-compare{border:1px solid var(--line);box-shadow:var(--shadow-raised);background:#fff;border-radius:14px;overflow:hidden}.before-after-compare>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.before-after-compare>header span{color:var(--muted);font-size:12px}.before-after-stage{--compare-position:50%;--compare-handle-y:50%;aspect-ratio:4/3;isolation:isolate;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;contain:layout paint;background:#111b24;width:100%;max-height:620px;position:relative;overflow:hidden;transform:translateZ(0)}.compare-layer{backface-visibility:hidden;background:#111b24;position:absolute;inset:0;transform:translateZ(0)}.compare-layer img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block;transform:translateZ(0)}.compare-original{clip-path:inset(0 calc(100% - var(--compare-position)) 0 0);will-change:clip-path;contain:paint}.compare-layer>span{color:#fff;text-shadow:0 1px 2px #000000b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070a12e6;border:1px solid #ffffff94;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:13px;font-weight:850;display:inline-flex;position:absolute;top:12px;box-shadow:0 10px 24px #00000047}.compare-result>span{right:12px}.compare-original>span{left:12px}.compare-divider{z-index:3;top:0;bottom:0;left:var(--compare-position);pointer-events:none;will-change:left;background:#fff;width:3px;position:absolute;transform:translate(-50%);box-shadow:0 0 0 1px #0000002e,0 0 16px #0006}.compare-divider i{top:var(--compare-handle-y);background:var(--blue);color:#fff;text-align:center;will-change:top;border:3px solid #fff;border-radius:50%;width:42px;height:42px;font-size:18px;font-style:normal;line-height:34px;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px #00000047}.before-after-stage>input[type=range]{z-index:4;opacity:0;cursor:ew-resize;touch-action:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.compare-primary-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.image-lightbox{z-index:100;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#081018e8;place-items:center;display:grid;position:fixed;inset:0}.image-lightbox-panel{background:#111b24;border:1px solid #ffffff29;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1120px,100%);height:min(90dvh,900px);display:grid;overflow:hidden;box-shadow:0 28px 90px #0009}.image-lightbox-panel>header,.image-lightbox-panel>footer{background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.image-lightbox-panel>header strong,.image-lightbox-panel>header span{display:block}.image-lightbox-panel>header span,.image-lightbox-panel>footer>span{color:var(--muted);margin-top:3px;font-size:12px}.image-lightbox-stage{touch-action:none;place-items:center;min-height:0;padding:12px;display:grid;overflow:hidden}.image-lightbox-stage img{object-fit:contain;max-width:100%;max-height:100%;display:block}.zoomable-image-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.zoomable-image-stage:active{cursor:grabbing}.zoomable-image-stage img{transform:translate(var(--zoomable-x), var(--zoomable-y)) scale(var(--zoomable-scale));transform-origin:50%;will-change:transform}.segmented{border:1px solid var(--line);background:#f0f0f3;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px;display:grid;box-shadow:inset 0 1px 3px #00000014}.segmented button{min-height:34px;color:var(--muted);background:0 0;border-radius:6px}.segmented button.active{background:var(--raised-fill);color:var(--blue);box-shadow:var(--shadow-raised)}.shade-selector{gap:8px;display:grid}.shade-strip{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(9,minmax(0,1fr));min-height:20px;display:grid;overflow:hidden}.shade-strip span{min-width:0}.shade-strip span+span{border-left:1px solid #6e6e731f}.shade-tooth-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.shade-tooth-strip button{min-height:82px;color:var(--ink);background:radial-gradient(circle at 50% 0,#fffffffa,#fff0 42%),linear-gradient(#fffffffa,#eeefecdb);border:1px solid #c4cad0eb;border-radius:14px;place-items:center;gap:6px;padding:9px 5px;display:grid;box-shadow:0 7px 15px #1c253014,inset 0 1px #ffffffe6}.shade-tooth-strip button.active{border-color:var(--blue);color:var(--blue);background:radial-gradient(circle at 50% 0,#fff,#fff0 45%),linear-gradient(#f7fbff,#e7f2ff);box-shadow:0 14px 28px #007aff2e,inset 0 1px #ffffffe6}.shade-tooth-strip i{border:1px solid #62564147;border-radius:16px 16px 19px 19px;width:38px;height:50px;display:block;position:relative;transform:perspective(90px)rotateX(4deg);box-shadow:inset 8px 0 12px #ffffff8f,inset -7px -9px 14px #4e3d2626,inset 0 12px 18px #ffffff52,0 9px 13px #2d28202b}.shade-tooth-strip i:before{content:"";background:radial-gradient(at 35% 18%,#fffffff2 0 8%,#0000 18%),linear-gradient(90deg,#ffffff80,#0000 34%,#7a694d12 100%);border-radius:13px 13px 16px 16px;position:absolute;inset:4px 5px 7px;box-shadow:inset 0 -10px 12px #6e56340f,inset 0 1px #ffffffb3}.shade-tooth-strip i:after{content:"";background:#5a482a2e;border-radius:999px;width:21px;height:1px;position:absolute;bottom:5px;left:50%;transform:translate(-50%);box-shadow:0 -7px #ffffff29}.shade-tooth-strip span{z-index:1;background:#ffffff9e;border-radius:999px;margin-top:0;padding:2px 5px;font-size:11px;font-weight:800;line-height:1.1;position:relative}.shade-selector input{width:100%;min-height:26px;accent-color:var(--blue)}.shade-current{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.shade-current strong{font-size:18px}.shade-current span{color:var(--muted);font-size:13px}.design-shade-panel{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:14px;gap:11px;margin-bottom:14px;padding:14px;display:grid}.design-shade-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.design-shade-header h3{margin:0;font-size:17px}.design-shade-header span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.design-shade-header strong{background:rgba(var(--theme-accent-rgb), .14);min-width:54px;color:var(--blue-strong);text-align:center;border-radius:999px;padding:7px 12px;font-size:15px;font-weight:850}.shape-reference{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;gap:10px;margin-bottom:10px;padding:10px;display:grid}.shape-reference-media{background:#111b24;border-radius:8px;place-items:center;min-height:112px;display:grid;position:relative;overflow:hidden}.shape-reference-media img{object-fit:cover;width:100%;max-height:148px;display:block}.shape-reference strong,.shape-reference span{display:block}.shape-reference span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.teeth-template.static-shape{opacity:1;width:82%;max-width:210px;position:relative;top:auto;left:auto;transform:none}.teeth-template.static-shape span{height:48px}.slider-row{border-top:1px solid var(--line);gap:8px;padding:10px 0;display:grid}.slider-row:first-of-type{border-top:0;padding-top:0}.slider-row span{color:var(--ink);justify-content:space-between;gap:12px;font-size:13px;display:flex}.slider-row small{color:var(--muted)}.slider-row input{width:100%;accent-color:var(--blue)}.ai-design-panel{gap:10px;display:grid}.ai-design-panel select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.ai-prompt-preview{border:1px solid var(--line);background:#fbfdfe;border-radius:8px;gap:5px;padding:10px;display:grid}.ai-prompt-preview strong{font-size:13px}.ai-prompt-preview span{color:var(--muted);font-size:12px;line-height:1.5}.ai-candidate-list{gap:8px;display:grid}.ai-candidate-list button{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:8px;gap:4px;padding:10px;display:grid}.ai-candidate-list button:hover{border-color:var(--blue);background:var(--blue-soft)}.ai-candidate-list span{color:var(--muted);font-size:12px;line-height:1.45}.design-service-center{border-top:1px solid var(--line);gap:14px;margin-top:18px;padding-top:18px;display:grid}.service-center-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-kicker{color:var(--blue);font-size:12px;font-weight:750}.service-center-heading h3{margin:5px 0 0;font-size:18px}.service-center-heading p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.5}.service-safe-note{background:var(--green-soft);color:#218b42;white-space:nowrap;border:1px solid #c7e2d8;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:12px;display:inline-flex}.service-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.service-choice-grid>button{border:1px solid var(--line);background:var(--raised-fill);min-width:0;color:var(--ink);text-align:left;box-shadow:var(--shadow-raised);border-radius:12px;grid-template-columns:38px minmax(0,1fr);gap:6px 10px;padding:12px;transition:transform .14s,border-color .14s,box-shadow .14s;display:grid}.service-choice-grid>button:hover{transform:translateY(-1px)}.service-choice-grid>button.active{border-color:var(--blue);background:var(--selected-fill);box-shadow:0 10px 22px #007aff1f,inset 0 1px #ffffffd1}.service-icon{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:10px;grid-row:1/span 2;place-items:center;display:grid}.service-copy,.service-copy strong,.service-copy small{min-width:0;display:block}.service-copy strong{font-size:14px}.service-copy small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.45}.service-price{color:var(--blue);grid-column:2;font-size:11px;font-weight:700}.service-detail-panel{border:1px solid var(--line);background:var(--work-surface);border-radius:12px;gap:12px;padding:14px;display:grid}.service-detail-layout{grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);align-items:start;gap:16px;display:grid}.service-detail-copy{gap:9px;display:grid}.service-detail-copy p,.service-feedback{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.service-status-row{color:var(--green);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.service-status-row strong{color:var(--ink);font-size:14px}.service-status-row span:last-child{width:100%;color:var(--muted);font-size:12px}.status-dot{background:var(--muted);border-radius:50%;width:9px;height:9px}.status-dot.available{background:var(--green);box-shadow:0 0 0 4px #34c7591f}.service-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.service-form-grid label,.professional-order-form>label{color:var(--muted);gap:6px;font-size:12px;display:grid}.service-form-grid select,.professional-order-form textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:40px;color:var(--ink);background:#fff;border-radius:9px;padding:8px 10px}.ai-custom-instructions{grid-column:1/-1}.ai-custom-instructions textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:82px;color:var(--ink);background:#fff;border-radius:9px;padding:9px 10px;line-height:1.55}.professional-order-form{gap:10px;display:grid}.professional-order-form textarea{resize:vertical;min-height:78px}.order-summary-strip{flex-wrap:wrap;gap:7px;display:flex}.order-summary-strip span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:6px 8px;font-size:11px}.service-submit{width:100%;min-width:0}.service-feedback{grid-column:1/-1;padding-top:2px}.guide-form-grid{grid-template-columns:1fr 1fr}.scan-upload-control{min-width:0;min-height:40px;color:var(--blue);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px dashed #aebdca;border-radius:9px;align-items:center;gap:7px;padding:8px 10px;display:flex;position:relative;overflow:hidden}.scan-upload-control input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.service-submit-note{background:var(--green-soft);color:#218b42;border:1px solid #c7e2d8;border-radius:9px;align-items:center;gap:7px;padding:9px 10px;font-size:12px;display:flex}.service-order-history{gap:9px;display:grid}.order-history-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.order-history-heading strong{font-size:13px}.order-history-heading span{color:var(--muted);font-size:11px}.order-history-list{gap:7px;display:grid}.order-history-list>div{border:1px solid var(--line);background:var(--raised-fill);border-radius:10px;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.order-history-list strong,.order-history-list small{display:block}.order-history-list strong{font-size:12px}.order-history-list small{color:var(--muted);margin-top:3px;font-size:11px}.order-type-mark{background:var(--blue);border-radius:999px;width:5px;height:34px}.order-type-mark.professional-dsd{background:var(--green)}.order-type-mark.clinical-guide{background:var(--amber)}.order-status{background:var(--blue-soft);color:var(--blue);white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.teeth{align-items:end;gap:4px;display:flex}.tooth{background:#fff8e7;border:1px solid #d5d1c7;border-radius:8px 8px 16px 16px;width:34px;height:64px}.preview-box.after .tooth{background:#fff;border-color:#cfdbe5;height:72px}.case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-more-button{width:100%;margin-top:12px}.case-layout{grid-template-columns:minmax(0,1fr) 340px;gap:18px;display:grid}.case-image{height:140px;color:var(--blue);background:linear-gradient(135deg,#e8f4f8,#f7efe4);border-radius:8px;place-items:center;margin-bottom:12px;font-weight:700;display:grid}.filters{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.filter-pill{border:1px solid var(--line);background:var(--raised-fill);min-height:34px;color:var(--ink);border-radius:999px;padding:0 12px;box-shadow:0 4px 10px #0000000b,inset 0 1px #ffffffb8}.filter-pill.active{border-color:var(--blue);background:var(--selected-fill);color:var(--blue);font-weight:700}.case-card{position:relative}.case-card.active{border-color:var(--blue);background:var(--selected-fill)}.case-select{width:100%;color:var(--ink);text-align:left;background:0 0;gap:10px;padding:0;display:grid}.case-select span{color:var(--muted);font-size:13px;line-height:1.5}.case-card-actions{grid-template-columns:1fr;gap:8px;margin-top:12px;display:grid}.case-card-actions .btn{width:100%}.case-delete{width:30px;height:30px;color:var(--coral);background:#ffffffe0;border:1px solid #ffffffd6;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.case-image-pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}.case-image-pair div{border:1px solid var(--line);height:132px;color:var(--blue);background:linear-gradient(135deg,#e8f4f8,#f7efe4);border-radius:8px;place-items:center;font-weight:700;display:grid;overflow:hidden}.case-image-pair img{object-fit:cover;width:100%;height:100%}.case-image-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.case-image-gallery div{border:1px solid var(--line);background:#111b24;border-radius:12px;min-height:86px;position:relative;overflow:hidden}.case-image-gallery img{object-fit:cover;width:100%;height:100%;min-height:86px;display:block}.case-image-gallery span{color:#fff;background:#101820b8;border-radius:999px;padding:3px 6px;font-size:11px;position:absolute;bottom:5px;right:5px}.case-upload-board{gap:12px;margin-top:16px;display:grid}.case-upload-group{gap:8px;display:grid}.case-upload-group>strong{font-size:14px}.case-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.compare-stack{gap:10px;display:grid}.compare-image{border:1px solid var(--line);background:#f8fbfd;border-radius:8px;overflow:hidden}.compare-image header{border-bottom:1px solid var(--line);color:var(--muted);padding:9px 10px;font-size:13px}.compare-image div{color:#ffffffb8;background:#101820;place-items:center;height:150px;display:grid}.compare-image img{object-fit:contain;width:100%;height:100%}.case-form{gap:10px;display:grid}.case-form input,.case-form select,.case-form textarea{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px}.case-form textarea{resize:vertical;min-height:76px}.case-form-row,.case-upload-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.upload-tile{background:var(--raised-fill);min-height:104px;color:var(--blue);cursor:pointer;box-shadow:var(--shadow-raised);border:1px dashed #aebdca;border-radius:12px;justify-content:center;align-items:center;gap:6px;display:inline-flex;position:relative;overflow:hidden}.upload-tile.has-image{background:#111b24;border-style:solid}.upload-tile img{object-fit:cover;width:100%;height:104px;display:block}.case-empty-upload{cursor:pointer;place-items:center;gap:6px;width:100%;min-height:104px;display:grid}.case-slot-label{color:#fff;background:#101820b8;border-radius:999px;padding:3px 7px;font-size:11px;position:absolute;bottom:6px;left:6px}.case-image-actions{gap:5px;display:flex;position:absolute;inset:auto 6px 6px auto}.case-image-actions label,.case-image-actions button{min-height:28px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:1px solid #ffffffd1;border-radius:8px;align-items:center;gap:4px;padding:0 7px;font-size:12px;display:inline-flex;box-shadow:0 5px 12px #00000024}.case-image-actions button{color:var(--coral)}.upload-tile input,.case-empty-upload input,.case-image-actions input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-card{gap:12px;display:grid}.plan-card.active{border-color:var(--blue);background:var(--blue-soft)}.plan-card ul{color:var(--muted);gap:7px;margin:0;padding-left:18px;display:grid}.report-action-bar{border-bottom:1px solid var(--line);background:#f8fafc;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px;display:grid}.report-action-bar .btn{width:100%;padding-inline:9px}.profile-layout{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start;gap:18px;display:grid}.profile-settings-layout{grid-template-columns:minmax(0,820px);justify-content:center}.profile-settings-panel{grid-column:1/-1}.profile-settings-list{gap:12px;padding:18px;display:grid}.profile-settings-button{border:1px solid var(--line);background:var(--raised-fill);min-height:72px;color:var(--ink);text-align:left;box-shadow:var(--shadow-raised);border-radius:12px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;padding:12px 14px;display:grid}.profile-settings-button:hover,.profile-settings-button:focus-visible{border-color:var(--blue);transform:translateY(-1px)}.profile-settings-button.danger:hover,.profile-settings-button.danger:focus-visible{border-color:var(--coral)}.profile-settings-icon{border:1px solid var(--line);background:var(--soft-fill);width:48px;height:48px;color:var(--blue);border-radius:12px;place-items:center;display:grid}.profile-settings-button.danger .profile-settings-icon{color:var(--coral)}.meiya-bean-action-icon{object-fit:contain;width:34px;height:34px}.profile-settings-button strong,.profile-settings-button small{display:block}.profile-settings-button strong{font-size:16px}.profile-settings-button small{color:var(--muted);margin-top:4px;line-height:1.5}.profile-submenu-list{gap:12px;display:grid}.appearance-panel{grid-column:1/-1}.appearance-panel .panel-header{min-height:54px;padding:12px 16px}.appearance-panel .panel-body{padding:12px 16px 16px}.profile-form{grid-template-columns:170px minmax(0,1fr);align-items:start;gap:18px;display:grid}.profile-form.compact{grid-template-columns:160px minmax(0,1fr)}.profile-logo-upload{cursor:pointer;gap:6px;display:grid;position:relative}.profile-logo-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.profile-logo-preview{aspect-ratio:1;width:160px;color:var(--blue);background:#f8fafc;border:1px dashed #9eb1c2;border-radius:12px;place-items:center;display:grid;overflow:hidden}.profile-logo-preview img{object-fit:cover;width:100%;height:100%;padding:0;display:block}.profile-logo-upload>span{color:var(--blue);font-weight:650}.profile-logo-upload>small{color:var(--muted);line-height:1.45}.profile-fields{gap:14px;display:grid}.profile-code-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.password-input-wrap{border:1px solid var(--line);background:#1f1f27f5;border-radius:10px;grid-template-columns:minmax(0,1fr) 42px;align-items:center;display:grid;overflow:hidden}.profile-dialog-body .password-input-wrap input{background:0 0;border:0;border-radius:0;min-height:46px}.password-input-wrap button{border:0;border-left:1px solid var(--line);width:42px;height:42px;color:var(--muted);background:0 0;place-items:center;display:grid}.password-input-wrap button:hover,.password-input-wrap button:focus-visible{color:var(--blue)}:root[data-surface=light] .password-input-wrap{background:#fffffff5;border-color:#2520271f}.profile-save{grid-column:1/-1;justify-self:end}.profile-account-section{border-top:1px solid var(--line);gap:14px;margin-top:4px;padding-top:16px;display:grid}.profile-section-title{gap:4px;display:grid}.profile-section-title strong{color:var(--ink);font-size:16px}.profile-section-title span{color:var(--muted);font-size:13px;line-height:1.55}.panel-header-actions{align-items:center;gap:8px;display:inline-flex}.icon-add-button{border:1px solid var(--line);background:var(--primary-fill);width:32px;height:32px;color:var(--primary-ink,#fff);box-shadow:var(--shadow-primary);border-radius:999px;place-items:center;display:grid}.profile-dialog-overlay{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08080c94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.profile-dialog{width:min(420px,100%)}.profile-large-dialog{grid-template-rows:auto minmax(0,1fr);width:min(760px,100%);max-height:min(88dvh,820px);display:grid;overflow:hidden}.profile-dialog-close{background:var(--raised-fill);color:var(--ink);box-shadow:var(--shadow-raised)}.profile-dialog-body{-webkit-overflow-scrolling:touch;touch-action:pan-y;gap:14px;min-height:0;display:grid;overflow-y:auto}.profile-dialog-body input,.profile-dialog-body textarea{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#1f1f27f5;border-radius:10px;padding:9px 12px}.profile-dialog-body textarea{resize:vertical;min-height:92px}.profile-confirm-body{color:var(--muted);margin:0;line-height:1.7}.profile-dialog-body .form-actions{border-top:0;justify-content:flex-end;padding-top:0}.meiya-bean-summary-card{background:radial-gradient(circle at 8% 0%, #ffe7b82e, transparent 40%), var(--raised-fill);box-shadow:var(--shadow-raised);border:1px solid #ffd7963d;border-radius:14px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:16px;display:grid}.meiya-bean-summary-card img{object-fit:contain;width:64px;height:64px}.meiya-bean-summary-card strong,.meiya-bean-summary-card span{display:block}.meiya-bean-summary-card strong{color:var(--ink);font-size:30px;line-height:1}.meiya-bean-summary-card span{color:var(--muted);margin-top:6px;line-height:1.45}.meiya-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.meiya-plan-card{border:1px solid var(--line);background:var(--raised-fill);min-height:104px;color:var(--ink);text-align:left;border-radius:14px;gap:5px;padding:14px;display:grid}.meiya-plan-card:hover,.meiya-plan-card:focus-visible{border-color:var(--coral);box-shadow:0 14px 34px #ff3b5c24}.meiya-plan-card strong{font-size:17px}.meiya-plan-card span{color:var(--ink);font-weight:900}.meiya-plan-card small{color:var(--muted);line-height:1.35}.recharge-confirm-overlay{z-index:110;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08080ca3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.recharge-confirm-dialog{width:min(420px,100%)}.recharge-confirm-body{gap:16px;display:grid}.recharge-confirm-summary{border:1px solid rgba(var(--theme-accent-rgb), .28);background:rgba(var(--theme-accent-rgb), .08);border-radius:12px;gap:4px;padding:14px;display:grid}.recharge-confirm-summary strong{color:var(--ink);font-size:20px}.recharge-confirm-summary span{color:var(--ink);font-size:16px;font-weight:800}.recharge-confirm-summary small,.recharge-confirm-body>p{color:var(--muted);margin:0;line-height:1.55}.meiya-transaction-list{gap:8px;display:grid}.meiya-record-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.meiya-record-actions button{border:1px solid var(--line);background:var(--raised-fill);min-height:44px;color:var(--ink);border-radius:12px;font-weight:800}.meiya-record-actions button.active,.meiya-record-actions button:hover,.meiya-record-actions button:focus-visible{border-color:rgba(var(--theme-accent-rgb), .55);background:rgba(var(--theme-accent-rgb), .12);box-shadow:0 12px 26px rgba(var(--theme-accent-rgb), .12)}.meiya-transaction-list>div{border:1px solid var(--line);background:var(--soft-fill);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.meiya-transaction-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meiya-transaction-list strong{color:var(--ink)}.meiya-empty-record{border:1px solid var(--line);background:var(--soft-fill);color:var(--muted);border-radius:10px;margin:0;padding:12px}.sales-invite-dialog{width:min(460px,100%)}.sales-invite-bound{border:1px solid rgba(var(--theme-accent-rgb), .34);background:rgba(var(--theme-accent-rgb), .12);border-radius:12px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.sales-invite-bound svg{color:var(--coral)}.sales-invite-bound strong,.sales-invite-bound small{display:block}.sales-invite-bound small{color:var(--muted);margin-top:3px}.sales-invite-preview{color:var(--muted);margin:-4px 0 0}.sales-invite-preview strong{color:var(--ink)}.doctor-manager{gap:14px;display:grid}.doctor-add-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.doctor-add-row input{border:1px solid var(--line);border-radius:10px;min-width:0;min-height:42px;padding:8px 10px}.doctor-list{gap:8px;display:grid}.doctor-list article{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px;display:grid}.doctor-list article.active{border-color:var(--blue);background:var(--blue-soft)}.doctor-select{min-width:0;color:var(--ink);text-align:left;background:0 0;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:4px;display:grid}.doctor-avatar{width:36px;height:36px;color:var(--blue);background:#fff;border-radius:9px;place-items:center;display:grid}.doctor-select strong,.doctor-select small{display:block}.doctor-select small{color:var(--muted);margin-top:2px;font-size:11px}.doctor-delete{width:34px;height:34px;color:var(--coral);background:0 0;border-radius:9px;place-items:center;display:grid}.doctor-delete:disabled{opacity:.3;cursor:not-allowed}.profile-ceramic-panel{grid-column:1/-1}.ceramic-manager{gap:14px;display:grid}.ceramic-edit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ceramic-edit-list>div{border:1px solid var(--line);background:#f8fafc;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px;display:grid}.ceramic-edit-list input{min-width:0;min-height:38px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 9px;font-weight:650}.ceramic-edit-list input:focus{border-color:var(--blue);background:#fff}.ceramic-title-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ceramic-title-grid button{border:1px solid var(--line);min-height:42px;color:var(--ink);text-align:center;background:#fff;border-radius:10px;padding:8px 10px;font-weight:650}.ceramic-title-grid button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);box-shadow:0 0 0 2px #007aff1a}.plan-card-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.plan-card-heading h3{margin:0}.plan-card-heading span{background:var(--green-soft);min-height:24px;color:var(--green);border-radius:999px;flex:none;padding:0 8px;font-size:11px;line-height:24px}.plan-card .plan-reason{border-left:3px solid var(--green);background:var(--green-soft);color:#246b5b;border-radius:0 8px 8px 0;padding:8px 9px;font-size:12px;line-height:1.5}.report-editor{border-top:1px solid var(--line)}.report-preview{grid-template-columns:minmax(0,1fr) minmax(420px,540px);gap:18px;display:grid}.report-sheet{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:620px;padding:22px;box-shadow:0 18px 38px #00000014,inset 0 1px #ffffffb8}.report-brand-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.report-logo-box{border:1px solid var(--line);background:var(--raised-fill);width:54px;height:54px;color:var(--blue);box-shadow:var(--shadow-raised);border-radius:12px;flex:none;place-items:center;font-size:26px;font-weight:800;display:grid;overflow:hidden}.report-logo-box img{object-fit:contain;width:100%;height:100%}.report-brand-row strong,.report-brand-row span{display:block}.report-brand-row strong{font-size:18px}.report-brand-row span{color:var(--muted);margin-top:3px;font-size:13px}.report-title{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.report-title p{color:var(--muted);margin:4px 0 0}.report-title-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.report-title span,.report-title-actions button{background:var(--green-soft);min-height:28px;color:var(--green);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.report-title-actions button{border:1px solid var(--line);background:var(--raised-fill);color:var(--ink);box-shadow:var(--shadow-raised);gap:6px;font-weight:650}.report-sheet h2{margin:0 0 18px}.report-photo-row{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.report-image{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:12px;overflow:hidden}.report-image header{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.report-image-body{color:#ffffffb8;text-align:center;contain:layout paint;background:#111b24;place-items:center;height:190px;display:grid;position:relative;overflow:hidden}.report-image-body.editable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain}.report-image-body.dragging{cursor:grabbing}.report-image img{object-fit:contain;will-change:object-position, transform;pointer-events:none;-webkit-user-drag:none;backface-visibility:hidden;width:100%;height:100%;transition:none;transform:translateZ(0)}.report-image img.report-image-crop{object-fit:cover}.report-image-body.dragging img{transition:none}.report-image-toolbar{align-items:center;gap:4px;display:inline-flex}.report-image-toolbar button{border:1px solid var(--line);width:26px;height:26px;color:var(--ink);background:#fff;border-radius:7px;place-items:center;padding:0;display:grid}.report-image-toolbar button:hover{border-color:var(--blue);color:var(--blue)}.report-image-toolbar small{min-width:38px;color:var(--muted);text-align:center}.report-drag-hint{color:#fff;pointer-events:none;background:#111b24c2;border-radius:999px;min-height:24px;padding:0 8px;font-size:10px;line-height:24px;position:absolute;bottom:7px;right:7px}.report-framing-controls{border-top:1px solid var(--line);gap:12px;margin-top:16px;padding-top:16px;display:grid}.report-framing-controls>strong{font-size:14px}.report-framing-controls>p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.report-framing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.report-framing-group{border:1px solid var(--line);background:#f8fafc;border-radius:12px;gap:9px;padding:11px;display:grid}.report-framing-title,.report-framing-group label>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.report-framing-title .icon-btn{width:30px;height:30px}.report-framing-group label{color:var(--ink);gap:5px;font-size:12px;display:grid}.report-framing-group small{color:var(--muted)}.report-framing-group input[type=range]{width:100%;min-height:28px;accent-color:var(--blue)}@media (width<=760px){.report-framing-grid,.profile-layout,.profile-form,.profile-form.compact,.report-action-bar{grid-template-columns:1fr}}.mac-workspace{grid-template-columns:minmax(0,1fr)}.mac-workspace .photo-album-header-entry{padding-inline:12px}.canvas-area.photo-drop-active{border-color:var(--blue);box-shadow:inset 0 0 0 3px var(--blue-soft)}.mac-workspace .photo-placeholder{width:min(78%,760px)}.mac-workspace .photo-placeholder-actions{justify-content:center}.mac-report-preview{grid-template-columns:minmax(0,1fr)}.mac-report-preview .report-advice-panel{width:100%}.mac-report-preview .mac-report-sheet{min-height:0;padding:24px 28px}.mac-report-preview .report-photo-row{grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr);gap:16px;margin:18px 0}.mac-report-preview .report-image-body{height:min(31vw,320px);min-height:240px}.mac-report-preview .report-details-grid{grid-template-columns:minmax(220px,.72fr) minmax(0,2.28fr);grid-template-areas:"client teeth""ceramic teeth""complaint teeth""condition teeth""advice advice";gap:0 24px;display:grid}.mac-report-preview .report-details-grid>.report-block,.mac-report-preview .report-details-grid>.report-tooth-block{padding:12px 0}.mac-report-preview .report-details-grid>.report-block:first-child{grid-area:client}.mac-report-preview .report-details-grid>.report-tooth-block{grid-area:teeth;align-self:stretch}.mac-report-preview .report-details-grid>.report-block:nth-child(3){grid-area:ceramic}.mac-report-preview .report-details-grid>.report-block:nth-child(4){grid-area:complaint}.mac-report-preview .report-details-grid>.report-block:nth-child(5){grid-area:condition}.mac-report-preview .report-details-grid>.report-block:last-child{grid-area:advice;padding-bottom:4px}@media (width<=980px){.mac-report-preview .report-photo-row,.mac-report-preview .report-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mac-report-preview .report-details-grid{grid-template-areas:"client teeth""ceramic teeth""complaint condition""advice advice"}}:root[data-surface=light] .quick-chip-row button,:root[data-surface=light] .tooth-preset-row button,:root[data-surface=light] .tooth-row button,:root[data-surface=light] .ceramic-title-grid button,:root[data-surface=light] .ceramic-info-grid article,:root[data-surface=light] .plan-card,:root[data-surface=light] .status-filter button,:root[data-surface=light] .filter-pill,:root[data-surface=light] .auth-tabs button,:root[data-surface=light] .auth-method button,:root[data-surface=light] .guide-list button,:root[data-surface=light] .tool-grid button,:root[data-surface=light] .report-title-actions button,:root[data-surface=light] .report-image-toolbar button,:root[data-surface=light] .case-image-actions label,:root[data-surface=light] .case-image-actions button,:root[data-surface=light] .client-row-menu button,:root[data-surface=light] .mini-action{background:radial-gradient(circle at 28% 0%, #fffffff5, transparent 40%), var(--raised-fill);border-color:var(--line);color:var(--ink);box-shadow:0 10px 22px #4a3a4817,inset 0 1px #ffffffeb}:root[data-surface=light] .quick-chip-row button.active,:root[data-surface=light] .tooth-preset-row button:hover,:root[data-surface=light] .tooth-row button.selected,:root[data-surface=light] .ceramic-title-grid button.active,:root[data-surface=light] .ceramic-info-grid article.active,:root[data-surface=light] .plan-card.active,:root[data-surface=light] .status-filter button.active,:root[data-surface=light] .filter-pill.active,:root[data-surface=light] .auth-tabs button.active,:root[data-surface=light] .guide-list button.active,:root[data-surface=light] .tool-grid button.active,:root[data-surface=light] .photo-slot.active{background:radial-gradient(circle at 24% 0%, #fffffffa, transparent 40%), var(--selected-fill);border-color:rgba(var(--theme-accent-rgb), .62);color:var(--blue-strong);box-shadow:0 0 0 2px rgba(var(--theme-accent-rgb), .12), 0 12px 24px rgba(var(--theme-accent-rgb), .12), inset 0 1px 0 #ffffffeb}:root[data-surface=light] .tooth-chart,:root[data-surface=light] .consent-section,:root[data-surface=light] .local-sync-choice,:root[data-surface=light] .auth-panel .auth-agreement-check,:root[data-surface=light] .report-framing-group,:root[data-surface=light] .ceramic-edit-list>div,:root[data-surface=light] .doctor-list article,:root[data-surface=light] .client-inline-detail,:root[data-surface=light] .client-history-image:not(.has-image){background:linear-gradient(180deg, #fffffff0, var(--surface-tint));border-color:var(--line);color:var(--ink)}:root[data-surface=light] .report-image-body,:root[data-surface=light] .case-image-pair div,:root[data-surface=light] .case-image-gallery div,:root[data-surface=light] .compare-image div,:root[data-surface=light] .shape-reference-media,:root[data-surface=light] .upload-tile{background:linear-gradient(180deg, #fff, var(--surface-tint));border-color:var(--line);color:var(--muted)}:root[data-surface=light] .report-tooth-block .tooth-row button{background:var(--raised-fill);color:var(--ink)}:root[data-surface=light] .report-tooth-block .tooth-row button.selected{background:var(--selected-fill);color:var(--blue-strong)}:root[data-surface=light] .profile-dialog-overlay,:root[data-surface=light] .client-editor-overlay,:root[data-surface=light] .photo-album-overlay{background:#f5f2f3b8}:root[data-surface=light] .profile-dialog-body input{color:var(--ink);background:#ffffffeb;border-color:#2520271f}:root[data-surface=light] .client-entry-action{background:radial-gradient(circle at 26% 8%, #fffffffa, transparent 38%), linear-gradient(135deg, #fffffff5, rgba(var(--theme-accent-rgb), .12) 52%, rgba(var(--theme-soft-rgb), .14));border-color:rgba(var(--theme-accent-rgb), .18);color:var(--ink)}:root[data-surface=light] .client-entry-action svg{background:rgba(var(--theme-accent-rgb), .1);color:var(--blue-strong)}:root[data-surface=light] .photo-album-card,:root[data-surface=light] .photo-album-dialog,:root[data-surface=light] .photo-album-actions button{background:radial-gradient(circle at 26% 0%, #fffffffa, transparent 38%), var(--raised-fill);border-color:var(--line);color:var(--ink)}:root[data-surface=light] .photo-album-image-button{background:var(--surface-tint)}.report-block{border-top:1px solid var(--line);padding:14px 0}.report-block strong{margin-bottom:8px;display:block}.report-block p{color:var(--muted);margin:0;line-height:1.65}.report-list-block,.report-tooth-block{border-top:1px solid var(--line);padding:14px 0}.report-tooth-block>strong{margin-bottom:8px;display:block}.report-tooth-block .tooth-chart{box-shadow:none;padding:10px}.report-tooth-block .tooth-row button{min-height:26px;font-size:11px}.report-list-block strong{margin-bottom:8px;display:block}.report-list-block ul{color:var(--muted);gap:6px;margin:0;padding-left:18px;display:grid}@media print{body{background:#fff}.sidebar,.topbar,.report-preview>.panel,.report-title-actions button{display:none}.app-shell,.main,.report-preview{display:block}.content{padding:0}.report-sheet{box-shadow:none;border:0}}@media (width<=1180px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding:18px 12px}.brand{align-items:center;padding-inline:0}.brand strong,.brand span,.sidebar-note,.nav button span:last-child{display:none}.nav button{grid-template-columns:1fr;justify-items:center;min-height:50px;padding:10px}.topbar{padding:18px 20px}.topbar-status-card{max-width:min(520px,100%)}.content{padding:18px 20px 26px}.dashboard,.workspace,.analysis-layout,.report-preview,.case-layout,.canvas-control-board{grid-template-columns:1fr}.stats,.case-grid,.plan-grid,.candidate-preview-grid,.compliance-grid,.storage-stat-grid,.storage-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-choice-grid,.service-detail-layout{grid-template-columns:1fr}}@media (width>=980px) and (width<=1180px){.workspace{grid-template-columns:minmax(0,1fr) 260px;gap:14px}.tool-group{padding:12px}.preview-split{gap:10px}.preview-box{min-height:230px}.preview-smile,.preview-photo-wrap{height:188px}.dsd-stage{min-height:290px}.shape-reference-media{min-height:96px}.shape-grid{gap:8px}.shape-option{min-height:40px}}@media (width<=760px){.app-shell{display:block}.sidebar{z-index:35;padding:7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbfbfdf0;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000014}.brand,.sidebar-note{display:none}.nav{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.nav button{min-width:0;min-height:46px;box-shadow:none;background:0 0;border-color:#0000;padding:6px 2px}.nav button:hover,.nav button.active{transform:none}.nav button.active{background:var(--selected-fill);border-color:#007aff47;box-shadow:inset 0 1px #fffc}.nav-icon{width:32px;height:32px}.main{width:100%;padding-bottom:calc(68px + env(safe-area-inset-bottom))}.topbar{flex-direction:column;align-items:flex-start;padding:18px}.topbar-status-card{justify-content:space-between;width:100%}.topbar-status-card span{max-width:calc(100vw - 150px)}.content{padding:18px}.stats,.case-grid,.plan-grid,.tag-cloud,.form-grid,.preview-split,.ceramic-info-grid,.candidate-preview-grid,.compliance-grid,.storage-stat-grid,.storage-rule-grid{grid-template-columns:1fr}.actions,.data-actions,.form-actions,.camera-actions,.local-sync-choice,.guest-sync-notice{width:100%}.actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.actions .btn{white-space:normal;min-width:0;padding-left:7px;padding-right:7px}.local-sync-choice,.guest-sync-notice{flex-direction:column;align-items:stretch;width:auto;margin-left:18px;margin-right:18px}.local-sync-choice>div:last-child{justify-content:stretch}.actions .btn,.data-actions .btn,.form-actions .btn,.camera-actions .btn,.local-sync-choice .btn{flex:1}.tool-grid,.dsd-summary,.report-photo-row,.case-image-pair,.case-upload-grid,.case-form-row{grid-template-columns:1fr}.service-center-heading{display:grid}.report-image-body{height:220px}.service-safe-note{width:fit-content}.service-form-grid,.guide-form-grid{grid-template-columns:1fr}.guide-list.compact,.annotation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tooth-row{grid-template-columns:repeat(6,minmax(30px,1fr))}.canvas-area{min-height:420px}.canvas-photo-lock{min-height:42px;padding:0 13px;top:9px;right:9px}.camera-overlay,.agreement-overlay{padding:12px}.agreement-dialog,.camera-panel{max-height:calc(100dvh - 24px)}.camera-preview{min-height:300px}}.sidebar{background:linear-gradient(#19191ffa,#121218fa);box-shadow:12px 0 34px #00000057,inset -1px 0 #ffffff12}.brand{border-bottom-color:#ffffff17}.brand-logo-button.has-logo,.brand-text-button,.brand-doctor-name,.doctor-switcher,.sidebar-note,.sidebar-logout,.sidebar-login,.topbar-status-card,.topbar-status-card button,.nav button,.btn.secondary,.icon-btn,.panel,.stat,.search-box,.status-filter button,.client-row,.ceramic-info-grid article,.tool-group,.photo-slot,.selected-client-card,.canvas-control-section,.case-card,.report-sheet,.report-image,.profile-logo-upload,.doctor-card,.ceramic-option-row,.compliance-grid article,.storage-rule-grid article,.storage-stat-grid article{background:var(--raised-fill);color:var(--ink);box-shadow:var(--shadow-raised);border-color:#ffffff1a}.brand-logo-button.has-logo,.auth-close,.auth-panel,.agreement-dialog,.guest-sync-notice button,.field input,.field select,.field textarea,.auth-panel input,.auth-tabs button.active,.auth-method button,.tooth-row button,.case-form input,.case-form select,.case-form textarea,.report-notes,.profile-fields input,.profile-fields select,.profile-fields textarea{color:var(--ink);background:#1f1f27f5;border-color:#ffffff1f}.brand-logo-button.has-logo{box-shadow:none;background:0 0;border-color:#0000}.topbar{background:#121218db;border-bottom-color:#ffffff14;box-shadow:0 14px 34px #0003}.brand-text-button strong,.topbar-status-card strong{color:var(--ink)}.brand-text-button span,.brand-doctor-name,.topbar-status-card span{color:#f7f0eca8}.content{background:radial-gradient(circle at 70% 8%,#ff3b5514,#0000 24%),linear-gradient(#11111600,#0f0f1494)}.nav button{min-height:48px;box-shadow:none;background:0 0;border-radius:11px}.nav button:hover,.nav button.active{color:#fff}.nav button.active{background:var(--primary-fill);border-color:#ff3b55bd;box-shadow:0 16px 30px #ff3b553d,inset 0 1px #ffffff38}.nav button.active .nav-icon{background:#ffffff2e}.nav-icon{background:#ffffff12}.panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel-header{background:linear-gradient(#282831e6,#1b1b22db);border-bottom-color:#ffffff14}.field input:focus,.field select:focus,.field textarea:focus,.auth-panel input:focus{background:#25252efa;border-color:#ff3b55b8}input::placeholder,textarea::placeholder{color:#f7f0ec57}.badge{color:#ff7a88;background:#ff3b5529}.badge.green,.server-status.online{color:var(--green);background:#6be2a51f;border-color:#6be2a538}.server-status,.guest-sync-notice,.local-sync-choice,.storage-warning{color:var(--ink);background:#1f1f27d1;border-color:#ffffff1a}.storage-warning,.auth-dev-code{color:#ffd08a;background:#f4b86a1f;border-color:#f4b86a52}.empty-list,.tooth-chart,.canvas-control-section,.photo-placeholder,.case-image,.compare-image,.upload-tile,.auth-tabs,.auth-panel .auth-agreement-check,.consent-section{background:#18181fc7;border-color:#ffffff1a}.tooth-row button.selected,.status-filter button.active,.client-row-button:hover,.client-row-button.active,.ceramic-info-grid article.active,.photo-slot.active,.filter-pill.active,.plan-card.active{background:var(--selected-fill);color:#ff7a88;box-shadow:0 0 0 3px #ff3b551f, var(--shadow-raised);border-color:#ff3b55b8}.canvas-area,.preview-box,.compare-image div,.case-image-pair div,.case-image-gallery div,.shape-reference-media,.ai-result-image,.report-image-frame{background:#0f1016}.canvas-area{background:linear-gradient(90deg,#ffffff09 1px,#0000 1px),linear-gradient(#ffffff09 1px,#0000 1px),#111219}.shade-tooth-strip button{background:radial-gradient(circle at 50% 0,#ffffff24,#fff0 42%),linear-gradient(#2f2f38fa,#1b1b22f5)}.shade-current,.segmented,.ai-preview-row,.order-history-item,.report-section,.report-crop-toolbar{background:#1c1c24e6;border-color:#ffffff1a}.image-lightbox-panel>header,.image-lightbox-panel>footer{background:#1b1b22fa}.btn.danger{background:linear-gradient(#ff6676 0%,#ff3b55 52%,#d9233c 100%)}.auth-close,.auth-health-button,.auth-review-demo,.guest-sync-notice button,.status-filter button,.filter-pill,.tool-grid button,.guide-list button,.segmented button,.ceramic-title-grid button,.report-image-toolbar button,.doctor-delete,.case-image-actions label,.case-image-actions button,.mini-action{background:var(--raised-fill);color:var(--ink);box-shadow:var(--shadow-raised);border-color:#ffffff21}.field input,.field select,.field textarea,.search-box input,.case-form input,.case-form select,.case-form textarea,.doctor-add-row input,.ceramic-edit-list input,.service-form-grid select,.professional-order-form textarea,.ai-custom-instructions textarea{color:var(--ink);background:#1f1f27f5;border-color:#ffffff21}.field input::placeholder,.field textarea::placeholder,.search-box input::placeholder,.case-form input::placeholder,.case-form textarea::placeholder,.doctor-add-row input::placeholder,.ai-custom-instructions textarea::placeholder{color:#f7f0ec6b}.report-action-bar{background:#1212189e}.panel-header p,.field label,.auth-brand span,.auth-note,.auth-error,.auth-panel label,.service-detail-copy p,.service-feedback,.tool-hint,.photo-slot small,.selected-client-card span,.canvas-control-header span,.candidate-preview-card>p,.dsd-summary span,.shade-current span,.report-section p,.report-section li,.profile-form small,.compliance-grid p{font-size:13px;line-height:1.6}.panel-header h2,.service-center-heading h3,.canvas-control-header h3,.tool-group h3,.report-sheet h2,.auth-brand strong,.auth-panel,.agreement-dialog,.camera-panel,.canvas-control-section,.photo-placeholder,.empty-list,.tooth-chart,.consent-section{color:var(--ink)}.auth-tabs button,.auth-method button,.tool-grid button,.guide-list button,.mini-action,.candidate-apply-button,.service-submit{min-height:40px;font-weight:700}.ai-consent-dialog .agreement-content p{color:var(--ink);margin:0;font-size:14px;line-height:1.7}.ai-consent-dialog .agreement-content h3{color:var(--ink);font-size:15px}.doctor-switcher{color:#f7f0ecb8;box-sizing:border-box;background:#1c1c24eb;grid-template-columns:none;justify-content:center;align-items:center;gap:10px;height:58px;min-height:58px;padding:0 18px;display:inline-flex}.doctor-switcher span{writing-mode:initial;white-space:nowrap;font-size:13px;line-height:1.2}.doctor-switcher select{min-width:76px;min-height:36px;color:var(--ink);font-size:15px;line-height:36px}.nav button{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:66px;padding:8px 6px}.nav button>span:not(.nav-icon){min-width:0;color:inherit;white-space:nowrap;font-size:13px;font-weight:700;line-height:1;display:block}.nav-icon{place-self:center;width:38px;height:38px}.actions .btn{box-sizing:border-box;height:58px;min-height:58px;padding-inline:20px;font-size:15px}.client-row{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.client-row-actions{align-items:center;gap:6px;display:inline-flex}.mini-action{border-radius:10px;place-items:center;width:34px;height:34px;display:inline-grid}.mini-action.danger{color:#ff6578}.canvas-area:not(.has-photo){cursor:pointer}.photo-placeholder-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;display:flex}.photo-placeholder-actions .btn{min-width:138px}.ai-inline-generate{background:#ff3b5514;border:1px solid #ff3b5538;border-radius:14px;grid-template-columns:minmax(170px,240px) minmax(0,1fr);align-items:center;gap:12px;margin:14px 0 18px;padding:14px;display:grid}.ai-inline-generate span{color:var(--muted);font-size:13px;line-height:1.55}.compare-primary-actions{flex-wrap:wrap}.before-after-stage{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none}.ai-custom-instructions textarea{min-height:64px;max-height:92px}.doctor-list article,.ceramic-edit-list>div{background:#1c1c24eb;border-color:#ffffff24}.doctor-list article.active{background:#ff3b5529;border-color:#ff3b55b8}.doctor-avatar{color:#ff6f82;background:#ffffff14}.doctor-select strong,.ceramic-edit-list input{color:var(--ink)}.doctor-select small{color:#f7f0ec9e}.ceramic-edit-list input:focus{background:#121218e0;border-color:#ff3b55b8}.report-editor{background:linear-gradient(#ff3b551a,#ffffff05);border:1px solid #ff3b5533;border-radius:14px;margin:12px 16px 16px}.report-editor textarea{min-height:54px;max-height:150px;font-size:16px;overflow-y:auto}.report-editor textarea.report-advice-textarea{resize:none;min-height:42px;max-height:42px;line-height:1.45}.report-editor .advice-preset-row{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:7px;margin-bottom:10px;display:flex;overflow-x:auto}.report-editor .advice-preset-row::-webkit-scrollbar{display:none}.report-editor .advice-preset-row button{white-space:nowrap;flex:none;min-height:32px;padding:0 12px;font-size:13px}.report-bottom-actions{grid-column:1/-1}.report-bottom-actions .report-action-bar{border-top:1px solid var(--line);border-bottom:0}@media (width<=1180px){.nav button{grid-template-columns:1fr;justify-items:center;min-height:64px;padding:8px 4px}.nav button>span:not(.nav-icon){white-space:nowrap;font-size:12px}.ai-inline-generate{grid-template-columns:1fr}}.client-list-panel .compact-actions{align-items:center;gap:10px;display:flex}.brand{grid-template-columns:58px minmax(0,1fr)}.brand-doctor-name{display:none}.brand-doctor-under-logo{color:#f7f0ecb8;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;align-items:center;width:fit-content;max-width:100%;min-height:22px;margin-top:5px;padding:0 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.topbar-status-card{grid-template-columns:1fr auto;align-items:center;gap:3px 10px;min-width:190px;min-height:58px;display:grid}.topbar-status-card span,.topbar-status-card strong,.topbar-status-card small{min-width:0;display:block}.topbar-status-card span{grid-column:1/2}.topbar-status-card strong{grid-area:1/2/2/3;align-self:end}.topbar-status-card small{color:var(--green);grid-column:1/-1;font-size:12px;line-height:1.2}.topbar-status-card.online{border-color:#6be2a533}.server-status{display:none}.nav{gap:12px}.nav button{border-radius:14px;min-height:70px}.nav button>span:not(.nav-icon){font-size:14px}.dsd-workspace{grid-template-columns:minmax(0,1fr)}.client-inline-detail{background:#11111685}.client-history-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:8px;display:grid}.client-history-image{color:#f7f0ec6b;background:#0a0c12e6;border:1px solid #ffffff1a;border-radius:12px;place-items:center;min-height:112px;display:grid;position:relative;overflow:hidden}.client-history-image img{object-fit:cover;width:100%;height:112px}.client-history-image strong{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0c12c2;border-radius:999px;min-height:24px;padding:0 8px;font-size:12px;line-height:24px;position:absolute;bottom:8px;left:8px}.client-history-image:not(.has-image) strong{color:var(--muted);background:0 0;margin-top:4px;position:static}.canvas-change-photo-button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#101219d1;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.canvas-floating-actions{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0c127a;border:1px solid #ffffff24;border-radius:18px;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(100% - 24px);padding:7px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 14px 34px #00000042}.canvas-save-album-button,.canvas-generate-preview-button{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#101219d1;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.canvas-generate-preview-button{background:linear-gradient(#ff4a69f0,#eb2349e6);border-color:#ff3b557a;box-shadow:0 12px 24px #ff3b553d}.change-photo-overlay{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05080c80;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.change-photo-dialog{width:min(92vw,420px);color:var(--ink);background:#1a1b23f0;border:1px solid #ffffff24;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px #00000061}.change-photo-dialog>header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.change-photo-dialog>header strong{margin-bottom:4px;font-size:18px;display:block}.change-photo-dialog>header span{color:var(--muted);font-size:13px}.change-photo-dialog>header button{width:36px;height:36px;color:var(--ink);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;place-items:center;display:grid}.change-photo-options{gap:10px;padding:14px;display:grid}.change-photo-options button,.change-photo-options label{min-height:72px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:12px;display:grid}.change-photo-options button:hover,.change-photo-options label:hover{border-color:rgba(var(--theme-accent-rgb), .48);background:rgba(var(--theme-accent-rgb), .12)}.change-photo-options svg{background:rgba(var(--theme-accent-rgb), .14);width:42px;height:42px;color:var(--blue);border-radius:13px;place-items:center;padding:10px;display:grid}.change-photo-options strong{margin-bottom:4px;font-size:15px;display:block}.change-photo-options small{color:var(--muted);font-size:12px;line-height:1.4;display:block}.change-photo-options input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.missing-client-overlay{z-index:70;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05080c57;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.missing-client-dialog{width:min(90vw,360px);color:var(--ink);text-align:center;background:#1b1c24f0;border:1px solid #ffffff24;border-radius:18px;gap:14px;padding:22px;display:grid;position:relative;box-shadow:0 22px 60px #00000057}.missing-client-dialog strong{margin-bottom:7px;font-size:18px;display:block}.missing-client-dialog span{color:var(--muted);font-size:13px;line-height:1.65;display:block}.missing-client-dialog .btn{justify-self:center;min-width:136px}.report-export-dialog{text-align:left;width:min(90vw,420px)}.report-export-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.report-export-options .btn{flex-direction:column;justify-self:stretch;align-items:flex-start;min-height:82px;padding:12px 10px;font-size:14px;line-height:1.25}.report-export-options .btn small{color:currentColor;opacity:.72;text-align:left;font-size:11px;font-weight:500;line-height:1.45}@media (width<=440px){.report-export-options{grid-template-columns:1fr}}.missing-client-close{width:32px;height:32px;color:var(--ink);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.tool-group-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.tool-group-header h3{margin-bottom:0}.tool-group-header .mini-action{width:auto;min-width:52px;padding:0 10px;font-size:12px;font-weight:700}.photo-album-entry{text-align:left;width:100%;color:var(--ink);justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-album-entry span,.photo-album-entry strong,.photo-album-entry small{min-width:0;display:block}.photo-album-entry strong{margin-bottom:5px;font-size:15px}.photo-album-entry small{color:var(--muted);font-size:12px;line-height:1.5}.photo-album-entry svg{color:var(--blue);flex:none}.photo-album-overlay{z-index:48;padding:max(28px, env(safe-area-inset-top)) 18px 28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08080c94;place-items:start center;display:grid;position:fixed;inset:0;overflow:auto}.photo-album-dialog{overscroll-behavior:contain;grid-template-rows:auto minmax(0,1fr);width:min(1040px,100%);height:calc(100dvh - 56px);max-height:860px;display:grid;overflow:hidden}.photo-album-dialog>.panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;overflow-y:auto}.photo-album-upload-row{justify-content:flex-end;gap:10px;margin-bottom:14px;display:flex}.photo-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.photo-album-card{border:1px solid var(--line);background:var(--raised-fill);box-shadow:var(--shadow-raised);border-radius:14px;overflow:hidden}.photo-album-card.active{box-shadow:0 0 0 3px #ff3b551f, var(--shadow-raised);border-color:#ff3b55b8}.photo-album-image-button{aspect-ratio:4/3;background:#101820;place-items:center;width:100%;display:grid;overflow:hidden}.photo-album-image-button img{object-fit:contain;width:100%;height:100%}.photo-album-card-meta{gap:3px;padding:10px 12px 0;display:grid}.photo-album-card-meta strong{color:var(--ink)}.photo-album-card-meta span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.photo-album-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.photo-album-actions button{border:1px solid var(--line);background:var(--panel);min-height:34px;color:var(--ink);box-shadow:var(--shadow-raised);border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.photo-album-actions button.danger{color:#ff6578}.photo-album-actions button:disabled,.photo-album-upload-row .disabled{opacity:.42;cursor:not-allowed}.workspace-shade-section{background:#14141bc2;border:1px solid #ffffff1a;border-radius:14px;margin-top:14px;overflow:hidden}.compact-shade-selector .shade-tooth-strip{grid-template-columns:repeat(9,minmax(0,1fr));gap:7px}.compact-shade-selector .shade-tooth-strip button{min-height:64px;color:var(--ink);background:radial-gradient(circle at 50% 0,#ffffff1f,#fff0 42%),linear-gradient(#2f2f38fa,#1b1b22f5);border-color:#ffffff24;padding:7px 4px}.compact-shade-selector .shade-tooth-strip button.active{color:#ff8c9b;background:#ff3b5526;border-color:#ff3b55db}.compact-shade-selector .shade-tooth-strip i{border-radius:11px 11px 13px 13px;width:27px;height:36px}.compact-shade-selector .shade-tooth-strip span{color:inherit;background:#ffffff29;font-size:10px}.design-shape-panel{padding-top:2px}.design-shape-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:7px;display:grid}.design-shape-option{white-space:nowrap;border-radius:999px;min-height:38px;padding:8px 7px;font-size:12px;font-weight:760}.compact-shade-current{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.compact-shade-current .btn{min-height:36px}.candidate-preview-card{position:relative}.candidate-delete-button{z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0d12c2;border:1px solid #fff3;border-radius:999px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:8px;right:8px}.candidate-delete-button:hover{background:#ff3b55e6}.candidate-apply-button{color:var(--ink);background:#ffffff14}.candidate-apply-button.active{color:var(--green);background:#6be2a529;border-color:#6be2a559}.ai-result-image header{color:#f7f0ecb8;background:#1f1f27f5}.field input,.field select,.field textarea,.search-box input,.service-form-grid select,.ai-custom-instructions textarea,.ceramic-title-grid button,.doctor-add-row input,.ceramic-edit-list input,.profile-fields input,.profile-fields select,.profile-fields textarea{color:var(--ink);background:#1f1f27f5;border-color:#ffffff24}.ceramic-title-grid button.active,.tool-grid button.active{color:#ff8c9b;background:#ff3b552e;border-color:#ff3b55b8}.report-action-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.client-list-panel .compact-actions .btn{height:40px;min-height:40px;padding:0 14px}.photo-canvas-header{align-items:center;min-height:0;padding:10px 16px}.photo-canvas-header h2{font-size:16px;line-height:1.25}.photo-canvas-header .canvas-header-actions{gap:8px}.photo-canvas-header .btn,.photo-canvas-header .badge{min-height:34px;padding-block:7px}.canvas-control-board.single{margin-top:8px}.canvas-control-section{gap:7px;padding:10px 12px}.canvas-control-header{align-items:center}.canvas-control-header h3{font-size:14px}.canvas-control-header span,.tool-hint{font-size:11px;line-height:1.45}.annotation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.annotation-grid button{min-height:32px;padding:6px 8px;font-size:12px}.annotation-grid button svg{width:14px;height:14px}:root[data-surface=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#24232a;--muted:#6f6a73;--line:#2520271a;--panel:#fffc;--page:#f5f2f3;--nav:#faf9faeb;--nav-strong:#fffffff0;--nav-line:#221d251a;--work-surface:#f7f4f5;--canvas:#f5f2f3;--blue:#d94b64;--blue-strong:#b7354d;--blue-light:#f18aa0;--blue-soft:#d94b641f;--theme-accent-rgb:217, 75, 100;--theme-soft-rgb:103, 216, 203;--page-glow-1:#67d8cb2e;--page-glow-2:#d94b641f;--surface-sheen:#ffffffeb;--surface-tint:#f7f3f5;--primary-ink:#2b2530;--green:#2f9d71;--green-soft:#2f9d711f;--raised-fill:linear-gradient(180deg, #fffffffa, #f6f2f4eb);--primary-fill:radial-gradient(circle at 28% 12%, #fffffff2, transparent 32%), linear-gradient(135deg, #fff 0%, #f5dbe4 36%, #d9a9bf 68%, #f0e6d4 100%);--selected-fill:linear-gradient(180deg, #d94b6421, #ffffffdb);--shadow:0 18px 42px #4a3a4821;--shadow-raised:0 13px 30px #483a471f, inset 0 1px 0 #ffffffe6, inset 0 -1px 0 #69526214;--shadow-primary:0 16px 32px #d94b6433, inset 0 1px 0 #ffffffd9, inset 0 -1px 0 #81516529}:root[data-theme=pearl]{--ink:#17272b;--muted:#536466;--line:#2852541a;--panel:#ffffffe6;--page:#eaf3f1;--nav:#f9fffdf0;--nav-strong:#fffffff5;--nav-line:#28525417;--work-surface:#f6faf9;--canvas:#fbfdfc;--surface-tint:#f2f8f7;--blue:#0b756f;--blue-strong:#075f5a;--blue-light:#0b756f;--blue-soft:#0b756f1c;--theme-accent-rgb:11, 117, 111;--theme-soft-rgb:252, 204, 180;--page-glow-1:#cce4e4e6;--page-glow-2:#fcccb452;--primary-fill:#0b756f;--selected-fill:linear-gradient(180deg, #e6f7f5f5, #fffffff0);--primary-ink:#fff;--shadow:0 18px 42px #4168681c;--shadow-raised:0 12px 30px #4168681a, inset 0 1px 0 #fffffff5, inset 0 -1px 0 #2852540d;--shadow-primary:0 14px 28px #0b756f3d, inset 0 1px 0 #ffffff38}:root[data-theme=apple]{--ink:#111827;--muted:#586270;--line:#1118271a;--panel:#ffffffe0;--page:#f5f7fb;--nav:#fffffff0;--nav-strong:#fffffffa;--nav-line:#11182717;--work-surface:#f7f8fb;--canvas:#f8fafc;--surface-tint:#f4f6fa;--blue:#005fc8;--blue-strong:#004fa8;--blue-light:#005fc8;--blue-soft:#005fc81c;--theme-accent-rgb:0, 95, 200;--theme-soft-rgb:52, 199, 89;--green:#1f7654;--green-soft:#1f76541f;--page-glow-1:#007aff1f;--page-glow-2:#34c75914;--raised-fill:linear-gradient(180deg, #fffffffa, #f7f8fbf0);--primary-fill:#005fc8;--selected-fill:linear-gradient(180deg, #007aff1f, #ffffffeb);--primary-ink:#fff;--shadow:0 18px 42px #0f172a1a;--shadow-raised:0 10px 24px #0f172a14, inset 0 1px 0 #fffffff2, inset 0 -1px 0 #0f172a0f;--shadow-primary:0 14px 28px #005fc83d, inset 0 1px 0 #ffffff59, inset 0 -1px 0 #00449638}:root[data-surface=light] body{background:radial-gradient(circle at 12% 8%, var(--page-glow-1), transparent 34%), radial-gradient(circle at 86% 0%, var(--page-glow-2), transparent 30%), radial-gradient(circle at 18% 18%, #ffffffeb, transparent 38%), var(--page)}.brand-mark{background:radial-gradient(circle at 28% 18%,#ffffff8c,#0000 34%),linear-gradient(135deg,#ff6f87 0%,#ff3b55 48%,#c22c45 100%)}.brand-mark svg{filter:drop-shadow(0 3px 8px #0000002e)}.theme-choice-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:920px;display:grid}.theme-choice-row button{border:1px solid var(--line);background:var(--raised-fill);min-height:58px;color:var(--ink);text-align:left;box-shadow:var(--shadow-raised);border-radius:14px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:3px 10px;padding:10px 12px;display:grid}.theme-choice-row button.active{border-color:rgba(var(--theme-accent-rgb), .66);box-shadow:0 0 0 3px rgba(var(--theme-accent-rgb), .12), var(--shadow-raised)}.theme-choice-row strong,.theme-choice-row small{min-width:0}.theme-choice-row small{color:var(--muted);font-size:12px}.theme-swatch{border:1px solid var(--line);border-radius:12px;grid-row:1/3;width:36px;height:36px;box-shadow:inset 0 1px #ffffff73}.theme-swatch.dark{background:radial-gradient(circle at 70% 24%,#ff3b5573,#0000 34%),linear-gradient(135deg,#111117,#282733)}.theme-swatch.pearl{background:radial-gradient(circle at 28% 18%,#fffffff2,#0000 34%),linear-gradient(135deg,#fff 0%,#d8e4e4 36%,#90c8c8 68%,#30b8b0 100%)}.theme-swatch.apple{background:radial-gradient(circle at 34% 20%,#fff,#0000 36%),linear-gradient(135deg,#fff,#f1f5f9 42%,#dbeafe 68%,#007aff)}:root[data-surface=light] .brand-mark{background:var(--primary-fill);color:var(--primary-ink)}.shade-tooth-strip button,.compact-shade-selector .shade-tooth-strip button{background:radial-gradient(circle at 24% 8%,#ffffff57,#0000 36%),linear-gradient(135deg,#ffffff1f,#ffffff05 44%,#ffd6e11a),linear-gradient(#2d2d36f5,#191920f5);border-color:#ffffff38;box-shadow:0 12px 24px #0000002e,inset 0 1px #ffffff2e,inset 0 -1px #00000038}.shade-tooth-strip button.active,.compact-shade-selector .shade-tooth-strip button.active{background:radial-gradient(circle at 28% 8%,#ffffff52,#0000 38%),linear-gradient(135deg,#ff5b743b,#ffffff14 46%,#dcacbe33);border-color:#ff5b74e0}.shade-tooth-strip i,.compact-shade-selector .shade-tooth-strip i{border-color:#58493838;overflow:hidden;box-shadow:inset 9px 0 15px #ffffffb3,inset -7px -10px 16px #57402629,inset 0 13px 18px #ffffff61,0 10px 18px #32281e33}.shade-tooth-strip i:before{background:radial-gradient(at 35% 16%,#fffffffa 0 10%,#0000 19%),linear-gradient(112deg,#ffffff8c,#0000 33%,#ffdbee40 54%,#0000 72%),linear-gradient(90deg,#fff3,#0000 50%);inset:2px 4px 6px}.shade-tooth-strip i:after{background:linear-gradient(#0000,#ffffff80,#0000);width:1px;height:64%;bottom:7px;left:35%;box-shadow:8px 2px #8a735314,15px -2px #ffffff2e}.compact-shade-selector input{display:none}:root[data-surface=light] .sidebar,:root[data-surface=light] .topbar,:root[data-surface=light] .panel,:root[data-surface=light] .panel-header,:root[data-surface=light] .workspace-shade-section,:root[data-surface=light] .topbar-status-card,:root[data-surface=light] .sidebar-note,:root[data-surface=light] .nav button,:root[data-surface=light] .report-section,:root[data-surface=light] .shade-current,:root[data-surface=light] .canvas-control-section,:root[data-surface=light] .client-inline-detail,:root[data-surface=light] .doctor-list article,:root[data-surface=light] .ceramic-edit-list>div{background:var(--raised-fill);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-raised)}:root[data-surface=light] .content,:root[data-surface=light] .main{background:radial-gradient(circle at 64% 0%, rgba(var(--theme-accent-rgb), .08), transparent 34%), linear-gradient(180deg, #ffffff6b, transparent 280px)}:root[data-surface=light] .brand-text-button span,:root[data-surface=light] .brand-doctor-under-logo,:root[data-surface=light] .panel-header p,:root[data-surface=light] .tool-hint,:root[data-surface=light] .shade-current span,:root[data-surface=light] .doctor-select small,:root[data-surface=light] .canvas-control-header span{color:var(--muted)}:root[data-surface=light] .topbar-status-card{border-color:rgba(var(--theme-accent-rgb), .16);background:#ffffffeb}:root[data-surface=light] .topbar-status-card span,:root[data-surface=light] .topbar-status-card strong{color:var(--ink)}:root[data-surface=light] .topbar-status-card small{color:var(--muted)}:root[data-surface=light] .topbar-status-card button{color:var(--ink);background:#fffffff5;border-color:#2520271f}:root[data-surface=light] .topbar-status-card button svg{color:var(--ink)}:root[data-surface=light] .badge,:root[data-surface=light] .badge.green,:root[data-surface=light] .mini-badge,:root[data-surface=light] .report-title span{color:#166044;background:#1660441f}:root[data-surface=light] .nav button.active,:root[data-surface=light] .btn,:root[data-surface=light] .client-mode-button.active{background:var(--primary-fill);color:var(--primary-ink);box-shadow:var(--shadow-primary)}:root[data-surface=light] .btn.secondary,:root[data-surface=light] .mini-action,:root[data-surface=light] .doctor-delete,:root[data-surface=light] .candidate-apply-button,:root[data-surface=light] .tool-grid button,:root[data-surface=light] .annotation-grid button{background:var(--raised-fill);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-raised)}:root[data-surface=light] .field input,:root[data-surface=light] .field select,:root[data-surface=light] .field textarea,:root[data-surface=light] .search-box input,:root[data-surface=light] .doctor-add-row input,:root[data-surface=light] .ceramic-edit-list input,:root[data-surface=light] .profile-fields input,:root[data-surface=light] .profile-fields textarea,:root[data-surface=light] .ai-custom-instructions textarea{color:var(--ink);background:#ffffffdb;border-color:#2520271f}:root[data-surface=light] .canvas-area,:root[data-surface=light] .preview-box,:root[data-surface=light] .ai-result-image,:root[data-surface=light] .report-image-frame,:root[data-surface=light] .client-history-image{background:#171820}:root[data-surface=light] .shade-tooth-strip button,:root[data-surface=light] .compact-shade-selector .shade-tooth-strip button{background:radial-gradient(circle at 30% 8%,#fffffffa,#0000 40%),linear-gradient(135deg,#ffffffe6,#f7f1f4db 50%,#e2d2c48a);border-color:#382f391f}:root[data-surface=light] .shade-tooth-strip button.active,:root[data-surface=light] .compact-shade-selector .shade-tooth-strip button.active{border-color:rgba(var(--theme-accent-rgb), .78);background:radial-gradient(circle at 32% 8%, #fff, transparent 40%), linear-gradient(135deg, #fffffff5, rgba(var(--theme-accent-rgb), .1) 52%, rgba(var(--theme-soft-rgb), .13));color:var(--blue-strong)}:root[data-surface=light] .shade-tooth-strip span,:root[data-surface=light] .compact-shade-selector .shade-tooth-strip span{color:inherit;background:#ffffffb8}.photo-canvas-header{padding:8px 14px}.photo-canvas-header h2{font-size:15px}.canvas-control-section{padding:8px 10px}.annotation-grid button{min-height:30px;padding:5px 7px}:root[data-surface=light] .agreement-overlay{background:#f5f7f9c2}:root[data-surface=light] .change-photo-overlay{background:#f5f7f9a8}:root[data-surface=light] .missing-client-overlay{background:#f5f7f994}:root[data-surface=light] .agreement-dialog,:root[data-surface=light] .camera-panel,:root[data-surface=light] .client-row-wrap,:root[data-surface=light] .client-row-menu,:root[data-surface=light] .client-list-panel,:root[data-surface=light] .client-editor-panel,:root[data-surface=light] .client-entry-panel,:root[data-surface=light] .client-mode-button,:root[data-surface=light] .profile-dialog,:root[data-surface=light] .profile-settings-button,:root[data-surface=light] .profile-settings-icon,:root[data-surface=light] .selected-client-card,:root[data-surface=light] .fold-panel,:root[data-surface=light] .fold-section,:root[data-surface=light] .fold-tool,:root[data-surface=light] .fold-summary,:root[data-surface=light] .fold-tool-summary,:root[data-surface=light] .workspace-analysis-section,:root[data-surface=light] .workspace-analysis-header,:root[data-surface=light] .ai-design-panel,:root[data-surface=light] .ai-preview-panel,:root[data-surface=light] .ai-inline-generate,:root[data-surface=light] .ai-prompt-preview,:root[data-surface=light] .ai-candidate-list button,:root[data-surface=light] .candidate-fold,:root[data-surface=light] .candidate-preview-card,:root[data-surface=light] .candidate-preview-card>p,:root[data-surface=light] .ai-result-image,:root[data-surface=light] .ai-result-image header,:root[data-surface=light] .shade-current,:root[data-surface=light] .case-card,:root[data-surface=light] .case-image,:root[data-surface=light] .case-image-pair div,:root[data-surface=light] .case-image-gallery div,:root[data-surface=light] .case-upload-board,:root[data-surface=light] .case-upload-group,:root[data-surface=light] .case-empty-upload,:root[data-surface=light] .case-form,:root[data-surface=light] .report-editor,:root[data-surface=light] .report-preview>.panel,:root[data-surface=light] .report-sheet,:root[data-surface=light] .report-image,:root[data-surface=light] .report-image header,:root[data-surface=light] .report-framing-controls,:root[data-surface=light] .report-action-bar,:root[data-surface=light] .report-bottom-actions,:root[data-surface=light] .report-crop-toolbar,:root[data-surface=light] .report-tooth-block,:root[data-surface=light] .report-list-block,:root[data-surface=light] .report-block,:root[data-surface=light] .tooth-chart,:root[data-surface=light] .consent-section{border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-raised);background:radial-gradient(circle at 20% 0,#ffffffe6,#0000 36%),linear-gradient(#ffffffeb,#f7f9fae0)}:root[data-surface=light] .change-photo-dialog,:root[data-surface=light] .change-photo-dialog>header,:root[data-surface=light] .change-photo-options button,:root[data-surface=light] .change-photo-options label{border-color:var(--line);color:var(--ink);box-shadow:var(--shadow-raised);background:radial-gradient(circle at 22% 0,#fffffff0,#0000 38%),linear-gradient(#fffffff0,#f7f9fae6)}:root[data-surface=light] .profile-dialog-body input,:root[data-surface=light] .profile-dialog-body textarea{border-color:var(--line);color:var(--ink);background:#ffffffe0}:root[data-surface=light] .profile-dialog-body input::placeholder,:root[data-surface=light] .profile-dialog-body textarea::placeholder{color:#3d454d7a}:root[data-surface=light] .change-photo-dialog>header button{border-color:var(--line);color:var(--ink);background:#ffffffb8}:root[data-surface=light] .missing-client-dialog{border-color:var(--line);color:var(--ink);background:radial-gradient(circle at 24% 0,#fffffff5,#0000 36%),linear-gradient(#fffffff2,#f7f9faeb);box-shadow:0 18px 46px #485b6429}:root[data-surface=light] .missing-client-close{border-color:var(--line);color:var(--ink);background:#ffffffc2}:root[data-surface=light] .client-row-wrap.active,:root[data-surface=light] .client-row-button:hover,:root[data-surface=light] .client-row-button.active,:root[data-surface=light] .case-card.active,:root[data-surface=light] .candidate-preview-card.active,:root[data-surface=light] .doctor-list article.active,:root[data-surface=light] .ceramic-title-grid button.active,:root[data-surface=light] .tool-grid button.active,:root[data-surface=light] .candidate-apply-button.active{background:radial-gradient(circle at 24% 0%, #fffffff5, transparent 36%), var(--selected-fill);border-color:rgba(var(--theme-accent-rgb), .55);color:var(--blue-strong)}:root[data-surface=light] .photo-placeholder,:root[data-surface=light] .empty-list,:root[data-surface=light] .dsd-photo-placeholder,:root[data-surface=light] .case-empty-upload,:root[data-surface=light] .case-upload-grid label{border-color:var(--line);color:var(--ink);background:linear-gradient(#ffffffdb,#f7f9fad1)}:root[data-surface=light] .canvas-area{background:linear-gradient(90deg, rgba(var(--theme-accent-rgb), .035) 1px, transparent 1px), linear-gradient(rgba(var(--theme-accent-rgb), .035) 1px, transparent 1px), var(--canvas);border-color:var(--line)}:root[data-surface=light] .preview-box,:root[data-surface=light] .candidate-preview-card .preview-box,:root[data-surface=light] .candidate-image-button,:root[data-surface=light] .image-lightbox-panel,:root[data-surface=light] .image-lightbox-panel>header,:root[data-surface=light] .image-lightbox-panel>footer,:root[data-surface=light] .report-image-body,:root[data-surface=light] .report-image-frame,:root[data-surface=light] .client-history-image{background:var(--surface-tint);border-color:var(--line);color:var(--ink)}:root[data-surface=light] .image-lightbox,:root[data-surface=light] .ai-consent-dialog,:root[data-surface=light] .client-row-main,:root[data-surface=light] .case-select,:root[data-surface=light] .panel-header h2,:root[data-surface=light] .workspace-analysis-header h3,:root[data-surface=light] .fold-tool-summary h3,:root[data-surface=light] .canvas-control-header h3,:root[data-surface=light] .candidate-preview-card h3,:root[data-surface=light] .ai-prompt-preview strong,:root[data-surface=light] .report-sheet h2,:root[data-surface=light] .report-block strong,:root[data-surface=light] .report-list-block strong,:root[data-surface=light] .report-tooth-block>strong,:root[data-surface=light] .case-card h3,:root[data-surface=light] .case-upload-group>strong,:root[data-surface=light] .client-row-title strong,:root[data-surface=light] .client-mode-button strong{color:var(--ink)}:root[data-surface=light] .panel-header p,:root[data-surface=light] .workspace-analysis-header span:not(.badge),:root[data-surface=light] .fold-tool-summary span,:root[data-surface=light] .candidate-preview-card>p,:root[data-surface=light] .ai-prompt-preview span,:root[data-surface=light] .ai-inline-generate span,:root[data-surface=light] .ai-candidate-list span,:root[data-surface=light] .case-card p,:root[data-surface=light] .case-select span,:root[data-surface=light] .client-row-summary,:root[data-surface=light] .client-row-title small,:root[data-surface=light] .client-tag-line,:root[data-surface=light] .report-section p,:root[data-surface=light] .report-section li,:root[data-surface=light] .report-block p,:root[data-surface=light] .report-list-block ul,:root[data-surface=light] .report-title p,:root[data-surface=light] .report-brand-row span,:root[data-surface=light] .report-image header,:root[data-surface=light] .case-slot-label,:root[data-surface=light] .photo-placeholder span{color:var(--muted)}:root[data-surface=light] .badge,:root[data-surface=light] .badge.green,:root[data-surface=light] .server-status,:root[data-surface=light] .topbar-status-card small{color:#166044;background:#1660441f;border-color:#16604433}:root[data-surface=light] .candidate-delete-button,:root[data-surface=light] .canvas-change-photo-button,:root[data-surface=light] .report-drag-hint,:root[data-surface=light] .client-history-image strong,:root[data-surface=light] .case-image-gallery span,:root[data-surface=light] .case-slot-label{color:var(--ink);background:#ffffffc7;border-color:#2a242c1f;box-shadow:0 8px 18px #4a3a481a}:root[data-surface=light] .candidate-delete-button:hover{background:rgba(var(--theme-accent-rgb), .92);color:#fff}:root[data-surface=light] .field input::placeholder,:root[data-surface=light] .field textarea::placeholder,:root[data-surface=light] .search-box input::placeholder,:root[data-surface=light] .case-form input::placeholder,:root[data-surface=light] .case-form textarea::placeholder,:root[data-surface=light] .doctor-add-row input::placeholder,:root[data-surface=light] .ai-custom-instructions textarea::placeholder{color:#24232a61}:root[data-surface=light] .report-sheet{background:#fffffff5}:root[data-theme=pearl] .panel,:root[data-theme=pearl] .panel-header,:root[data-theme=pearl] .topbar,:root[data-theme=pearl] .sidebar,:root[data-theme=pearl] .topbar-status-card,:root[data-theme=pearl] .selected-client-card,:root[data-theme=pearl] .fold-section,:root[data-theme=pearl] .client-entry-panel,:root[data-theme=pearl] .client-list-panel,:root[data-theme=pearl] .client-editor-panel,:root[data-theme=pearl] .report-sheet,:root[data-theme=pearl] .photo-album-dialog{background:#ffffffe6;border-color:#28525417;box-shadow:0 16px 38px #4168681a}:root[data-theme=pearl] .panel-header{background:#ffffff9e}:root[data-theme=pearl] .btn,:root[data-theme=pearl] .icon-add-button,:root[data-theme=pearl] .nav button.active,:root[data-theme=pearl] .client-mode-button.active{color:#fff;background:#0b756f;border-color:#075f5a3d;box-shadow:0 14px 28px #0b756f3d}:root[data-theme=pearl] .btn:hover{filter:brightness(1.02)}:root[data-theme=pearl] .btn.secondary,:root[data-theme=pearl] .mini-action,:root[data-theme=pearl] .doctor-delete,:root[data-theme=pearl] .candidate-apply-button,:root[data-theme=pearl] .tool-grid button,:root[data-theme=pearl] .annotation-grid button,:root[data-theme=pearl] .theme-choice-row button{color:var(--ink);background:#ffffffdb;border-color:#2852541a;box-shadow:0 10px 22px #41686814}:root[data-theme=pearl] .theme-choice-row button.active,:root[data-theme=pearl] .shade-tooth-strip button.active,:root[data-theme=pearl] .compact-shade-selector .shade-tooth-strip button.active,:root[data-theme=pearl] .client-row-wrap.active,:root[data-theme=pearl] .client-row-button:hover,:root[data-theme=pearl] .client-row-button.active,:root[data-theme=pearl] .case-card.active,:root[data-theme=pearl] .candidate-preview-card.active,:root[data-theme=pearl] .doctor-list article.active,:root[data-theme=pearl] .ceramic-title-grid button.active,:root[data-theme=pearl] .tool-grid button.active,:root[data-theme=pearl] .candidate-apply-button.active{color:var(--blue-strong);border-color:#1faea7d1;box-shadow:0 0 0 2px #1faea71a,0 12px 26px #41686814}:root[data-theme=pearl] .client-entry-action{background:#ffffffe0;border-color:#1faea72e}:root[data-theme=pearl] .report-sheet{background:#fffffff5}:root[data-theme=apple] .panel,:root[data-theme=apple] .panel-header,:root[data-theme=apple] .fold-section,:root[data-theme=apple] .client-entry-panel,:root[data-theme=apple] .client-list-panel,:root[data-theme=apple] .client-editor-panel,:root[data-theme=apple] .selected-client-card,:root[data-theme=apple] .report-sheet{border-radius:18px}:root[data-theme=apple] .btn,:root[data-theme=apple] .icon-add-button,:root[data-theme=apple] .nav button.active{border-radius:12px}:root[data-theme=apple] .theme-choice-row button,:root[data-theme=apple] .shade-tooth-strip button,:root[data-theme=apple] .compact-shade-selector .shade-tooth-strip button{background:#fffffff5}.topbar .topbar-status-card{background:radial-gradient(circle at 10% 0,#ffffff29,#0000 34%),linear-gradient(135deg,#ffffff1c,#ffffff09);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 14px;min-width:260px;min-height:56px;padding:10px 12px 10px 16px;display:grid}.topbar-account-copy{gap:2px;min-width:0;display:grid}.topbar .topbar-status-card .topbar-account-copy span,.topbar .topbar-status-card>span{max-width:100%;color:var(--muted);font-size:12px;line-height:1.2}.topbar .topbar-status-card .topbar-account-copy strong{max-width:220px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.25;overflow:hidden}.topbar .topbar-status-card>small{border:1px solid rgba(var(--theme-accent-rgb), .2);background:rgba(var(--theme-accent-rgb), .1);color:var(--blue-strong);white-space:nowrap;border-radius:999px;justify-self:end;padding:5px 9px;font-size:12px;font-weight:800;line-height:1}.topbar .topbar-status-card>button{justify-self:end}:root[data-theme=pearl] .topbar .topbar-status-card{background:radial-gradient(circle at 15% 0,#1faea72e,#0000 36%),linear-gradient(135deg,#fffffff5,#edf9f8db);border-color:#1faea72e;box-shadow:0 16px 34px #4168681f}:root[data-theme=apple] .topbar .topbar-status-card{background:radial-gradient(circle at 15% 0,#007aff21,#0000 34%),linear-gradient(135deg,#fffffff5,#f6f8fbe6);border-color:#007aff24;box-shadow:0 16px 34px #4956651c}:root[data-surface=light] .topbar .topbar-status-card .topbar-account-copy span,:root[data-surface=light] .topbar .topbar-status-card>span{color:#293139b8}:root[data-surface=light] .topbar .topbar-status-card>small{background:rgba(var(--theme-accent-rgb), .1);border-color:rgba(var(--theme-accent-rgb), .22);color:var(--blue-strong)}:root[data-theme=pearl] .topbar .topbar-status-card>small{color:#075f5a;background:#1faea71f;border-color:#1faea742}:root[data-theme=apple] .topbar .topbar-status-card>small{color:#005ecb;background:#007aff1a;border-color:#007aff2e}@media (width<=1180px){.theme-choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.theme-choice-row,.client-mode-switch,.client-row-menu{grid-template-columns:1fr}.client-mode-button{min-height:78px}.client-row-title{flex-direction:column;align-items:flex-start;gap:4px}.client-list-panel .compact-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.client-photo-cta{justify-content:stretch}.client-photo-cta .btn{width:100%}}.topbar .topbar-status-card{justify-content:center;min-width:120px;min-height:48px;padding:8px 16px;display:inline-flex}.topbar-doctor-only{max-width:180px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:1.2;overflow:hidden}:root[data-surface=light] .topbar-doctor-only{color:#18222b}.auth-panel-simple label{color:var(--muted)}.auth-panel-simple input{color:var(--ink);background:#1f1f27f5;border-color:#ffffff24}.auth-panel-simple input::placeholder{color:#f7f0ec75}:root[data-surface=light] .auth-panel-simple{background:radial-gradient(circle at 18% 0%, rgba(var(--theme-accent-rgb), .12), transparent 36%), #fffffff0}:root[data-surface=light] .auth-panel-simple input{color:var(--ink);background:#fffffff5;border-color:#2520271f}:root[data-surface=light] .auth-panel-simple input::placeholder{color:#29313970}@media (width<=1180px) and (width>=761px){.app-shell{grid-template-columns:172px minmax(0,1fr)}.sidebar{padding:18px 12px}.brand{grid-template-columns:58px minmax(0,1fr)}.brand-text-button strong,.brand-text-button span,.brand-doctor-under-logo{display:block}.nav button{min-height:58px}.nav button span:last-child{display:block}}@media (width<=760px){.topbar{gap:12px}.topbar .topbar-status-card{align-self:flex-end;width:fit-content;min-width:0;max-width:100%}.topbar-doctor-only{max-width:calc(100vw - 72px)}.auth-panel-simple{width:min(100%,360px);padding:24px 18px 20px}.auth-code-row,.auth-tabs-three{grid-template-columns:1fr}.auth-code-row .btn{width:100%}.photo-canvas-header{flex-direction:column;align-items:stretch}.photo-canvas-header .canvas-header-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;display:grid}.photo-canvas-header .canvas-header-actions .badge{justify-content:center}.photo-canvas-header .btn,.photo-canvas-header .badge,.photo-placeholder-actions .btn,.canvas-floating-actions button,.compare-primary-actions .btn,.candidate-apply-button{white-space:normal;width:100%;min-width:0}.photo-placeholder{aspect-ratio:auto;width:min(100%,680px);min-height:360px;padding:18px}.photo-placeholder-actions{grid-template-columns:1fr;width:100%;display:grid}.canvas-floating-actions{grid-template-columns:1fr;display:grid;bottom:10px;left:10px;right:10px}.compare-primary-actions,.photo-album-upload-row,.photo-album-actions{grid-template-columns:1fr;display:grid}.photo-album-grid{grid-template-columns:1fr}.candidate-preview-card{min-width:0}.meiya-plan-grid,.meiya-bean-summary-card{grid-template-columns:1fr}}.app-shell{grid-template-columns:92px minmax(0,1fr)}.sidebar{align-items:center;padding:22px 12px}.brand{justify-content:center;width:100%;padding:4px 0 18px;display:flex}.brand-logo-button,.brand-logo-button.has-logo,.brand-mark{width:56px;height:56px;min-height:56px}.brand-logo-button.has-logo img{height:56px}.nav{width:100%}.nav button{min-height:66px;padding:8px 4px}.nav button span:last-child{color:inherit;white-space:nowrap;font-size:14px;font-weight:800;display:block}.sidebar-note{display:none}.app-version{color:#f7f0ec6b;font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;align-self:flex-start;margin-top:4px;font-size:11px;line-height:1}.topbar-meta{justify-content:flex-end;align-items:flex-start;gap:10px;min-width:0;margin-left:auto;display:flex}:root[data-surface=light] .app-version{color:#1f2b3666}@media (width<=760px){.topbar{position:relative}.app-version{margin:0;position:absolute;top:10px;right:12px}}.topbar .topbar-status-card{background:radial-gradient(circle at 12% 0,#ffffff24,#0000 36%),linear-gradient(135deg,#ffffff1a,#ffffff09);border-radius:999px;justify-content:flex-end;align-items:center;gap:12px;width:fit-content;min-width:0;max-width:min(56vw,520px);min-height:46px;padding:8px 10px 8px 14px;display:inline-flex}.topbar .topbar-status-card>.topbar-account-copy{min-width:0;max-width:min(38vw,360px);min-height:0;color:inherit;text-align:right;box-shadow:none;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;display:grid}.topbar .topbar-status-card .topbar-account-copy strong{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;line-height:1.18;overflow:hidden}.topbar .topbar-status-card .topbar-account-copy span{color:#f7f0eca8;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:650;line-height:1.2;overflow:hidden}.topbar-doctor-only{color:#8ff1c0;text-overflow:ellipsis;white-space:nowrap;background:#6be2a51a;border:1px solid #6be2a547;border-radius:999px;flex:none;align-items:center;width:fit-content;max-width:128px;min-height:30px;padding:0 10px;font-size:14px;font-weight:900;line-height:1;display:inline-flex;overflow:hidden}:root[data-surface=light] .topbar .topbar-status-card .topbar-account-copy strong{color:#18222b}:root[data-surface=light] .topbar .topbar-status-card .topbar-account-copy span{color:#293139ad}:root[data-surface=light] .topbar-doctor-only{color:#075f5a;background:#1faea71c;border-color:#1faea747}@media (width<=1180px) and (width>=761px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding:18px 12px}.brand{justify-content:center;display:flex}.nav button{min-height:58px}.nav button span:last-child{font-size:13px;display:block}.topbar .topbar-status-card{max-width:min(58vw,500px)}}@media (width<=760px){.app-shell{display:block}.topbar .topbar-status-card{border-radius:16px;justify-content:space-between;align-self:stretch;width:100%;max-width:100%}.topbar-account-copy{text-align:left;max-width:calc(100vw - 128px)}.brand{display:none}.topbar-doctor-only{max-width:92px}}.topbar .topbar-status-card .topbar-identity-block{justify-items:end;gap:6px;min-width:0;display:grid}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy{text-align:right;justify-content:flex-end;align-items:baseline;gap:8px;max-width:min(42vw,440px);display:inline-flex}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy strong,.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy span{flex:0 auto;min-width:0}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy span:before{content:"/";color:#f7f0ec61;margin-right:8px}.topbar .topbar-status-card .topbar-identity-block>.topbar-doctor-only{text-align:center;justify-content:center;justify-self:end;min-width:0;min-height:28px;padding:0 12px}:root[data-surface=light] .topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy span:before{color:#29313952}@media (width<=760px){.topbar .topbar-status-card .topbar-identity-block{justify-items:start;width:100%}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy{text-align:left;justify-content:flex-start;max-width:100%}.topbar .topbar-status-card .topbar-identity-block>.topbar-doctor-only{justify-self:start}}.topbar .topbar-status-card{background:radial-gradient(circle at 0 0,#ff3b5c29,#0000 38%),linear-gradient(135deg,#262630eb,#16161eeb);border-color:#ffffff1f;max-width:min(58vw,560px);min-height:44px;padding:7px 8px 7px 14px;box-shadow:0 16px 36px #0000002e,inset 0 1px #ffffff14}.topbar .topbar-status-card .topbar-identity-block{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy{text-align:right;border-right:1px solid #ffffff1f;justify-content:flex-end;align-items:center;gap:10px;min-width:0;max-width:min(42vw,390px);min-height:34px;padding:0 12px 0 0;display:flex}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy strong,.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy strong{color:#fff8f5;flex:0 auto;justify-content:center;align-items:center;min-height:28px;font-size:17px;line-height:1.05;display:inline-flex}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy span{color:#fff5f2ad;flex:0 auto;align-self:flex-end;padding-bottom:3px;font-size:12px;line-height:1.05}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy span:before{content:none}.topbar .topbar-status-card .topbar-identity-block>.topbar-doctor-only{color:#a4f7cd;background:#70e7af1f;border:1px solid #70e7af47;border-radius:999px;justify-content:center;align-items:center;width:auto;min-width:0;max-width:108px;min-height:30px;padding:0 12px;font-size:13px;line-height:1;display:inline-flex}:root[data-surface=light] .topbar .topbar-status-card{background:radial-gradient(circle at 0% 0%, rgba(var(--theme-accent-rgb), .13), transparent 38%), linear-gradient(135deg, #fffffff5, #f7fafcf5);border-color:#1d445e1a;box-shadow:0 14px 32px #1c37491f,inset 0 1px #ffffffe6}:root[data-surface=light] .topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy{border-right-color:#1e303e1f}:root[data-surface=light] .topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy strong{color:#17212b}:root[data-surface=light] .topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy span{color:#1f2b369e}:root[data-surface=light] .topbar .topbar-status-card .topbar-identity-block>.topbar-doctor-only{color:#075f5a;background:#14a0891a;border-color:#14a08942}.guest-sync-notice.review-demo-notice{border:1px solid rgba(var(--theme-accent-rgb), .14);background:var(--raised-fill);width:auto;max-width:none;min-height:44px;color:var(--ink);box-shadow:var(--shadow-raised);border-radius:10px;justify-content:space-between;align-self:start;align-items:center;gap:14px;margin:12px 28px 0;padding:10px 12px 10px 14px;font-size:13px;line-height:1.45;display:flex}.guest-sync-notice.review-demo-notice button{background:var(--primary-fill);min-height:30px;color:var(--primary-ink,#fff);border-radius:8px;flex:none;padding:0 12px;font-size:13px}@media (width<=760px){.topbar .topbar-status-card{border-radius:999px;align-self:flex-end;width:fit-content;max-width:100%}.topbar .topbar-status-card .topbar-identity-block{justify-content:flex-end}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy{text-align:right;justify-content:flex-end;max-width:calc(100vw - 160px)}.guest-sync-notice.review-demo-notice{border-radius:10px;width:auto;margin:10px 14px 0}}@media (width<=760px) and (orientation:portrait){html,body,#root{min-width:0;min-height:100%;overflow-x:hidden}body{background:radial-gradient(circle at 50% -12%, rgba(var(--theme-accent-rgb), .16), transparent 34%), var(--page)}.app-shell{min-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) calc(70px + env(safe-area-inset-bottom)) env(safe-area-inset-left);display:block}.main{width:100%;min-height:100svh;padding-bottom:0;display:block}.topbar{gap:10px;padding:12px;display:grid}.topbar h1{font-size:20px;line-height:1.25}.topbar p{margin-top:2px;font-size:12px;line-height:1.45}.topbar .topbar-status-card{border-radius:14px;justify-content:space-between;align-self:stretch;width:100%;max-width:100%;min-height:42px;padding:7px 8px 7px 11px}.topbar .topbar-status-card .topbar-identity-block{justify-content:space-between;gap:8px;width:100%;min-width:0}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy{text-align:left;justify-content:flex-start;gap:7px;max-width:calc(100vw - 118px);min-height:30px;padding-right:8px}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy strong{font-size:15px}.topbar .topbar-status-card .topbar-identity-block>.topbar-account-copy span{align-self:flex-end;font-size:11px}.topbar .topbar-status-card .topbar-identity-block>.topbar-doctor-only{max-width:76px;min-height:28px;padding:0 8px;font-size:12px}.content{padding:12px 12px 0}.sidebar{padding:6px max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.nav button{border-radius:12px;min-height:50px;padding:5px 2px}.nav-icon{border-radius:8px;width:27px;height:27px}.nav button span:last-child{font-size:11px;line-height:1.1;display:block}.guest-sync-notice.review-demo-notice,.guest-sync-notice,.local-sync-choice,.storage-warning{border-radius:10px;margin:10px 12px 0;padding:10px;font-size:12px}.guest-sync-notice.review-demo-notice{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.guest-sync-notice.review-demo-notice button{min-height:30px;padding:0 10px;font-size:12px}.auth-loading,.auth-page{min-height:100svh;padding:max(14px, env(safe-area-inset-top)) 12px calc(22px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;place-items:start center;overflow-y:auto}.auth-panel-simple{border-radius:16px;gap:12px;width:min(100%,360px);padding:18px 14px 16px}.auth-compact-title{gap:3px;padding-right:32px}.auth-compact-title strong{font-size:18px}.auth-compact-title span,.auth-note,.auth-error,.auth-panel label{font-size:12px;line-height:1.45}.auth-tabs{border-radius:10px;gap:4px;padding:3px}.auth-tabs button{min-height:34px;font-size:13px}.auth-panel input{border-radius:9px;min-height:39px;padding:7px 10px;font-size:14px}.auth-code-row{grid-template-columns:minmax(0,1fr) 108px;gap:7px}.auth-code-row .btn{width:auto;min-height:39px;padding:0 8px;font-size:12px}.auth-panel .auth-agreement-check{border-radius:9px;padding:8px;font-size:11px;line-height:1.55}.auth-submit-button{min-height:40px;font-size:14px}.panel{border-radius:14px}.panel-header{gap:10px;padding:12px}.panel-header h2{font-size:17px}.panel-header-actions,.actions,.form-actions,.camera-actions,.photo-canvas-header .canvas-header-actions{gap:6px}.btn,.icon-btn,.mini-action,.filter-pill,.segmented button,.tool-grid button,.guide-list button,.candidate-apply-button{border-radius:9px;min-height:36px;padding-inline:9px;font-size:12px}.canvas-area{border-radius:12px;min-height:300px}.canvas-floating-actions{border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;bottom:8px;left:8px;right:8px}.canvas-floating-actions button,.canvas-save-album-button,.canvas-generate-preview-button{white-space:normal;border-radius:10px;min-height:34px;padding:0 7px;font-size:11px}.photo-placeholder{border-radius:12px;min-height:260px;padding:14px}.preview-split,.case-image-pair,.report-photo-row{gap:10px}.tooth-chart{gap:7px;padding:10px;overflow-x:auto}.tooth-row{grid-template-columns:repeat(12,minmax(26px,1fr));gap:4px;min-width:0}.tooth-row button{border-radius:7px;min-height:29px;font-size:11px}.shade-tooth-strip,.compact-shade-selector .shade-tooth-strip{grid-template-columns:repeat(3,minmax(72px,1fr));gap:7px;padding-bottom:2px;overflow-x:auto}.shade-tooth-strip button,.compact-shade-selector .shade-tooth-strip button{border-radius:12px;min-height:66px;padding:7px 4px}.shade-tooth-strip i,.compact-shade-selector .shade-tooth-strip i{width:30px;height:39px}.shade-tooth-strip span,.compact-shade-selector .shade-tooth-strip span{font-size:10px}.profile-dialog-overlay,.agreement-overlay,.change-photo-overlay{padding:10px}.profile-large-dialog,.profile-dialog,.agreement-dialog,.change-photo-dialog,.camera-panel{border-radius:16px;width:min(100%,420px);max-height:calc(100svh - 20px)}.profile-dialog-body{gap:11px;padding-bottom:2px}.profile-dialog-body input,.profile-dialog-body textarea,.field input,.field select,.field textarea,.case-form input,.case-form select,.case-form textarea{border-radius:9px;min-height:40px;padding:8px 10px;font-size:14px}}:root{background:#10131d}*{box-sizing:border-box}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.web-loading{color:#dce6ee;background:#10131d;place-items:center;min-height:100vh;font:600 16px -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;display:grid}.web-auth-page,.web-app-shell{color:#ecf0f4;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.web-auth-page{background:radial-gradient(circle at 11% 10%,#2bc3bf33,#0000 30%),radial-gradient(circle at 88% 87%,#ff486f24,#0000 30%),#10131d;grid-template-columns:minmax(340px,.95fr) minmax(390px,.68fr);align-items:center;gap:clamp(44px,9vw,150px);padding:clamp(30px,8vw,112px);display:grid}.web-logo{color:#10131d;background:linear-gradient(145deg,#fff7ec,#f5b6bb);border:1px solid #fff3;border-radius:20px;place-items:center;width:64px;height:64px;font-size:33px;font-weight:950;display:grid;box-shadow:0 16px 42px #f08e992e}.web-logo.small{width:40px;height:40px;box-shadow:none;border-radius:13px;font-size:21px}.web-auth-brand{max-width:600px}.web-auth-brand>p,.web-design-heading p,.web-candidate-section p,.web-files-hero p,.web-section-head p,.web-requirement-modal>p{color:#f1a6ad;letter-spacing:.19em;margin:28px 0 10px;font-size:11px;font-weight:850}.web-auth-brand h1{letter-spacing:-.065em;margin:0;font-size:clamp(40px,4.7vw,67px);line-height:1.1}.web-auth-brand>span{color:#99a6b5;max-width:470px;margin-top:22px;font-size:17px;line-height:1.75;display:block}.web-auth-points{color:#d7e1e9;gap:14px;margin-top:40px;font-weight:650;display:grid}.web-auth-points span{align-items:center;gap:10px;display:flex}.web-auth-points svg{color:#78d5cf}.web-auth-card{background:#1c212ee6;border:1px solid #303746;border-radius:26px;max-width:470px;padding:30px;box-shadow:0 26px 70px #0000003d}.web-auth-tabs{background:#131822;border-radius:13px;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:27px;padding:5px;display:grid}.web-auth-tabs button,.web-section-head button{color:#8490a0;cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:760}.web-auth-tabs button{min-height:43px}.web-auth-tabs button.active{color:#fff;background:#343d4d}.web-auth-card label,.web-field{color:#cbd4df;gap:8px;margin:17px 0;font-size:13px;font-weight:720;display:grid}.web-auth-card input,.web-field input,.web-field textarea{color:#f0f4f7;background:#161c27;border:1px solid #3b4555;border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 14px}.web-field textarea{resize:vertical;min-height:94px;padding:13px 14px}.web-auth-card input:focus,.web-field input:focus,.web-field textarea:focus{border-color:#eb737f;box-shadow:0 0 0 3px #eb737f24}.web-code-row{grid-template-columns:1fr 108px;gap:8px;display:grid}.web-code-row button{color:#ffbdc3;cursor:pointer;background:#402a35;border:0;border-radius:12px;font-weight:800}.web-agreement{align-items:flex-start;gap:9px;line-height:1.6;color:#8995a4!important;margin:20px 0!important;font-size:12px!important;font-weight:500!important;display:flex!important}.web-agreement input,.web-ai-consent input{accent-color:#fa6475;width:16px;min-height:auto;margin-top:3px;padding:0}.web-agreement a{color:#f3aab1;text-decoration:none}.web-message{color:#ffb2ad;margin:13px 0;font-size:13px;line-height:1.5}.web-primary-button,.web-generate-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff5b73,#df3657);border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:52px;font-weight:850;display:inline-flex;box-shadow:0 14px 24px #d52d4e38}.web-primary-button{width:100%}.web-primary-button:disabled,.web-generate-button:disabled{opacity:.5;cursor:not-allowed}.web-primary-button.small{width:auto;min-height:42px;padding:0 16px}.web-secondary-button{color:#dbe2eb;cursor:pointer;background:#252b38;border:1px solid #454e5e;border-radius:12px;min-height:42px;padding:0 16px;font-weight:750}.web-app-shell{background:radial-gradient(circle at 95% 5%,#b836542e,#0000 23%),radial-gradient(circle at 10% 42%,#2b919d21,#0000 28%),#10131d;padding:0 clamp(16px,5vw,78px) 68px}.web-topbar{border-bottom:1px solid #242b37;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;max-width:1440px;min-height:84px;margin:auto;display:grid}.web-brand,.web-account{align-items:center;gap:11px;display:flex}.web-brand strong,.web-brand span,.web-account strong,.web-account span{display:block}.web-brand strong{letter-spacing:.1em;font-size:14px}.web-brand span,.web-account span{color:#7f8c9d;margin-top:3px;font-size:11px}.web-account{text-align:right;justify-content:flex-end}.web-account span{justify-content:flex-end;align-items:center;gap:4px;display:flex}.web-account button{color:#aeb9c6;cursor:pointer;background:#1b202b;border:1px solid #353d4a;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.web-nav{background:#181d27;border:1px solid #303746;border-radius:13px;gap:4px;padding:5px;display:flex}.web-nav button{color:#93a0b0;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;min-height:35px;padding:0 13px;font-size:12px;font-weight:760;display:flex;position:relative}.web-nav button.active{color:#fff;background:#343c4b}.web-nav b{color:#fff;background:#e94d67;border-radius:8px;place-items:center;min-width:16px;height:16px;font-size:10px;display:grid}.web-design-page,.web-files-page{max-width:1440px;margin:auto}.web-design-heading{justify-content:space-between;align-items:end;gap:24px;padding:46px 0 26px;display:flex}.web-design-heading p,.web-files-hero p,.web-candidate-section p,.web-section-head p{margin:0 0 9px}.web-design-heading h1,.web-files-hero h1{color:#f4f6f8;letter-spacing:-.055em;margin:0;font-size:clamp(31px,3.5vw,49px)}.web-design-heading>div>span{color:#8794a5;margin-top:11px;font-size:14px;display:block}.web-bean-pill{color:#aeb8c5;background:#1c212dd9;border:1px solid #343e4d;border-radius:14px;align-items:center;gap:8px;padding:13px 15px;font-size:12px;display:flex}.web-bean-pill svg{color:#f7bd76}.web-bean-pill strong{color:#fff2d8;margin-left:4px}.web-design-layout{grid-template-columns:minmax(250px,.67fr) minmax(420px,1.45fr) minmax(252px,.67fr);gap:16px;display:grid}.web-control-panel,.web-canvas-panel,.web-upload-card,.web-file-guide,.web-orders-section{background:#191e29e6;border:1px solid #2b3240;border-radius:20px;box-shadow:0 18px 50px #00000024}.web-control-panel{padding:20px}.web-panel-heading{align-items:flex-start;gap:10px;display:flex}.web-panel-heading>span,.web-file-guide>span{color:#ffdce0;background:#4a2935;border-radius:8px;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:900;display:grid}.web-panel-heading h2,.web-canvas-top h2,.web-file-guide h2{color:#eff3f6;margin:0;font-size:16px}.web-panel-heading p{color:#7f8b9a;margin:4px 0 0;font-size:11px;line-height:1.45}.web-panel-heading.compact{margin-top:25px}.web-photo-picker{color:#97a6b7;text-align:center;cursor:pointer;background:#151a24;border:1px dashed #59677a;border-radius:15px;place-content:center;justify-items:center;gap:7px;min-height:170px;margin:18px 0 20px;padding:14px;display:grid;position:relative;overflow:hidden}.web-photo-picker input,.web-file-drop input{display:none}.web-photo-picker svg{color:#e97887}.web-photo-picker strong{color:#dce5ec;font-size:13px}.web-photo-picker span{color:#8493a4;font-size:11px}.web-photo-picker img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.web-field{color:#aeb9c8;margin:14px 0}.web-field em{color:#687587;font-style:normal;font-weight:500}.web-field input,.web-field textarea{background:#151a24;border-color:#394354;border-radius:10px;min-height:43px}.web-preset-row{flex-wrap:wrap;gap:6px;margin:16px 0 10px;display:flex}.web-preset-row button{color:#aab7c7;cursor:pointer;background:#171d27;border:1px solid #3a4453;border-radius:8px;min-height:28px;padding:0 8px;font-size:11px}.web-preset-row button.active{color:#ffdfe3;background:#472633;border-color:#e95a70}.web-tooth-chart{gap:5px;display:grid}.web-tooth-chart>div{grid-template-columns:repeat(12,1fr);gap:3px;display:grid}.web-tooth-chart button{color:#abb5c2;cursor:pointer;background:#181e29;border:1px solid #343d4d;border-radius:6px;min-width:0;min-height:27px;padding:0;font-size:10px;font-weight:700}.web-tooth-chart button.active{color:#fff1f2;background:#632837;border-color:#fa5d74;box-shadow:inset 0 0 0 1px #ff85963d}.web-canvas-panel{flex-direction:column;min-height:632px;padding:20px;display:flex}.web-canvas-top{justify-content:space-between;align-items:start;gap:14px;margin-bottom:17px;display:flex}.web-canvas-top span{color:#f3a0aa;letter-spacing:.06em;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.web-text-button{color:#f5abb2;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;min-height:32px;font-size:12px;display:inline-flex}.web-preview-empty,.web-comparison{background:#0d121b;border:1px solid #303a49;border-radius:16px;flex:1;min-height:380px;position:relative;overflow:hidden}.web-preview-empty{place-items:center;display:grid}.web-preview-empty>div{color:#92a0ad;text-align:center;justify-items:center;gap:10px;display:grid}.web-preview-empty svg{color:#e67786}.web-preview-empty strong{color:#d7dfe7;font-size:14px}.web-preview-empty span{color:#768394;max-width:270px;font-size:12px;line-height:1.6}.web-preview-empty>img{object-fit:contain;width:100%;height:100%}.web-comparison>img,.web-comparison-after img{object-fit:contain;background:#0d121b;width:100%;height:100%;display:block}.web-comparison-after{border-right:2px solid #fff;height:100%;position:absolute;inset:0 auto 0 0;overflow:hidden}.web-comparison-after img{width:max(100%,600px);max-width:none}.web-comparison input{opacity:0;cursor:ew-resize;width:100%;height:100%;position:absolute;inset:0}.web-compare-line{pointer-events:none;background:#fff;width:2px;position:absolute;top:0;bottom:0}.web-compare-line span{color:#fff;background:#e94b65;border:3px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.web-generation-note{color:#aab7c5;background:#171d27;border-radius:11px;gap:8px;margin-top:14px;padding:11px 12px;font-size:12px;line-height:1.55;display:flex}.web-generation-note svg{color:#7ad8d0;flex:none}.web-result-actions{justify-content:flex-end;gap:9px;margin-top:14px;display:flex}.web-style-panel{overflow:hidden}.web-shapes{gap:5px;margin-top:16px;display:grid}.web-shapes button{color:#8d9aaa;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;grid-template-columns:105px 1fr;align-items:center;gap:8px;min-height:39px;padding:8px 9px;display:grid}.web-shapes button:hover{background:#202735}.web-shapes button.active{color:#fff3f4;background:#482633;border-color:#e54e68}.web-shapes strong{font-size:12px}.web-shapes span{color:#798596;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.web-shade-title{color:#94a1b0;justify-content:space-between;margin:19px 0 10px;font-size:12px;display:flex}.web-shade-title b{color:#f6dfaf}.web-shades{grid-template-columns:repeat(9,1fr);gap:4px;display:grid}.web-shades button{color:#8c98a7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-items:center;gap:4px;padding:5px 0;font-size:8px;display:grid}.web-shades i{border:1px solid #0000001f;border-radius:45% 45% 35% 35%;width:17px;height:25px;display:block}.web-shades button.active{background:#442630;border-color:#ef6678}.web-generate-button{width:100%;margin-top:22px}.web-candidate-section{background:#191e29e6;border:1px solid #2b3240;border-radius:19px;margin-top:16px;padding:21px}.web-candidate-section h2{margin:0;font-size:18px}.web-candidate-list{gap:10px;margin-top:15px;padding-bottom:3px;display:flex;overflow-x:auto}.web-candidate-list button{color:#d6dde5;cursor:pointer;text-align:left;background:#151a24;border:2px solid #0000;border-radius:12px;flex:0 0 150px;width:150px;padding:0;position:relative;overflow:hidden}.web-candidate-list button.active{border-color:#f06175}.web-candidate-list img{object-fit:cover;width:100%;height:96px;display:block}.web-candidate-list span{padding:8px 9px;font-size:11px;display:block}.web-candidate-list svg{color:#fff;position:absolute;bottom:7px;right:7px}.web-files-hero{background:radial-gradient(circle at 88% 30%,#f573872e,#0000 23%),linear-gradient(125deg,#242233,#161b27);border:1px solid #363142;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;padding:clamp(30px,5vw,55px);display:flex;overflow:hidden}.web-files-hero>div>span{color:#98a4b2;max-width:600px;margin-top:13px;line-height:1.7;display:block}.web-files-hero>svg{color:#ef8190;opacity:.8}.web-files-layout{grid-template-columns:minmax(0,.95fr) minmax(320px,.55fr);gap:16px;margin-top:16px;display:grid}.web-upload-card,.web-file-guide{padding:24px}.web-file-drop{color:#9aa8b8;text-align:center;cursor:pointer;background:#151a24;border:1px dashed #626d7e;border-radius:15px;place-content:center;justify-items:center;gap:8px;min-height:150px;margin:23px 0 19px;padding:18px;display:grid}.web-file-drop svg{color:#ee7f8e}.web-file-drop strong{color:#e1e7ed;font-size:13px}.web-file-drop span{font-size:11px}.web-file-guide{flex-direction:column;align-items:flex-start;display:flex}.web-file-guide h2{margin-top:20px;font-size:24px;line-height:1.25}.web-file-guide p{color:#909dad;line-height:1.8}.web-file-guide>div{color:#a8cfc9;background:#1d3033;border-radius:10px;align-items:center;gap:9px;margin-top:auto;padding:12px;font-size:12px;display:flex}.web-file-guide svg{color:#71d2c8}.web-orders-section{margin-top:16px;padding:25px}.web-section-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.web-section-head h2{margin:0;font-size:20px}.web-section-head button{background:#1c222e;border:1px solid #3c4655;min-height:37px;padding:0 13px}.web-empty{color:#8090a2;text-align:center;place-content:center;justify-items:center;gap:9px;min-height:205px;display:grid}.web-empty strong{color:#bec8d1}.web-empty span{font-size:12px}.web-order-list{gap:11px;display:grid}.web-order{border-top:1px solid #2d3543;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:22px;padding:20px 0;display:grid}.web-order-main h3{margin:9px 0 5px;font-size:16px}.web-order-main>p{color:#7e8b9a;margin:0;font-size:11px}.web-status{color:#9aa8b6;align-items:center;gap:6px;font-size:12px;font-weight:750;display:inline-flex}.web-status span{background:#6d7888;border-radius:50%;width:7px;height:7px}.web-status.processing{color:#f1be70}.web-status.processing span{background:#e9a441}.web-status.ready{color:#76d4c9}.web-status.ready span{background:#4acbbb}.web-file-line{color:#a9b5c2;align-items:center;gap:7px;margin-top:13px;font-size:12px;display:flex}.web-file-line small{color:#718093}.web-order-note{line-height:1.5;color:#8492a1!important;margin-top:10px!important}.web-order-result{background:#171d27;border-radius:13px;align-content:center;gap:9px;padding:14px;display:grid}.web-order-result strong{color:#75d0c5;align-items:center;gap:7px;font-size:12px;display:flex}.web-order-result>span{color:#8291a2;font-size:12px;line-height:1.55}.web-order-result button{color:#ffd8dc;cursor:pointer;background:#50303a;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:37px;padding:0 12px;font-size:12px;font-weight:750;display:flex}.web-modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05080db8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.web-requirement-modal{background:#202633;border:1px solid #414b5d;border-radius:22px;width:min(520px,100%);padding:30px;position:relative;box-shadow:0 28px 80px #0000006b}.web-requirement-modal>p{margin:0 0 10px}.web-requirement-modal h2{margin:0;font-size:27px}.web-requirement-modal>span{color:#9ba7b5;margin-top:10px;font-size:13px;line-height:1.65;display:block}.web-requirement-modal textarea{color:#edf1f5;resize:vertical;background:#151a24;border:1px solid #485367;border-radius:12px;outline:0;width:100%;min-height:118px;margin:20px 0 14px;padding:13px;line-height:1.6}.web-requirement-modal textarea:focus{border-color:#ef6a7c}.web-ai-consent{color:#aab6c4;align-items:flex-start;gap:9px;margin:0 0 18px;font-size:12px;line-height:1.55;display:flex}.web-modal-close{color:#aeb8c4;cursor:pointer;background:#2d3442;border:0;border-radius:9px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:14px;right:14px}@media (width<=1120px){.web-design-layout{grid-template-columns:minmax(240px,.78fr) minmax(0,1.42fr)}.web-style-panel{grid-column:1/-1}.web-shapes{grid-template-columns:repeat(2,1fr)}.web-canvas-panel{min-height:570px}}@media (width<=820px){.web-auth-page{grid-template-columns:1fr;padding:42px 22px}.web-auth-card{width:100%}.web-app-shell{padding:0 13px 45px}.web-topbar{grid-template-columns:1fr auto;padding:13px 0}.web-nav{grid-area:2/1/auto/-1;overflow-x:auto}.web-account>div{display:none}.web-design-heading{padding:28px 5px 18px;display:grid}.web-design-layout,.web-files-layout,.web-order{grid-template-columns:1fr}.web-canvas-panel{order:-1;min-height:530px}.web-style-panel{grid-column:auto}.web-shapes{grid-template-columns:1fr}.web-preview-empty,.web-comparison{min-height:335px}.web-files-hero{margin-top:20px}.web-files-hero>svg{display:none}.web-order-result{min-height:92px}.web-design-heading h1,.web-files-hero h1{font-size:32px}.web-bean-pill{width:max-content}.web-result-actions{justify-content:stretch}.web-result-actions button{flex:1}}.web-hidden-file{display:none}.web-photo-drop{cursor:pointer}.web-photo-drop>div button{color:#ffe0e4;cursor:pointer;background:#4d2935;border:1px solid #e8697b;border-radius:9px;min-height:34px;margin-top:7px;padding:0 12px;font-size:12px;font-weight:760}.web-report-page{max-width:1100px;margin:auto;padding-top:42px}.web-report-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.web-report-heading p{color:#f1a6ad;letter-spacing:.18em;margin:0 0 9px;font-size:11px;font-weight:850}.web-report-heading h1{letter-spacing:-.05em;margin:0;font-size:42px}.web-report-heading span{color:#8c99a9;margin-top:10px;font-size:13px;display:block}.web-report-card{color:#1d2630;background:#fafbfc;border:1px solid #3a4352;border-radius:20px;overflow:hidden;box-shadow:0 20px 50px #0003}.web-report-card header{color:#fff;background:linear-gradient(120deg,#222c3b,#3d2734);justify-content:space-between;align-items:start;padding:30px 34px;display:flex}.web-report-card header span{color:#f4bec4;letter-spacing:.08em;font-size:11px;font-weight:800}.web-report-card h2{margin:8px 0 0;font-size:26px}.web-report-date{color:#ccd4dc!important;letter-spacing:0!important;font-weight:500!important}.web-report-images{grid-template-columns:1fr 44px 1fr;align-items:center;gap:14px;padding:34px;display:grid}.web-report-images figure{background:#f0f3f5;border:1px solid #e5e8ec;border-radius:13px;margin:0;overflow:hidden}.web-report-images img{aspect-ratio:1.45;object-fit:contain;background:#111824;width:100%;display:block}.web-report-images figcaption{color:#596776;padding:10px 13px;font-size:12px;font-weight:800}.web-report-arrow{color:#e8566d;place-items:center;display:grid}.web-report-details{border-top:1px solid #e5e8ec;grid-template-columns:repeat(2,1fr);display:grid}.web-report-details>div{border-bottom:1px solid #e5e8ec;border-right:1px solid #e5e8ec;gap:5px;min-height:78px;padding:18px 34px;display:grid}.web-report-details span{color:#85909b;font-size:11px}.web-report-details strong{color:#2a3440;font-size:13px;line-height:1.5}.web-report-card footer{color:#63717e;background:#f4f6f8;gap:8px;padding:17px 34px;font-size:11px;line-height:1.6;display:flex}.web-report-card footer svg{color:#2d9a91;flex:none}.web-report-empty{color:#8895a5;text-align:center;background:#191e29;border:1px solid #2b3240;border-radius:20px;place-content:center;justify-items:center;gap:10px;min-height:420px;display:grid}.web-report-empty svg{color:#e06b7b}.web-report-empty h2{color:#dce3ea;margin:0}.web-report-empty p{margin:0 0 8px;font-size:13px}.web-cost-card{background:#2a2029;border:1px solid #693947;border-radius:13px;gap:10px;margin:22px 0;padding:17px;display:grid}.web-cost-card>div{color:#f8dadd;align-items:center;gap:9px;font-size:13px;font-weight:750;display:flex}.web-cost-card svg{color:#f5a3ad}.web-cost-card strong{color:#ffb6bd;font-size:23px}.web-cost-card small{color:#a9b2bd;font-size:12px}@media (width<=820px){.web-report-page{padding-top:25px}.web-report-heading{display:grid}.web-report-heading h1{font-size:31px}.web-report-images{grid-template-columns:1fr;padding:20px}.web-report-arrow{transform:rotate(90deg)}.web-report-details{grid-template-columns:1fr}.web-report-details>div{border-right:0;padding:16px 20px}.web-report-card header{padding:22px}.web-report-card footer{padding:15px 20px}}@media print{body{background:#fff!important}.web-topbar,.web-report-heading button{display:none!important}.web-app-shell{background:#fff;padding:0}.web-report-page{padding:0}.web-report-heading{color:#111;margin:0 0 12px}.web-report-heading h1{color:#111}.web-report-card{box-shadow:none}}
