:root{font-family:Pretendard,Noto Sans KR,Segoe UI,sans-serif;--theme-accent: #e86240;--theme-accent-strong: #d85331;--theme-accent-soft: #fff2ee;--theme-accent-border: #efb19f;--theme-bg: #f6f1ed;--theme-surface: #ffffff;--theme-surface-soft: #fff8f5;--theme-border: #e8d7d0;--theme-text: #111111;--theme-text-soft: #5f514b;--theme-on-accent: #ffffff;--ui-card-radius: 14px;--ui-radius-pill: 999px;--ui-shadow-1: 0 8px 18px rgba(15, 23, 42, .08);--ui-shadow-2: 0 16px 30px rgba(15, 23, 42, .12);--ui-focus-ring: 0 0 0 3px rgba(232, 98, 64, .22);--space-1: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 28px;--status-success-bg: #ecfdf5;--status-success-text: #047857;--status-warning-bg: #fff7ed;--status-warning-text: #c2410c;--status-danger-bg: #fef2f2;--status-danger-text: #b91c1c;background:var(--theme-bg);color:var(--theme-text)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(232,98,64,.45) rgba(232,98,64,.08)}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:#e8624014;border-radius:999px}*::-webkit-scrollbar-thumb{background:#e8624073;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#e862409e}body{margin:0;background:var(--theme-bg);color:var(--theme-text)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(232,98,64,.24),transparent 28%),linear-gradient(135deg,#e86240,#c94f30 44%,#f6f1ed 44%,#f6f1ed)}.login-panel{width:min(440px,100%);padding:28px;background:#fffffff7;border:1px solid var(--theme-border);box-shadow:0 24px 56px #7b3d2c2e}.login-brand{margin-bottom:18px}.login-brand h1{margin:6px 0 8px;font-size:32px;color:var(--theme-text)}.login-brand p{margin:0;color:var(--theme-text-soft);font-size:13px}.login-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-accent)}.login-form{display:grid;gap:8px}.login-form label{font-size:12px;font-weight:700;color:var(--theme-text)}.login-submit{margin-top:8px;background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent);padding:10px 12px}.login-secondary{margin-top:4px;background:transparent;border-color:var(--theme-border);color:var(--theme-text-soft);padding:10px 12px}.login-message{margin:6px 0 0;font-size:12px;color:var(--theme-text-soft)}.login-screen--otp{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 8% 7%,rgba(255,255,255,.11) 0 1px,transparent 1.5px) 0 0 / 18px 18px,linear-gradient(135deg,#de5834,#d34f2d 43%,#f7f2ee 43%,#f7f2ee)}.login-screen--otp:before,.login-screen--otp:after{content:"";position:absolute;z-index:-1;pointer-events:none}.login-screen--otp:before{width:min(52vw,660px);aspect-ratio:1;right:-18vw;bottom:-45%;border:1px solid rgba(232,98,64,.13);border-radius:50%;box-shadow:0 0 0 34px #e8624009,0 0 0 68px #e8624006}.login-screen--otp:after{width:72px;height:72px;left:9%;top:14%;border:1px solid rgba(255,255,255,.22);transform:rotate(45deg)}.otp-setup-panel{position:relative;width:min(460px,100%);padding:34px 36px 28px;overflow:hidden;border-color:#ffffffb8;box-shadow:0 28px 70px #67312242}.otp-setup-panel:after{content:"";position:absolute;top:-104px;right:-117px;width:264px;height:264px;background:linear-gradient(135deg,#ffffff0f,#e862400e);border:1px solid rgba(232,98,64,.08);transform:rotate(45deg);pointer-events:none}.otp-setup-panel>*{position:relative;z-index:1}.otp-setup-panel .login-brand{margin-bottom:25px}.otp-setup-panel .login-brand h1{margin:9px 0 10px;font-size:clamp(30px,5vw,36px);line-height:1.05;letter-spacing:-.055em}.otp-setup-panel .login-brand p{max-width:340px;font-size:13px;line-height:1.6}.otp-setup-panel .login-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.15em}.login-eyebrow-mark{width:7px;height:7px;border-radius:50%;background:var(--theme-accent);box-shadow:0 0 0 4px #e8624021}.otp-setup-panel .login-form{gap:0}.otp-setup-qr-section{display:grid;justify-items:start;gap:13px;padding:17px 18px 18px;border:1px solid #f1d9d1;border-radius:14px;background:linear-gradient(145deg,#fffaf8,#fff4f0)}.otp-setup-instruction{margin:0;color:#302622;font-size:14px;font-weight:650;line-height:1.62;letter-spacing:-.025em}.otp-qr-frame{display:grid;place-items:center;padding:9px;border:1px solid #ecd2c9;border-radius:10px;background:#fff;box-shadow:0 8px 18px #733e3014}.otp-qr-frame img{display:block;width:166px;height:166px;image-rendering:pixelated}.otp-setup-secret{display:grid;width:100%;gap:3px;color:#685b55;font:10px/1.45 Consolas,Courier New,monospace;overflow-wrap:anywhere}.otp-setup-secret span{color:#a76a59;font:700 10px/1.2 Pretendard,Noto Sans KR,sans-serif;letter-spacing:.04em;text-transform:uppercase}.otp-setup-confirm-section{display:grid;gap:8px;margin-top:20px}.otp-setup-confirm-section label{color:#3a2923}.otp-setup-confirm-section input{min-height:46px;padding:10px 14px;border:1px solid #e8cfc6;border-radius:9px;background:#fff;color:var(--theme-text);font-size:15px;font-weight:700;letter-spacing:.18em;text-align:center;transition:border-color .18s ease,box-shadow .18s ease}.otp-setup-confirm-section input::placeholder{color:#bca69e;font-size:13px;font-weight:500;letter-spacing:0}.otp-setup-confirm-section input:focus{border-color:var(--theme-accent);outline:0;box-shadow:var(--ui-focus-ring)}.otp-setup-panel .login-submit,.otp-setup-panel .login-secondary{min-height:44px;margin-top:4px;border-radius:9px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.otp-setup-panel .login-submit:not(:disabled){box-shadow:0 9px 16px #d84f2c33}.otp-setup-panel .login-submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 20px #d84f2c47}.otp-setup-panel .login-secondary{color:#68534b;border-color:#ead5ce;background:#ffffffa6}.otp-setup-panel .login-secondary:hover{background:#fff8f5;border-color:#dfb9ad}.otp-setup-help{margin:17px 0 0;padding-top:14px;border-top:1px solid #f1e1dc;color:#80655c;font-size:11px;line-height:1.55}@media (max-width: 520px){.login-screen--otp{padding:16px;background:linear-gradient(145deg,#db5633,#cd4d2d 31%,#f7f2ee 31%,#f7f2ee)}.otp-setup-panel{padding:27px 22px 23px}.otp-setup-qr-section{padding:15px}.otp-qr-frame img{width:150px;height:150px}}.app-shell{display:grid;grid-template-columns:178px 1fr;min-height:100vh;align-items:start}.app-shell.sidebar-collapsed{grid-template-columns:28px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#e86240,#cc5333);color:var(--theme-on-accent);padding:14px 10px;display:grid;grid-template-rows:auto auto 1fr auto;gap:4px;border-right:1px solid rgba(255,255,255,.18);overflow-y:auto}.sidebar-top{display:grid;gap:8px}.sidebar-toggle-btn{width:35px;min-height:26px;padding:4px;background:#ffffff24;border:1px solid rgba(255,255,255,.2);color:var(--theme-on-accent);border-radius:6px;justify-self:end}.sidebar-toggle-btn.is-collapsed{position:relative;background:#fff;color:#c94f30;border-color:#fff;box-shadow:0 6px 16px #0000001f}.sidebar-toggle-btn.is-expanded{position:relative;background:#c94f30;color:#fff;border-color:#c94f30;box-shadow:0 8px 16px #00000029}.sidebar-toggle-btn.is-expanded:after{content:"ON";position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff;color:#c94f30;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.sidebar-toggle-btn.is-expanded:hover{filter:brightness(1.02)}.sidebar-bottom{display:flex;gap:8px;justify-content:flex-end;align-items:center}.sidebar h2{margin:2px 0 8px 4px;font-size:30px;font-weight:700;letter-spacing:-1px}.sidebar-info-card{display:grid;gap:6px;min-height:0;margin-top:auto;padding:8px;background:#ffffffeb;border:1px solid rgba(255,255,255,.5);border-radius:8px;color:var(--theme-text);font-size:11px;line-height:1.35}.sidebar-info-date{font-weight:700;font-size:11px;color:var(--theme-text)}.sidebar-info-section{display:grid;gap:4px}.sidebar-stats-table{display:grid;gap:3px}.sidebar-stats-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:3px 8px;border:1px solid rgba(232,98,64,.16);border-radius:5px;background:#fff8f5e6}.sidebar-stats-label{color:var(--theme-text-soft);font-weight:600;white-space:nowrap}.sidebar-stats-value{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:5px;min-width:0;color:var(--theme-text);font-size:12px;font-weight:700;text-align:right}.sidebar-stats-sub{font-size:10px;font-weight:600;font-style:normal;color:var(--theme-text-soft);white-space:nowrap}.sidebar-bottom-user{flex:1 1 auto;font-size:12px;font-weight:700;color:#ffffffe6;text-align:left}.sidebar-menu{display:grid;align-content:start;gap:5px;min-height:0}.sidebar-menu-group{display:grid;gap:0}.sidebar.is-collapsed{padding:10px 4px;gap:15px;justify-items:center}.sidebar.is-collapsed .sidebar-top{width:100%;justify-items:center;gap:6px}.sidebar.is-collapsed .sidebar-info-card,.sidebar.is-collapsed .sidebar-menu{display:none}.sidebar.is-collapsed .sidebar-bottom{width:100%;justify-content:center}.sidebar.is-collapsed .sidebar-toggle-btn{width:20px;min-height:24px;padding:2px;border-radius:5px}.sidebar.is-collapsed h2{margin:0;font-size:12px;letter-spacing:0;writing-mode:vertical-rl;text-orientation:upright;line-height:1}.nav-btn{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;text-align:left;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:var(--theme-on-accent);padding:5px 10px;border-radius:6px;font-weight:600;font-size:14px;transition:.15s ease-in-out}.nav-btn-content{display:inline-flex;align-items:center;gap:8px;min-width:0}.nav-btn-content span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-btn-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px}.nav-btn-group-arrow{display:inline-flex;align-items:center;justify-content:center;line-height:1}.sidebar-submenu{display:grid;gap:5px;padding-left:10px}.sidebar-submenu.sidebar-submenu-collapsible{max-height:0;opacity:0;overflow:hidden;transform:translateY(-2px);margin-top:0;gap:0;padding-left:0;pointer-events:none;transition:max-height .24s ease,opacity .2s ease,transform .2s ease}.sidebar-submenu.sidebar-submenu-collapsible.is-open{max-height:360px;opacity:1;transform:translateY(0);margin-top:5px;gap:5px;padding-left:10px;pointer-events:auto}.nav-btn-sub{padding-left:14px;background:#ffffff0f}.management-panel{display:grid;gap:14px}.section-description{margin-top:4px;font-size:12px;color:var(--theme-text-soft)}.management-tab-row{justify-content:flex-start}.management-filter-box{padding:12px;border:1px solid var(--theme-border);border-radius:10px;background:#fff8f5bf}.management-filter-box.is-payment{padding:8px 10px;background:#f7f3ee}.management-filter-layout{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.3fr;gap:10px;align-items:stretch}.management-filter-card{display:grid;gap:10px;padding:12px;border:1px solid #ead8cc;border-radius:10px;background:#ffffffdb;min-width:0}.management-filter-card.is-search{background:linear-gradient(180deg,#fffcf9f5,#fff6f0f5)}.management-filter-card-title{font-size:12px;font-weight:800;color:#8a5034}.management-filter-pair{display:grid;gap:6px}.management-filter-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px 10px;align-items:center}.management-filter-grid.compact{grid-template-columns:72px minmax(0,1fr);gap:8px 10px}.management-filter-grid label{font-size:12px;font-weight:700;color:var(--theme-text-soft)}.management-filter-search-row{display:grid;align-items:center;height:100%}.management-filter-search-row input{min-height:42px}.management-filter-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.management-filter-topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto;flex-wrap:wrap}.management-domestic-filter{display:flex;align-items:center;gap:0;overflow:hidden;flex-shrink:0}.management-domestic-btn{padding:5px 13px;font-size:12px;font-weight:500;background:#fff;color:#5f514b;border:1px solid #d1c4be;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;line-height:1.4;margin-right:3px}.management-domestic-btn+.management-domestic-btn{border:1px solid #d1c4be}.management-domestic-btn.is-active{background:var(--theme-accent, #e86240);color:#fff}.management-domestic-btn:hover:not(.is-active){background:#f6f1ed}.management-filter-radio-row{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--theme-text-soft)}.management-filter-radio-row label{display:inline-flex;align-items:center;gap:4px}.management-filter-date-range{display:flex;align-items:center;gap:8px}.management-filter-date-range input{min-width:150px}.management-filter-quick-buttons,.management-filter-action-buttons{display:flex;align-items:center;gap:6px}.management-payment-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}.management-payment-filter-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) auto;gap:0;border:1px solid var(--theme-border);background:#fff}.management-payment-filter-item{display:grid;grid-template-rows:auto auto;min-width:0;border-right:1px solid var(--theme-border)}.management-payment-filter-item span{padding:8px 6px;font-size:12px;font-weight:700;text-align:center;background:#f3ede7;border-bottom:1px solid var(--theme-border);color:var(--theme-text)}.management-payment-filter-item input,.management-payment-filter-item select{width:100%;min-width:0;min-height:40px;border:0;background:#fffdfb;border-radius:0}.management-payment-filter-item.is-range{min-width:160px}.management-payment-range-inputs{display:grid;grid-template-columns:1fr 1fr}.management-payment-range-inputs input+input{border-left:1px solid var(--theme-border)}.management-payment-search-btn{min-width:84px;border-radius:0;border:0;background:#3d4452;color:#fff;font-weight:700}.management-payment-filter-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.management-filter-table{display:grid;grid-template-columns:.8fr .8fr 1.5fr 1.5fr .8fr .8fr .8fr .8fr 2fr;border:1px solid var(--theme-border);background:#fff}.management-payment-filter-table{display:grid;grid-template-columns:.8fr .9fr .9fr .9fr 1fr 1fr 1.8fr;border:1px solid var(--theme-border);background:#fff}.management-filter-table-head{padding:10px 8px;font-size:12px;font-weight:700;text-align:center;color:var(--theme-text);background:#f6f1ed;border-right:1px solid var(--theme-border);border-bottom:1px solid var(--theme-border)}.management-filter-table-cell{display:flex;align-items:center;gap:8px;padding:8px;background:#fffdfb;border-right:1px solid var(--theme-border)}.management-filter-table-head:nth-child(5),.management-filter-table-cell:nth-child(10){border-right:0}.management-filter-table-cell select,.management-filter-table-cell input{width:100%;min-width:0}.management-filter-table-cell.is-search{display:grid;grid-template-columns:minmax(0,1fr) auto}.management-filter-table-cell.is-range{display:grid;grid-template-columns:1fr 1fr}.management-payment-filter-table>.management-filter-table-head:nth-child(7),.management-payment-filter-table>.management-filter-table-cell:nth-child(14){border-right:0}.management-filter-search-btn{min-width:72px;background:#3d4452;color:#fff;border-color:#3d4452}@media (max-width: 1280px){.management-filter-layout{grid-template-columns:1fr 1fr}.management-filter-table{grid-template-columns:repeat(2,minmax(0,1fr))}.management-payment-filter-table{grid-template-columns:repeat(4,minmax(0,1fr))}.management-filter-table-head:nth-child(2n),.management-filter-table-cell:nth-child(2n+12){border-right:0}.management-payment-filter-row{grid-template-columns:1fr}.management-payment-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.management-payment-search-btn{min-height:40px}}@media (max-width: 900px){.management-filter-layout{grid-template-columns:1fr}.management-filter-topbar{flex-direction:column;align-items:stretch}.management-filter-topbar-right{margin-left:0;justify-content:flex-start}.management-filter-table,.management-payment-filter-table{grid-template-columns:1fr}.management-filter-table-head,.management-filter-table-cell{border-right:0}.management-payment-filter-grid{grid-template-columns:1fr 1fr}.management-payment-filter-side{flex-direction:column;align-items:stretch}}.management-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.management-summary-card{display:grid;gap:6px;padding:14px;border:1px solid var(--theme-border);border-radius:10px;background:#fffaf7}.management-summary-card span{font-size:12px;color:var(--theme-text-soft)}.management-summary-card strong{font-size:20px;color:var(--theme-text)}.management-two-column{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.management-section-card{display:grid;gap:10px;min-width:0}.management-dashboard{gap:14px;position:relative}.management-dashboard-head{align-items:center;gap:16px;flex-wrap:wrap}.management-dashboard-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.management-dashboard-date-range{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--theme-border);border-radius:8px;padding:4px 10px}.management-dashboard-date-range input{min-width:130px;border:0;background:transparent;font-size:12px;color:var(--theme-text);padding:2px 0;outline:none}.management-dashboard-date-range span{font-size:11px;color:var(--theme-text-soft)}.management-dashboard-period{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.management-dashboard-period span{font-size:11px;color:var(--theme-text-soft)}.management-dashboard-period select{height:30px;padding:0 8px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-surface);color:var(--theme-text);font-size:12px}.management-dashboard-quick{display:flex;align-items:center;gap:4px;background:#f6f1ed;border:1px solid var(--theme-border);border-radius:8px;padding:3px}.management-dashboard-quick>button{height:26px;padding:0 10px;font-size:11px;font-weight:600;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--theme-text-soft);cursor:pointer;transition:background .15s,color .15s}.management-dashboard-quick>button:hover{background:#fff;color:var(--theme-text);border-color:var(--theme-border)}.management-dashboard-actions{display:flex;align-items:center;gap:6px}.management-dashboard-actions>button{height:32px;padding:0 14px;font-size:12px;font-weight:700;border-radius:8px}.management-dashboard-actions>button:last-child{background:#3d4452;border-color:#3d4452;color:#fff}.management-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.management-kpi-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--theme-border);border-radius:14px;background:#fff;min-height:80px;box-shadow:0 1px 4px #0000000a;transition:box-shadow .15s}.management-kpi-card:hover{box-shadow:0 4px 12px #00000014}.management-kpi-card.is-primary{background:linear-gradient(135deg,#fff5f0,#fff2ea);border-color:#f0b8a5;min-height:104px;box-shadow:0 2px 8px #e862401f}.management-kpi-card.is-primary:hover{box-shadow:0 6px 18px #e862402e}.management-kpi-card.is-secondary{min-height:68px;padding:10px 14px;background:#fafafa}.management-kpi-card span{font-size:10px;font-weight:700;color:var(--theme-text-soft);letter-spacing:.02em;text-transform:uppercase}.management-kpi-card.is-primary span{font-size:11px;color:sienna}.management-kpi-card strong{font-size:22px;font-weight:800;color:var(--theme-text);letter-spacing:-.5px;line-height:1.1}.management-kpi-card.is-primary strong{font-size:32px;color:#c94f30}.management-kpi-card.is-secondary strong{font-size:16px}.management-kpi-card em{font-style:normal;font-size:10px;color:var(--theme-text-soft);margin-top:auto}.management-kpi-card.is-primary em{font-size:11px}.management-panel-loading{min-height:180px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--theme-text-soft);font-size:12px;font-weight:600}.management-card-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffff75;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:4;border-radius:14px}.management-dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px}.management-dashboard-grid.is-bottom{grid-template-columns:1fr 1fr 1fr}.management-dashboard-main{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:12px;align-items:start}.management-dashboard-left,.management-dashboard-right{display:grid;gap:12px}.management-dashboard-top{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.management-dashboard-mid{display:grid;grid-template-columns:6fr 3fr 3fr;gap:12px;align-items:start}.management-trend-table-card{overflow:hidden}.management-trend-table-wrap{overflow-x:auto}.management-trend-table{width:100%;border-collapse:collapse;font-size:11px;min-width:400px}.management-trend-table th,.management-trend-table td{padding:6px 8px;text-align:center;border-bottom:1px solid #f0e8e2;white-space:nowrap}.management-trend-table thead th{background:#f8f3ef;font-size:11px;font-weight:700;color:#7a6860;border-bottom:2px solid #e8ddd7}.management-trend-table thead th.is-label{text-align:left;background:#f0ebe6}.management-trend-table td.is-label{text-align:left;font-weight:700;color:#5f514b;background:#faf7f4;white-space:nowrap}.management-trend-table tbody tr:last-child td{border-bottom:1px solid #e8ddd7}.management-trend-table tbody tr:not(.is-section-header):hover td{background:#fff8f5}.management-trend-table tbody tr:not(.is-section-header):hover td.is-label{background:#f5efe9}.management-trend-table tr.is-section-header td{background:linear-gradient(90deg,#e86240,#f08060);color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em;text-align:left;padding:4px 10px;border-bottom:0}.td-main{display:block;font-weight:700;color:#1a1410;font-size:11px}.td-sub{display:block;font-size:9px;color:#9a8880;margin-top:1px}.td-dash{color:#bbb;font-size:11px}.td-delta{display:inline-block;font-size:10px;font-weight:700}.td-delta.is-up{color:#e53e3e}.td-delta.is-down{color:#2b6cb0}.management-dashboard-card{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--theme-border);border-radius:14px;background:#fff;min-width:0;box-shadow:0 1px 4px #0000000a;height:100%;position:relative}.management-dashboard .section-head h3{padding:0;font-size:13px;font-weight:700;color:var(--theme-text);background:none;border:none;border-radius:0}.management-dashboard .section-head{margin-bottom:4px;border-bottom:1px solid #f0e8e2;padding-bottom:8px}.management-dashboard-card.is-compact-empty{padding:12px}.management-card-actions{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--theme-text-soft)}.management-card-actions select{height:28px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;background:#f8f5f2;color:var(--theme-text);font-size:12px;font-weight:600}.management-period-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px;border:1px solid var(--theme-border);border-radius:8px;background:#f6f1ed}.management-period-toggle>button{height:24px;min-width:44px;padding:0 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--theme-text-soft);font-size:11px;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.management-period-toggle>button:hover{background:#fff;color:var(--theme-text);border-color:var(--theme-border)}.management-period-toggle>button.is-active{background:#fff;color:#c94f30;border-color:#f0b8a5;box-shadow:0 1px 2px #c94f301f}.management-card-actions span{font-size:11px;color:var(--theme-text-soft);background:#f3ede7;border-radius:20px;padding:2px 8px;font-weight:600}.management-chart{height:200px;padding:10px 6px 6px;border:1px solid #e8ddd7;border-radius:12px;background:#fff}.management-chart canvas{width:100%!important;height:100%!important;display:block}.management-summary-list{display:grid;gap:10px}.management-summary-list div{display:grid;gap:4px;padding:10px;border:1px solid var(--theme-border);border-radius:10px;background:#fffaf7}.management-summary-list span{font-size:11px;color:var(--theme-text-soft)}.management-summary-list strong{font-size:18px;color:var(--theme-text)}.management-summary-list em{font-style:normal;font-size:11px;color:var(--theme-text-soft)}.management-general-table-wrap{overflow:auto;border:1px solid var(--theme-border);border-radius:10px;background:#fff}.management-general-table{width:100%;border-collapse:collapse;font-size:12px}.management-general-table th,.management-general-table td{padding:7px 8px;border-right:1px solid var(--theme-border);border-bottom:1px solid #f0e8e2;vertical-align:middle;background:#fff;word-break:break-word}.management-general-table th{position:sticky;top:0;z-index:3;background:#f6f1ed;font-weight:700;color:var(--theme-text);white-space:nowrap}.management-general-table tbody tr:nth-child(2n) td{background:#fffcfa}.management-general-table tbody tr:hover td{background:#fff6f1}.management-general-table td:nth-child(7),.management-general-table td:nth-child(8){text-align:right;white-space:nowrap}.management-general-table td:nth-child(5),.management-general-table td:nth-child(6),.management-general-table td:nth-child(16){white-space:nowrap}.management-general-table th:last-child,.management-general-table td:last-child{border-right:0}.management-sticky-col{position:sticky;z-index:2;background:inherit}.management-sticky-col-1{left:0;min-width:120px;width:120px}.management-sticky-col-2{left:120px;min-width:130px;width:130px}.management-general-table thead .management-sticky-col{z-index:4;background:#f6f1ed}.management-general-table tbody .management-sticky-col{background:inherit}.management-memo-cell{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.management-consent-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.4}.management-consent-badge.is-on{color:#166534;background:#ecfdf3;border:1px solid #bbf7d0}.management-consent-badge.is-off{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.management-method-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.management-method-item{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--theme-border);border-radius:12px;background:#fffaf7;transition:box-shadow .15s}.management-method-item:hover{box-shadow:0 2px 8px #0000000f}.management-method-item>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.management-method-item>div:last-child{text-align:right}.management-method-item strong{font-size:13px;font-weight:700;color:var(--theme-text)}.management-method-item span,.management-method-item em{font-style:normal;font-size:11px;color:var(--theme-text-soft)}.management-method-bar{position:relative;height:5px;border-radius:999px;background:#e862401a;overflow:hidden}.management-method-bar span{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--theme-accent),#f08060)}.management-empty-state{padding:24px 12px;border:1.5px dashed var(--theme-border);border-radius:12px;background:#fafafa;color:var(--theme-text-soft);font-size:12px;text-align:center}.management-detail-grid{margin-top:4px}.management-ratio-card{min-height:170px}.management-ratio-card.is-compact{padding:12px 14px}.management-donut{position:relative;height:80px;display:grid;place-items:center;overflow:hidden}.management-donut canvas{width:100%!important;height:80px!important;max-height:80px;display:block}.management-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.management-donut-center strong{font-size:20px;font-weight:800;color:var(--theme-text)}.management-donut-center span{font-size:9px;color:var(--theme-text-soft)}.management-ratio-meta{font-size:10px;color:var(--theme-text-soft);text-align:center;padding:4px 0}.management-status-list,.management-gender-list{display:grid;gap:5px}.management-status-list div,.management-gender-list div{display:grid;grid-template-columns:1fr auto auto;gap:8px;font-size:11px;align-items:center;padding:4px 8px;border-radius:8px;background:#fafafa;border:1px solid transparent;transition:border-color .1s}.management-status-list div:hover,.management-gender-list div:hover{border-color:var(--theme-border);background:#fff7f3}.management-status-list strong,.management-gender-list strong{color:var(--theme-text);text-align:right;font-weight:700}.management-status-list em,.management-gender-list em{font-style:normal;color:var(--theme-text-soft);text-align:right;min-width:32px}.management-yoy-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--theme-border);border-radius:12px;background:#fafafa;overflow:hidden}.management-yoy-compare>div{padding:10px 14px;display:grid;gap:3px}.management-yoy-compare>div+div{border-left:1px solid var(--theme-border)}.management-yoy-mid{background:linear-gradient(135deg,#fff5f0,#fff0e8)}.management-yoy-compare span{font-size:10px;font-weight:600;color:var(--theme-text-soft);letter-spacing:.02em}.management-yoy-compare strong{font-size:14px;font-weight:700;color:var(--theme-text)}.management-yoy-mid strong{font-size:18px;font-weight:800}.management-yoy-compare.is-up .management-yoy-mid strong{color:#15803d}.management-yoy-compare.is-down .management-yoy-mid strong{color:#b91c1c}.management-yoy-compare.is-flat .management-yoy-mid strong{color:var(--theme-text-soft)}.management-rank-list{display:grid;gap:6px}.management-rank-list.is-compact{gap:6px}.management-rank-item{display:grid;gap:5px;padding:8px 12px;border:1px solid var(--theme-border);border-radius:12px;background:#fff;transition:box-shadow .15s,border-color .15s}.management-rank-item:hover{border-color:var(--theme-accent-border);box-shadow:0 2px 8px #e862401a}.management-rank-item:nth-child(1){border-left:3px solid #e86240}.management-rank-item:nth-child(2){border-left:3px solid #f4a47a}.management-rank-item:nth-child(3){border-left:3px solid #f9c9a8}.management-rank-index{width:22px;height:22px;border-radius:50%;background:var(--theme-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;flex-shrink:0}.management-rank-item:nth-child(2) .management-rank-index{background:#f4a47a}.management-rank-item:nth-child(3) .management-rank-index{background:#f9c9a8;color:#7a3520}.management-rank-body{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:11px;color:var(--theme-text-soft);align-items:center}.management-rank-body strong{font-size:12px;font-weight:700;color:var(--theme-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.management-rank-value{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:11px;text-align:right;align-items:center}.management-rank-value strong{color:var(--theme-accent-strong);font-weight:700}.management-rank-value em{font-style:normal;color:var(--theme-text-soft);background:#f3ede7;border-radius:99px;padding:1px 6px;font-size:10px;font-weight:600}.management-rank-bar{position:relative;height:4px;border-radius:999px;background:#e862401a;overflow:hidden}.management-rank-bar span{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--theme-accent),#f08060);transition:width .4s ease}.management-method-card{margin-top:4px}.management-method-item{padding:10px 14px}.management-method-item span,.management-method-item em{font-size:11px}.management-method-item strong{font-size:13px}.management-empty-state.is-compact{padding:10px;font-size:11px}.management-dashboard-top>.management-dashboard-card:nth-of-type(1) .management-chart{height:345px}.management-dashboard-mid>.management-dashboard-card:nth-of-type(1) .management-chart{height:220px}.management-dashboard-mid .management-ratio-card{min-height:140px}.management-dashboard-mid .management-donut{height:70px}.management-dashboard-mid .management-donut canvas{height:70px!important;max-height:70px}.management-dashboard-mid .management-ratio-meta{text-align:left;font-size:10px}.management-dashboard-mid .management-status-list{gap:4px;max-height:180px;overflow-y:auto;padding-right:2px}.management-dashboard-mid .management-status-list div{font-size:10px}.management-dashboard-mid .management-gender-list{gap:4px}.management-dashboard-mid .management-gender-list div{padding:4px 8px;border-radius:8px;background:#fff7f2;border:1px solid transparent}.management-dashboard-mid .management-gender-list div:hover{border-color:var(--theme-border)}.nav-btn-icon{width:18px;display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:0 0 18px}.nav-btn.active{background:#fff;color:var(--theme-text);border-color:#fff}.content{padding:12px 14px;background:var(--theme-bg)}.top-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.global-notice-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;pointer-events:none}.global-error-notice{position:absolute;right:20px;bottom:20px;width:min(380px,calc(100vw - 40px));padding:15px 18px;border:1px solid rgba(214,69,69,.5);border-radius:12px;background:#ba3030eb;color:#fff;font-size:14px;font-weight:800;line-height:1.5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 18px 34px #7f1d1d3d;text-align:left;animation:global-error-slide-in .22s ease-out}.global-error-notice.is-success{border-color:#2294548c;background:#19874bb3;box-shadow:0 18px 34px #1665343d}.global-error-notice.is-warning{border-color:#b77a138c;background:#b87c12b3;box-shadow:0 18px 34px #925f0e3d}@keyframes global-error-slide-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.top-search-group{display:flex;align-items:center;gap:10px;flex:0 1 auto}.page-header{display:flex;align-items:center;flex:0 0 auto}.page-header h1{margin:0;min-height:32px;padding:0 10px;border:1px solid var(--theme-accent-border);background:var(--theme-accent);border-radius:6px;color:var(--theme-on-accent);display:inline-flex;align-items:center;font-size:13px;font-weight:700;line-height:1}.top-actions{display:flex;gap:6px;flex:0 0 auto}.top-action-popover{position:relative}.top-action-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent);padding:0;border-radius:8px}.top-action-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d73d32;color:#fff;font-size:10px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 2px 8px #d73d3247}.top-notice-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:grid;grid-template-rows:auto 1fr;width:320px;max-height:360px;border:1px solid rgba(232,98,64,.18);border-radius:12px;background:#fffaf7fa;box-shadow:0 16px 40px #5a382c2e;overflow:hidden}.top-notice-popover-head{padding:10px 12px;border-bottom:1px solid rgba(232,98,64,.12);background:#fff2e9;color:var(--theme-text);font-size:12px;font-weight:800}.top-notice-popover-list{display:grid;align-content:start;overflow-y:auto}.top-notice-popover-section-title{padding:8px 12px;border-bottom:1px solid rgba(232,98,64,.08);background:#fff2e9b3;color:var(--theme-text-soft);font-size:11px;font-weight:800}.top-notice-popover-item{display:grid;gap:8px;width:100%;padding:11px 12px;border:0;border-bottom:1px solid rgba(232,98,64,.08);border-radius:0;background:transparent;color:var(--theme-text);text-align:left}.top-notice-popover-item:hover{background:#e8624014}.top-notice-popover-item.is-overdue-alert{background:#ffededa8}.top-notice-popover-item.is-overdue-alert:hover{background:#ffdeded1}.top-notice-popover-text{font-size:13px;font-weight:600;line-height:1.45;white-space:pre-wrap;word-break:break-word}.top-notice-popover-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--theme-text-soft)}.top-notice-popover-empty{padding:16px 12px;font-size:12px;color:var(--theme-text-soft)}.top-cti-popover{width:420px;max-height:460px;grid-template-rows:auto 1fr}.top-cti-popover .cti-call-panel{max-height:400px}.top-cti-popover.is-open-right{right:auto;left:0}.top-patient-search{flex:1 1 360px;min-width:260px;max-width:560px;display:flex;align-items:center}.top-patient-search-group{width:100%;display:flex;align-items:stretch}.top-patient-search-select{flex:0 0 auto;height:32px;padding:0 4px;background:var(--theme-surface);color:var(--theme-text);border-right:0;border-radius:0;font-size:12px;cursor:pointer}.top-patient-search-select:first-child{border-radius:2px 0 0 2px}.top-patient-search-group input{flex:1 1 auto;min-width:0;height:32px;background:var(--theme-surface);color:var(--theme-text);border-right:0;border-radius:0}.top-patient-search-group button{flex:0 0 auto;min-width:68px;height:32px;border-radius:0 2px 2px 0;align-items:center;justify-content:center;display:flex}.top-front-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.top-service-link-btn{min-height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--theme-border);background:#fff;color:var(--theme-text);font-size:12px;font-weight:700}.top-service-link-btn:hover{border-color:var(--theme-accent-border);background:var(--theme-surface-soft)}.top-front-create{min-height:32px;padding:0 12px;white-space:nowrap}.workspace{display:grid;gap:10px}.front-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px}.front-desk-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;min-height:calc(100vh - 150px);max-height:calc(100vh - 150px);overflow:hidden}.front-notice-panel{display:grid;grid-template-rows:auto 1fr;gap:8px;min-height:0}.front-notice-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 2px}.front-notice-head strong{font-size:16px;color:var(--theme-text)}.front-notice-actions{display:flex;gap:6px}.front-notice-actions button{min-height:28px;padding:4px 8px;font-size:12px}.front-notice-box{display:grid;grid-template-rows:auto 1fr auto;min-height:0;background:#ffffffb8;border:1px solid var(--theme-border);border-radius:8px;overflow:hidden}.front-notice-subhead{padding:8px 10px;background:#fff2e9;border-bottom:1px solid var(--theme-border);font-size:12px;font-weight:700;color:var(--theme-text)}.front-notice-list{display:grid;align-content:start;gap:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(232,98,64,.45) rgba(232,98,64,.08)}.front-notice-item{display:grid;gap:10px;width:100%;padding:12px 12px 10px;border:0;border-bottom:1px solid #edd6cd;border-radius:0;background:transparent;color:var(--theme-text);text-align:left;align-content:space-between}.front-notice-date{font-size:11px;color:var(--theme-text-soft)}.front-notice-text{min-height:52px;font-size:14px;font-weight:600;line-height:1.55;color:var(--theme-text);white-space:pre-wrap;word-break:break-word}.front-notice-meta{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:11px;color:var(--theme-text-soft)}.front-notice-author{font-weight:700}.front-notice-empty{padding:12px 10px;font-size:12px;color:var(--theme-text-soft)}.front-notice-compose{display:grid;gap:8px;padding:10px;border-top:1px solid #edd6cd;background:linear-gradient(180deg,#fff5eeeb,#fffbf8fa)}.front-notice-input{width:100%;min-height:76px;padding:10px 12px;border:1px solid rgba(232,98,64,.2);border-radius:10px;background:#fffffff5;color:var(--theme-text);font-size:13px;line-height:1.45;resize:none;outline:none}.front-notice-input:focus{border-color:#e862407a;box-shadow:0 0 0 3px #e862401f}.front-notice-compose-actions{display:flex;justify-content:flex-end;gap:8px}.front-notice-send{min-width:68px}.front-notice-context-menu{position:fixed;z-index:2300;display:grid;gap:4px;width:max-content;min-width:0;padding:6px;border:1px solid rgba(232,98,64,.22);border-radius:10px;background:#fffaf7fa;box-shadow:0 12px 28px #5a382c2e}.front-notice-context-menu button{display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;width:auto;min-height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--theme-text);font-size:13px;text-align:left}.front-notice-context-menu button:hover{background:#e862401a}.front-notice-context-delete{color:#b33a2b}.front-main-board{position:relative;display:grid;grid-template-rows:auto 1fr;gap:10px;min-width:0;min-height:0;overflow:hidden}.front-board-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffff8f;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:8}.front-board-loading-spinner{width:34px;height:34px;border-radius:999px;border:3px solid rgba(232,98,64,.18);border-top-color:#e86240;animation:front-board-spin .8s linear infinite}@keyframes front-board-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.front-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--theme-border);border-radius:8px;background:#ffffffe6}.front-toolbar-left,.front-toolbar-right{display:flex;align-items:center;gap:8px}.front-toolbar-left{flex:1 1 auto;min-width:0}.front-toolbar-nav{min-width:34px;min-height:32px;padding:0}.front-toolbar-date{min-width:142px;padding:0 12px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-surface);font-size:14px;font-weight:700;color:var(--theme-text)}.front-toolbar-today,.front-toolbar-reset,.front-toolbar-create{min-height:32px;padding:0 12px}.front-part-filters{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px}.front-part-chip{min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-text-soft);font-size:12px;font-weight:700;white-space:nowrap}.front-part-chip.is-active{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent)}.front-toolbar-search{display:flex;align-items:stretch;min-width:320px}.front-toolbar-search input{border-right:0;border-radius:6px 0 0 6px;background:var(--theme-surface)}.front-toolbar-search button{border-radius:0 6px 6px 0}.front-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.front-day-chip{min-height:52px;display:grid;place-items:center;background:#ffffffb8;border:1px solid var(--theme-border);color:var(--theme-text)}.front-day-chip.is-today{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.front-queue-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);grid-template-rows:repeat(2,minmax(260px,1fr));gap:10px;min-height:0;height:100%;max-height:100%;overflow:auto hidden;align-items:stretch;padding-bottom:4px}.front-queue-column{display:grid;grid-template-rows:auto 1fr;min-height:0;border-radius:8px;overflow:hidden;background:#ffffffb3;border:1px solid var(--theme-border)}.front-queue-column.is-reserved{border-color:#efc57d}.front-queue-column.is-cancelled{border-color:#e6a0a0}.front-queue-column.is-reception{border-color:#8fc1df}.front-queue-column.is-treatment{border-color:#b9a6ea}.front-queue-column.is-surgery-waiting{border-color:#f0b48a}.front-queue-column.is-no-show{border-color:#b7b7b7}.front-queue-column.is-counseling{border-color:#92a9f3}.front-queue-column.is-treatment-waiting{border-color:#b9a6ea}.front-queue-column.is-finished{border-color:#c9c4b5}.front-queue-head{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:6px 9px;font-weight:700;font-size:13px;color:var(--theme-text);background:var(--front-queue-head-bg, transparent)}.front-queue-head h3{margin:0;font-size:13px;line-height:1.1}.front-queue-head span{font-size:12px;line-height:1}.front-queue-column.is-reserved .front-queue-head{background:#ffe6a8}.front-queue-column.is-cancelled .front-queue-head{background:#f7c0c0}.front-queue-column.is-reception .front-queue-head{background:#c8e4f3}.front-queue-column.is-treatment .front-queue-head{background:#d8cdf3}.front-queue-column.is-surgery-waiting .front-queue-head{background:#ffd6b5}.front-queue-column.is-no-show .front-queue-head{background:#d7d7d7}.front-queue-column.is-counseling .front-queue-head{background:#ced8ff}.front-queue-column.is-treatment-waiting .front-queue-head{background:#d8cdf3}.front-queue-column.is-finished .front-queue-head{background:#e1ddd1}.front-queue-list{display:flex;flex-direction:column;gap:10px;padding:10px;overflow-x:hidden;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(232,98,64,.45) rgba(232,98,64,.08)}.front-queue-part-group{display:grid;gap:8px}.front-queue-part-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid rgba(232,98,64,.14);border-radius:8px;background:#fff4eee6;color:var(--theme-text);font-size:12px;font-weight:700}.front-queue-part-head strong{color:var(--theme-accent-strong);font-size:12px}.front-queue-part-cards{display:grid;gap:10px}.front-queue-loadmore{padding:2px 4px 6px;text-align:center;font-size:11px;color:var(--theme-text-soft)}.front-notice-list::-webkit-scrollbar,.front-queue-list::-webkit-scrollbar{width:6px}.front-notice-list::-webkit-scrollbar-track,.front-queue-list::-webkit-scrollbar-track{background:#e8624014;border-radius:999px}.front-notice-list::-webkit-scrollbar-thumb,.front-queue-list::-webkit-scrollbar-thumb{background:#e8624073;border-radius:999px}.front-notice-list::-webkit-scrollbar-thumb:hover,.front-queue-list::-webkit-scrollbar-thumb:hover{background:#e862409e}.front-queue-card{display:grid;gap:4px;width:100%;padding:8px;border:1px solid #eed9cf;border-radius:8px;background:#fff;color:var(--theme-text);text-align:left;box-shadow:0 8px 18px #6e443514}.front-queue-card.is-alert-overdue{border-color:#e46b6b;background:#fff5f5;box-shadow:0 0 0 1px #e46b6b29 inset}.front-queue-column.is-drag-over{outline:2px dashed #e76b4b;outline-offset:-2px;background:#e76b4b0f}.front-queue-card[draggable=true]{cursor:grab}.front-queue-card[draggable=true]:active{cursor:grabbing}.front-queue-card-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.front-queue-card-badge{display:inline-flex;align-items:center;min-height:16px;padding:0 5px;border-radius:999px;background:var(--theme-accent-soft);color:var(--theme-accent-strong);font-size:9px;font-weight:700}.front-queue-card-time,.front-queue-card-status{font-size:9px;color:var(--theme-text-soft)}.front-queue-card-name{font-weight:700;font-size:15px}.front-queue-card-meta{font-size:12px;color:var(--theme-text-soft);margin-top:1px}.front-queue-card-label{font-size:12px;color:var(--theme-text-soft)}.front-queue-card-alert{display:inline-flex;align-items:center;width:fit-content;padding:1px 7px;border-radius:999px;border:1px solid #e46b6b;background:#ffe8e8;color:#a33131;font-size:10px;font-weight:700}.front-card-tooltip{position:fixed;z-index:2200;display:grid;gap:8px;min-width:260px;max-width:340px;padding:12px;border:1px solid rgba(195,82,52,.24);border-radius:10px;background:#fffcfafc;box-shadow:0 14px 32px #5a382c33;color:var(--theme-text);font-size:13px;line-height:1.45;pointer-events:none}.front-card-tooltip-title{font-size:14px;font-weight:700;color:#2f2522;padding-bottom:6px;border-bottom:1px solid rgba(195,82,52,.2)}.front-card-tooltip-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;align-items:start}.front-card-tooltip-key{color:#8b5d4d;font-size:12px;font-weight:700}.front-card-tooltip-value{color:#2f2522;overflow-wrap:anywhere}.front-card-tooltip-memo{display:grid;gap:6px}.front-card-tooltip-memo strong{font-size:12px;color:#8b5d4d;letter-spacing:.01em}.front-card-tooltip-memo-content{max-height:120px;padding:8px;border:1px solid rgba(195,82,52,.18);border-radius:8px;background:#fff8f5e6;overflow-y:auto;overflow-x:hidden}.front-card-tooltip-products{max-height:none;overflow:visible}.front-card-tooltip-memo-content p{margin:0 0 .45em}.front-card-tooltip-memo-content p:last-child{margin-bottom:0}.front-card-tooltip-list-item{padding:2px 0;border-bottom:1px dashed rgba(195,82,52,.16)}.front-card-tooltip-list-item:last-child{border-bottom:0}.front-card-tooltip-divider{height:1px;background:#e8624024}.front-queue-empty{display:grid;place-items:center;flex:1;min-height:100%;border:1px dashed #e7cbc1;border-radius:8px;background:#ffffffa6;color:var(--theme-text-soft);font-size:12px}.front-queue-loading{display:grid;place-items:center;flex:0 0 auto;min-height:36px;padding:6px 8px;border:1px dashed #e7cbc1;border-radius:8px;background:#ffffffa6;color:var(--theme-text-soft);font-size:12px}.front-queue-loadmore-wrap{display:grid;padding-top:2px}.front-queue-loadmore{width:100%;min-height:36px;border:1px dashed #e7cbc1;border-radius:8px;background:#ffffffc2;color:var(--theme-text-soft);font-size:12px;font-weight:700}.front-queue-loadmore:hover:not(:disabled){background:#e8624014;color:var(--theme-text)}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));grid-auto-rows:1fr;gap:10px;min-height:70vh;align-items:stretch}.dashboard-panel{border:1px solid #cdd6e1;background:#f8fbfe;display:grid;grid-template-rows:auto 1fr;min-height:220px;height:100%}.dashboard-panel-head{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#e7edf3;border-bottom:1px solid #cdd6e1;border-radius:6px 6px 0 0}.dashboard-panel-head h3{margin:0;font-size:14px}.dashboard-panel-body{padding:6px;overflow:auto}.dashboard-panel-body table{width:100%;font-size:12px}.dashboard-notice-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.dashboard-notice-list li{border:1px solid #d3dbe6;background:#fff;padding:6px;display:grid;gap:4px;font-size:12px;cursor:pointer}.dashboard-notice-list li span{color:#5c6f87;white-space:pre-line}.empty-note{color:#6d7d92;font-size:12px;padding:8px}.notice-form{display:grid;gap:6px;margin-bottom:8px}.notice-form textarea{resize:vertical}.notice-form-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.front-kpi-box{border:1px solid #c7d2df;background:#f9fbfe;padding:8px}.kpi-label{font-size:12px;color:#60748e;margin-bottom:4px}.kpi-value{font-size:22px;font-weight:700;color:#24415f}.patient-layout{display:grid;grid-template-columns:minmax(360px,420px) 1fr;gap:var(--space-5);position:relative}.staff-layout{display:grid;grid-template-columns:260px minmax(260px,320px) minmax(240px,.75fr) minmax(360px,1.25fr);gap:10px;align-items:start}.catalog-master-layout{display:grid;grid-template-columns:350px 820px minmax(0,1fr);gap:10px;align-items:start}.catalog-master-layout.is-homepage-category{grid-template-columns:350px 820px minmax(0,1fr)}.catalog-tab-head{display:flex;gap:6px;margin-bottom:12px;border-bottom:1px solid var(--theme-border)}.catalog-tab-btn{padding:8px 18px;font-size:14px;font-weight:600;border:none;background:none;color:var(--theme-text-soft);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.catalog-tab-btn.is-active{color:var(--theme-accent, #e86240);border-bottom-color:var(--theme-accent, #e86240)}.bundle-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:12px;align-items:start}.bundle-list-panel .bundle-list-order{display:inline-block;min-width:22px;color:var(--theme-text-soft);font-size:12px}.bundle-meta-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.bundle-meta-row label{font-size:12px;color:var(--theme-text-soft);white-space:nowrap}.bundle-meta-row input{flex:1;padding:6px 10px;border:1px solid var(--theme-border);border-radius:6px;font-size:13px}.bundle-meta-row select{padding:6px 8px;border:1px solid var(--theme-border);border-radius:6px;font-size:13px}.bundle-delete-btn{color:#b3261e;border-color:#e0b4af!important}.bundle-item-table-wrap{overflow-x:auto}.bundle-item-table{width:100%;border-collapse:collapse;font-size:12px}.bundle-item-table th,.bundle-item-table td{border:1px solid var(--theme-border);padding:5px 6px;text-align:left}.bundle-item-table th{background:var(--theme-surface-soft);font-weight:600;color:var(--theme-text-soft);white-space:nowrap}.bundle-item-table td:first-child{width:40px;text-align:center}.bundle-item-table td input{width:100%;box-sizing:border-box;padding:4px 6px;border:1px solid #e0d8d2;border-radius:4px;font-size:12px}.bundle-item-table td button{padding:3px 8px;font-size:11px;border:1px solid #d9b3a6;background:#fff;color:#8f2d14;border-radius:5px;cursor:pointer}.bundle-item-empty{text-align:center;color:var(--theme-text-soft);padding:16px}.prescription-add-row{display:flex;align-items:center;gap:8px;padding:8px 12px}.prescription-add-row .prescription-bundle-load{flex:0 0 auto;padding:0}.prescription-add-row .prescription-drug-search{flex:1 1 auto;min-width:0;padding:0}.prescription-actions{padding:10px 12px 0;gap:8px}.hospital-settings-panel{width:100%;max-width:720px;display:flex;flex-direction:column;gap:24px;padding:20px 0}.hospital-settings-tabs{display:flex;gap:4px;border-bottom:1px solid var(--theme-border)}.hospital-settings-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-bottom:none;background:transparent;padding:10px 18px;font-size:13px;font-weight:600;color:var(--theme-text-soft);border-radius:8px 8px 0 0;margin-bottom:-1px;cursor:pointer}.hospital-settings-tab:hover{color:var(--theme-text);background:var(--theme-surface-soft)}.hospital-settings-tab.is-active{color:var(--theme-accent);background:var(--theme-surface);border-color:var(--theme-border);border-bottom:1px solid var(--theme-surface);font-weight:700}.hospital-settings-card{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);overflow:hidden}.hospital-settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--theme-surface-soft);border-bottom:1px solid var(--theme-border)}.hospital-settings-head strong{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}.hospital-settings-head strong:before{content:"";display:inline-block;width:4px;height:16px;background:var(--theme-accent);border-radius:2px}.hospital-settings-save{padding:6px 14px;font-size:13px;font-weight:600;color:var(--theme-on-accent);background:var(--theme-accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s}.hospital-settings-save:hover:not(:disabled){background:var(--theme-accent-strong)}.hospital-settings-save:disabled{background:#d4ccc8;color:#fff;cursor:not-allowed}.hospital-settings-table-wrap{overflow-x:auto}.hospital-settings-table{width:100%;border-collapse:collapse;font-size:13px}.hospital-settings-table th{padding:10px 20px;background:var(--theme-surface-soft);border-bottom:1px solid var(--theme-border);color:var(--theme-text-soft);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.hospital-settings-table td{padding:10px 20px;border-bottom:1px solid var(--theme-border);color:var(--theme-text)}.hospital-settings-table tr:last-child td{border-bottom:none}.hospital-settings-table .col-order{width:50px;text-align:center;color:var(--theme-text-soft);font-size:12px}.hospital-settings-table .col-label{width:180px;font-weight:600;background:transparent;white-space:nowrap}.hospital-settings-table .col-value input{width:100%;max-width:360px;box-sizing:border-box;padding:7px 12px;border:1px solid var(--theme-border);border-radius:8px;font-size:13px}.hospital-settings-table .col-value input:focus{outline:none;box-shadow:var(--ui-focus-ring);border-color:var(--theme-accent)}.hospital-settings-table .col-value input:disabled{background:#f4f6f8;color:#8a9098}.hospital-settings-empty{text-align:center;color:var(--theme-text-soft);padding:24px;font-size:13px}.kis-terminal-settings{overflow:hidden;border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);background:var(--theme-surface)}.kis-terminal-actions,.kis-terminal-test-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kis-terminal-add,.kis-terminal-test,.kis-terminal-delete{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.kis-terminal-add{min-height:32px;padding:6px 10px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);background:var(--theme-surface)}.kis-terminal-add:hover:not(:disabled),.kis-terminal-test:hover:not(:disabled){background:var(--theme-accent-soft)}.kis-terminal-add:disabled,.kis-terminal-test:disabled,.kis-terminal-delete:disabled{opacity:.55;cursor:not-allowed}.kis-terminal-body{display:grid;gap:14px}.kis-terminal-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;align-items:start}.kis-terminal-list{display:grid;gap:6px}.kis-terminal-list-item{display:grid;gap:3px;width:100%;padding:10px;text-align:left;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface);color:var(--theme-text);cursor:pointer}.kis-terminal-list-item:hover{border-color:var(--theme-accent-border);background:var(--theme-accent-soft)}.kis-terminal-list-item.is-active{border-color:var(--theme-accent);background:var(--theme-accent-soft);box-shadow:inset 0 0 0 1px #e862401f}.kis-terminal-list-item strong{font-size:12px}.kis-terminal-list-item span,.kis-terminal-form-head span,.kis-terminal-test-row span,.kis-terminal-help span{color:var(--theme-text-soft);font-size:11px}.kis-terminal-form{display:grid;gap:12px;padding:13px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.kis-terminal-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--theme-border)}.kis-terminal-form-head>div{display:grid;gap:3px;min-width:0}.kis-terminal-form-head strong{color:var(--theme-text);font-size:14px}.kis-terminal-form-head span{overflow-wrap:anywhere}.kis-terminal-delete{padding:6px 9px;border:1px solid #fecaca;background:#fff;color:#b91c1c}.kis-terminal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kis-terminal-fields label{display:grid;gap:5px;min-width:0}.kis-terminal-fields label>span,.kis-terminal-toggle span{color:var(--theme-text-soft);font-size:11px;font-weight:700}.kis-terminal-fields input,.kis-terminal-fields select{min-width:0;width:100%;min-height:34px;box-sizing:border-box;padding:6px 9px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface);color:var(--theme-text);font-size:12px}.kis-terminal-fields input:focus,.kis-terminal-fields select:focus{outline:none;border-color:var(--theme-accent);box-shadow:var(--ui-focus-ring)}.kis-terminal-toggle{grid-column:1 / -1;display:inline-flex!important;align-items:center;gap:7px;min-height:30px}.kis-terminal-toggle input{width:auto;min-height:0}.kis-terminal-test{min-height:34px;padding:6px 11px;border:1px solid var(--theme-accent-border);background:var(--theme-surface);color:var(--theme-accent)}.kis-terminal-test-row>span{display:inline-flex;align-items:center;gap:5px}.kis-terminal-result{padding:9px 10px;border:1px solid;border-radius:8px;font-size:12px;overflow-wrap:anywhere}.kis-terminal-result.is-ok{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.kis-terminal-result.is-error{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.kis-terminal-help{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--theme-accent-border);border-radius:9px;background:var(--theme-accent-soft)}.kis-terminal-help strong{color:var(--theme-text);font-size:12px}.payment-terminal-check{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;margin-right:auto;padding:6px 10px;border:1px solid #93c5fd;border-radius:8px;background:#fff;color:#1d4ed8;font-size:12px;font-weight:700;cursor:pointer}.payment-terminal-check:hover:not(:disabled){background:#eff6ff}.payment-terminal-check:disabled{cursor:not-allowed;opacity:.6}.payment-terminal-check.is-ok{border-color:#86efac;background:#f0fdf4;color:#166534}.payment-terminal-check.is-error{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}@media (max-width: 720px){.hospital-settings-tabs{overflow-x:auto}.hospital-settings-tab{flex:0 0 auto}.kis-terminal-layout{grid-template-columns:1fr}.kis-terminal-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kis-terminal-fields{grid-template-columns:1fr}.kis-terminal-actions{align-items:stretch}}.prescription-bundle-load{display:flex;gap:6px;padding:0 12px 8px}.prescription-bundle-load select{width:150px;padding:7px 10px;border:1px solid #e0d2c9;border-radius:6px;font-size:13px}.prescription-bundle-load button{padding:7px 14px;font-size:13px;font-weight:600;border:1px solid var(--theme-accent, #e86240);background:var(--theme-accent, #e86240);color:#fff;border-radius:6px;cursor:pointer}.prescription-bundle-load button:disabled{background:#d9cfc9;border-color:#d9cfc9;cursor:not-allowed}.penchart-admin-layout{grid-template-columns:minmax(0,1.75fr) minmax(400px,460px)}.code-settings-layout{grid-template-columns:220px 220px minmax(280px,380px) minmax(360px,1fr)}.code-settings-layout.is-time-settings{grid-template-columns:minmax(0,500px) minmax(0,1fr)}.time-settings-column{display:grid;gap:10px;min-width:0}.time-settings-weekly-column{grid-template-columns:170px minmax(280px,1fr);align-items:start}.time-settings-daily-column{grid-template-columns:minmax(800px,1fr) minmax(280px,1fr);align-items:start}.catalog-master-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;min-height:0;padding:8px;border:1px solid #cdd6e1;background:#f8fbfe}.catalog-detail-panel{align-self:stretch}.catalog-detail-panel.is-homepage-detail{grid-template-rows:auto auto minmax(0,1fr) auto;max-height:78vh}.catalog-master-caption{margin:0;font-size:12px;color:var(--theme-text-soft)}.catalog-category-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.catalog-category-entry{display:grid;gap:6px}.catalog-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.catalog-category-edit-btn{min-height:43px;padding:0 10px;color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-surface);font-size:11px;font-weight:700;white-space:nowrap}.catalog-category-edit-box{display:grid;gap:6px;padding:8px;border:1px solid var(--theme-border);border-radius:8px;background:#fff}.catalog-category-edit-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.catalog-category-edit-actions>button{min-height:32px}.catalog-category-edit-danger{color:#b91c1c;border-color:#fca5a5;background:#fff}.catalog-category-edit-danger:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.catalog-master-count{font-size:12px;font-weight:700;color:var(--theme-text-soft)}.catalog-master-list{display:grid;align-content:start;gap:6px;min-height:0;max-height:calc(100vh - 260px);overflow-y:auto}.catalog-master-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:1px solid #d8e0ea;border-radius:8px;background:#fff;color:var(--theme-text);text-align:left}.catalog-master-item:hover{border-color:var(--theme-accent-border);background:#fff9f6}.catalog-master-item.active{border-color:var(--theme-accent);background:#fff3ed;box-shadow:inset 0 0 0 1px #e862401f}.catalog-master-item.is-product{display:grid;gap:6px;justify-content:stretch}.catalog-master-item-top,.catalog-master-item-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.catalog-master-item-title{min-width:0;font-size:13px;font-weight:700;color:var(--theme-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:650px}.catalog-master-item-meta{font-size:12px;color:var(--theme-text-soft)}.catalog-master-badge,.catalog-master-status{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.catalog-master-badge{background:var(--theme-accent-soft);color:var(--theme-accent-strong)}.catalog-master-status.is-active{background:#2fbf711f;color:#1f8a50}.catalog-master-status.is-inactive{background:#8c96a424;color:#667284}.catalog-detail-actions{display:flex;gap:6px;flex-wrap:wrap}.catalog-detail-actions .btn-danger{background:#fff;border-color:#fca5a5;color:#b91c1c}.catalog-detail-actions .btn-danger:hover{background:#fef2f2;border-color:#f87171}.catalog-detail-guide{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--theme-accent-border);background:var(--theme-accent-soft);border-radius:6px}.catalog-detail-guide strong{color:var(--theme-text);font-size:13px}.catalog-detail-guide span{font-size:12px;color:var(--theme-text-soft)}.catalog-upload-row{display:flex;align-items:center;justify-content:flex-end;width:100%;gap:8px;flex-wrap:wrap}.catalog-upload-row input[type=file]{flex:0 1 320px;min-width:220px}.catalog-detail-grid{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px 8px}.catalog-detail-panel.is-homepage-detail .catalog-detail-grid{min-height:0;overflow-y:auto;padding-right:4px;align-content:start}.catalog-detail-grid label{background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;font-size:12px;color:var(--theme-text)}.catalog-detail-grid input,.catalog-detail-grid select,.catalog-detail-grid textarea{width:100%;min-width:0}.catalog-detail-label-wide,.catalog-detail-field-wide{grid-column:1 / -1}.catalog-detail-field-wide{min-height:44px}.color-key-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}.color-key-chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid var(--theme-border);border-radius:10px;background:#fff;color:var(--theme-text)}.color-key-chip.active{border-color:var(--theme-accent);background:var(--theme-accent-soft)}.color-key-chip-swatch{width:14px;height:14px;border-radius:999px;border:1px solid rgba(15,23,42,.12);flex:0 0 auto}.catalog-detail-field-tall{min-height:120px}.catalog-detail-note{margin:0;font-size:12px;color:var(--theme-text-soft)}.sms-panel{display:grid;gap:10px}.sms-tabs{display:inline-flex;gap:4px;border-bottom:1px solid var(--theme-border)}.sms-tab{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 16px;border:1px solid var(--theme-border);border-bottom:0;border-radius:8px 8px 0 0;background:#fff7f2;color:var(--theme-text-soft);font-size:13px;font-weight:700}.sms-tab.is-active{background:#fff;color:#9a3412;border-color:var(--theme-accent-border);box-shadow:inset 0 2px 0 var(--theme-accent-border)}.sms-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--theme-accent-soft);color:#9a3412;font-size:11px}.sms-layout{display:grid;gap:10px;align-items:start}.sms-layout-send{grid-template-columns:.8fr 1fr 1.2fr 1fr}.sms-layout-template{grid-template-columns:420px minmax(0,1fr) 340px}.sms-layout-pending{grid-template-columns:1fr}.sms-layout-reservation{grid-template-columns:360px minmax(380px,1fr) 340px}.sms-resv-list-head{display:grid;grid-template-columns:70px 36px 1fr 1fr;gap:6px;padding:4px 8px;font-size:11px;color:var(--theme-text-soft);border-bottom:1px solid var(--theme-border);margin-bottom:6px}.sms-resv-row{width:100%;display:grid;grid-template-columns:70px 36px 1fr 1fr;gap:6px;align-items:center;padding:8px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;text-align:left;color:var(--theme-text);font-size:12px}.sms-resv-send-mode{font-size:10px;font-weight:700;text-align:center}.sms-resv-send-mode.is-auto{color:#dc2626}.sms-resv-send-mode.is-select{color:#1d4ed8}.sms-resv-row:hover{background:#fff9f5;border-color:var(--theme-accent-border)}.sms-resv-row.active{background:var(--theme-accent-soft);border-color:var(--theme-accent-border)}.sms-resv-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-resv-badge{justify-self:start;padding:1px 8px;border-radius:999px;background:var(--theme-accent-soft);color:#9a3412;font-size:11px;font-weight:700}.sms-resv-badge-payment{background:#eff6ff;color:#1d4ed8}.sms-trigger-divider{color:var(--theme-border);font-size:14px;margin:0 2px}.sms-grade-chip-payment{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.sms-grade-chip-payment.is-active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.sms-resv-tpl{color:var(--theme-text-soft)}.sms-resv-template-pick{margin-top:8px;display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;padding:10px}.sms-resv-cat-scroll,.sms-resv-tpl-scroll{display:grid;gap:4px;max-height:280px;overflow-y:auto;align-content:start}.sms-resv-cat-item{height:34px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;text-align:left;font-size:12px;color:var(--theme-text)}.sms-resv-cat-item.active{background:var(--theme-accent-soft);border-color:var(--theme-accent-border);color:#9a3412;font-weight:700}.sms-resv-tpl-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;text-align:left;color:var(--theme-text)}.sms-resv-tpl-item:hover{background:#fff9f5;border-color:var(--theme-accent-border)}.sms-resv-tpl-item.active{background:var(--theme-accent-soft);border-color:var(--theme-accent-border)}.sms-resv-tpl-item strong{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-text)}.sms-resv-tpl-item span{font-size:11px;color:var(--theme-text-soft);white-space:nowrap}@media (max-width: 1280px){.sms-layout-reservation{grid-template-columns:280px minmax(0,1fr)}.sms-layout-reservation .sms-preview-panel{grid-column:1 / -1}.sms-layout-send{grid-template-columns:280px minmax(0,1fr)}.sms-layout-send .sms-send-config-panel,.sms-layout-send .sms-preview-panel{grid-column:1 / -1}}@media (max-width: 900px){.sms-layout-reservation,.sms-layout-send{grid-template-columns:1fr}}.sms-cat-filter{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.sms-cat-chip{height:26px;padding:0 10px;border:1px solid var(--theme-border);border-radius:999px;background:#fff;font-size:12px;color:var(--theme-text-soft)}.sms-cat-chip.is-active{background:var(--theme-accent-soft);border-color:var(--theme-accent-border);color:#9a3412;font-weight:700}.sms-list-item-cat{justify-self:start;padding:1px 8px;border-radius:999px;background:var(--theme-accent-soft);color:#9a3412;font-size:11px;font-weight:700}.sms-pending-panel.is-full{min-height:50vh}.sms-var-palette{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sms-var-chip{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border:1px solid var(--theme-accent-border);border-radius:999px;background:var(--theme-accent-soft);color:#9a3412;font-size:12px;font-weight:700}.sms-var-chip:hover{background:#ffe6dc}.sms-var-scope{padding:0 5px;border-radius:999px;background:#fff;color:var(--theme-text-soft);font-size:10px;font-weight:600}.sms-var-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%;padding-top:4px;border-top:1px dashed var(--theme-border)}.sms-var-group-label{font-size:11px;font-weight:700;color:var(--theme-text-soft);min-width:32px}.sms-var-help{flex-basis:100%;font-size:11px;color:var(--theme-text-soft)}.modal-panel.resv-sms-modal{width:min(300px,94vw)}.resv-sms-body{display:grid;gap:14px;padding:16px}.resv-sms-field{display:grid;gap:6px}.resv-sms-field>label{font-size:12px;font-weight:700;color:var(--theme-text-soft)}.resv-sms-field select{width:100%;min-height:38px}.resv-sms-recipient{display:flex;align-items:baseline;gap:8px}.resv-sms-recipient strong{font-size:15px;color:var(--theme-text)}.resv-sms-recipient em{font-style:normal;font-size:12px;color:var(--theme-text-soft)}.resv-sms-hint{font-size:11px;color:#9a3412}.resv-sms-warn{font-size:11px;color:#b91c1c}.resv-sms-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.resv-sms-btn-row>button{height:42px;border-radius:8px;font-size:14px;font-weight:700}.resv-sms-send-btn{border:1px solid var(--theme-accent-border);background:linear-gradient(180deg,#f97316,#ea580c);color:#fff}.resv-sms-send-btn:disabled{background:#fca5a5;border-color:#fca5a5}.resv-sms-close-btn{border:1px solid var(--theme-border);background:#fff;color:var(--theme-text)}.resv-sms-close-btn:hover{background:#f7f7f7}.sms-bulk-fields{display:flex;align-items:center;gap:6px}.sms-bulk-fields input{width:140px;min-height:32px}.sms-bulk-unit{font-size:12px;color:var(--theme-text-soft)}.sms-push-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#11182780}.sms-push-modal{width:min(420px,92vw);background:#fff;border-radius:14px;border:1px solid var(--theme-border);box-shadow:0 24px 60px #11182752;padding:20px;display:grid;gap:10px}.sms-push-title{font-size:14px;font-weight:700;color:var(--theme-text)}.sms-push-title.is-success{color:#15803d}.sms-push-title.is-error{color:#dc2626}.sms-push-percent{font-size:34px;font-weight:800;color:#9a3412;line-height:1}.sms-push-bar{height:12px;border-radius:999px;background:#f1e4dc;overflow:hidden}.sms-push-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#f97316,#ea580c);transition:width .2s ease}.sms-push-title.is-success+.sms-push-percent{color:#15803d}.sms-push-title.is-success~.sms-push-bar .sms-push-bar-fill{background:#16a34a}.sms-push-bar-fill.is-error{background:#dc2626}.sms-push-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--theme-text-soft)}.sms-push-error{font-size:12px;color:#b91c1c}.sms-push-actions{display:flex;justify-content:flex-end;margin-top:4px}.sms-list-panel,.sms-detail-panel,.sms-preview-panel,.sms-pending-panel,.sms-send-config-panel{border:1px solid var(--theme-border);border-radius:10px;background:linear-gradient(180deg,#fffdfa,#fff7f2);padding:10px;min-width:0}.sms-list-head,.sms-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sms-list-head strong,.sms-preview-head strong{font-size:13px;color:var(--theme-text)}.sms-list-head span{font-size:12px;color:var(--theme-text-soft)}.sms-list-scroll{display:grid;gap:6px;max-height:62vh;overflow-y:auto}.sms-list-item{width:100%;display:grid;gap:6px;padding:10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;text-align:left;color:var(--theme-text)}.sms-list-item:hover{background:#fff9f5;border-color:var(--theme-accent-border)}.sms-list-item.active{background:var(--theme-accent-soft);border-color:var(--theme-accent-border);box-shadow:inset 0 0 0 1px #e8624024}.sms-list-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sms-list-item-top strong{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-list-item-meta{font-size:12px;color:var(--theme-text-soft)}.sms-detail-grid{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px 8px}.sms-detail-grid label{display:flex;align-items:center;background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;font-size:12px;color:var(--theme-text)}.sms-detail-grid input,.sms-detail-grid textarea{width:100%;min-width:0}.sms-detail-label-wide,.sms-detail-field-wide{grid-column:1 / -1}.sms-body-meta{grid-column:1 / -1;display:flex;gap:12px;align-items:center;justify-content:flex-end;font-size:12px;color:var(--theme-text-soft)}.sms-body-meta strong{color:#9a3412;font-size:12px}.sms-detail-actions{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}.sms-danger-btn{background:#dc2626;border-color:#dc2626;color:#fff}.sms-danger-btn:hover{background:#b91c1c;border-color:#b91c1c}.sms-danger-btn:disabled{background:#fca5a5;border-color:#fca5a5;color:#fff}.sms-send-msg-head{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.sms-send-msg-head>span{font-size:12px;font-weight:700;color:var(--theme-text)}.sms-msg-reset-btn{height:26px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;font-size:12px;color:var(--theme-text-soft)}.sms-msg-reset-btn:hover{background:#fff9f5;border-color:var(--theme-accent-border);color:#9a3412}.sms-send-config{border:1px solid var(--theme-border);border-radius:8px;background:#fff;padding:10px;display:grid;gap:8px}.sms-send-config-head{font-size:13px;font-weight:700;color:var(--theme-text);margin-bottom:4px}.sms-recipient-summary{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding:8px 10px;border:1px solid var(--theme-accent-border);border-radius:8px;background:var(--theme-accent-soft);font-size:12px;color:var(--theme-text)}.sms-recipient-summary-total strong{font-size:16px;color:#9a3412}.sms-recipient-summary-detail{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--theme-text-soft)}.sms-recipient-summary-detail strong{font-size:11px;font-weight:700;color:var(--theme-text)}.sms-recipient-summary-error{font-size:12px;color:#b91c1c}.sms-send-config-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:center}.sms-send-config-row>span{font-size:12px;color:var(--theme-text-soft)}.sms-target-toggle{display:flex;border:1px solid var(--theme-border);border-radius:8px;overflow:hidden;width:100%}.sms-target-toggle>button{min-width:0;flex:1;padding:0 8px;height:30px;border:0;background:#fff;color:var(--theme-text-soft);font-size:12px;font-weight:700;white-space:nowrap}.sms-target-toggle>button+button{border-left:1px solid var(--theme-border)}.sms-target-toggle>button.is-active{background:var(--theme-accent-soft);color:#9a3412}.sms-grade-chips{display:flex;flex-wrap:wrap;gap:6px}.sms-grade-chip{height:28px;padding:0 10px;border:1px solid var(--theme-border);border-radius:999px;background:#fff;font-size:12px;color:var(--theme-text)}.sms-grade-chip.is-active{background:var(--theme-accent-soft);border-color:var(--theme-accent-border);color:#9a3412;font-weight:700}.sms-schedule-toggle{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--theme-text)}.sms-schedule-fields{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sms-date-sep{color:var(--theme-text-soft);font-size:12px}.sms-date-today-btn{height:30px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;font-size:12px;color:var(--theme-text-soft)}.sms-date-today-btn:hover{background:#fff9f5;border-color:var(--theme-accent-border);color:#9a3412}.sms-schedule-fields input{min-height:34px}.sms-phone-shell{margin:0 auto;width:300px;height:590px;border-radius:34px;border:10px solid #1f2937;background:#0b1220;box-shadow:0 20px 40px #1118273d;position:relative;padding:10px}.sms-phone-notch{position:absolute;top:10px;left:50%;transform:translate(-50%);width:112px;height:20px;border-radius:0 0 14px 14px;background:#1f2937;z-index:2}.sms-phone-screen{position:relative;width:100%;height:100%;border-radius:24px;background:linear-gradient(180deg,#fff8f4,#fff2eb);padding:44px 12px 12px;display:grid;align-content:start;gap:8px;overflow:scroll}.sms-chat-time{text-align:center;font-size:11px;color:#8b5e4b}.sms-chat-bubble{justify-self:start;max-width:86%;background:#ffe6dc;border:1px solid #f6b79f;border-radius:14px 14px 4px;padding:10px;box-shadow:0 6px 12px #e8624029}.sms-chat-title{font-size:12px;font-weight:700;color:#8f2d14;margin-bottom:6px}.sms-chat-body{font-size:12px;line-height:1.55;color:var(--theme-text);white-space:pre-wrap;word-break:break-word}.sms-pending-list{display:grid;gap:8px;max-height:62vh;overflow-y:auto}.sms-pending-item{border:1px solid var(--theme-border);border-radius:8px;background:#fff;padding:8px;display:grid;gap:6px}.sms-pending-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sms-pending-item-head strong{min-width:0;font-size:12px;color:var(--theme-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-pending-item-head span{font-size:11px;color:var(--theme-text-soft);white-space:nowrap}.sms-pending-item-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--theme-text-soft)}@media (max-width: 1280px){.sms-layout-send,.sms-layout-template{grid-template-columns:240px minmax(0,1fr)}.sms-preview-panel,.sms-pending-panel{grid-column:1 / -1}}@media (max-width: 900px){.sms-layout-send,.sms-layout-template{grid-template-columns:1fr}.sms-phone-shell{width:min(250px,100%)}.sms-send-config-row{grid-template-columns:1fr}}.time-settings-middle-panel{grid-template-rows:auto minmax(0,1fr)}.time-settings-nav-panel{grid-template-rows:auto auto minmax(0,1fr);background:#f6f9fc}.time-settings-panel-desc{margin:0 0 6px;font-size:11px;color:var(--theme-text-soft);line-height:1.35}.time-settings-weekday-list{gap:4px}.time-settings-weekday-btn{width:100%;min-height:34px;height:34px;display:flex;align-items:center;justify-content:flex-start;padding:0 10px;border:1px solid #d9e1eb;border-radius:8px;background:#fff;color:#4f647c;font-size:12px;font-weight:600;text-align:left}.time-settings-weekday-btn:hover{border-color:var(--theme-accent-border);background:#fff9f6;color:var(--theme-text)}.time-settings-weekday-btn.is-selected{border-color:var(--theme-accent);background:#fff1ea;color:#b3472a;box-shadow:inset 0 0 0 1px #e862401f}.time-settings-form-stack{display:grid;gap:12px;align-content:start}.time-settings-form-card{border:1px solid #d5dde7;border-radius:10px;background:#fff;box-shadow:var(--ui-shadow-1);overflow:hidden}.time-settings-form-card h4{margin:0;padding:12px 16px;border-bottom:1px solid #e6ebf1;background:linear-gradient(180deg,#fff8f5,#fff3ed);font-size:12px;font-weight:700;color:var(--theme-text)}.time-settings-form-grid{display:grid;grid-template-columns:98px minmax(0,1fr);gap:8px 10px;padding:16px}.time-settings-form-grid label{display:flex;align-items:center;min-height:34px;padding:0 4px;border:1px solid rgba(148,163,184,.16);background:#f8fafc73;color:#666;font-size:11px;font-weight:600}.time-settings-form-grid input,.time-settings-form-grid select{min-height:34px;height:34px}.time-settings-form-grid input[type=time],.time-settings-form-grid select{border:1px solid rgba(232,98,64,.24);border-radius:8px;background:linear-gradient(180deg,#fffaf7,#fff);color:#2f3f52;font-size:12px;font-weight:700;padding:0 10px;box-shadow:inset 0 1px #ffffffbf;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.time-settings-form-grid input[type=time]:hover,.time-settings-form-grid select:hover{border-color:#e862406b;background:#fff7f2}.time-settings-form-grid input[type=time]:focus,.time-settings-form-grid select:focus{border-color:var(--theme-accent);box-shadow:var(--ui-focus-ring),inset 0 1px #fffc}.time-settings-form-grid input[type=time]::-webkit-calendar-picker-indicator{opacity:.85;cursor:pointer;filter:sepia(22%) saturate(220%) hue-rotate(337deg)}.time-settings-form-grid select{padding-right:30px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#c85d3d 50%),linear-gradient(135deg,#c85d3d 50%,transparent 50%),linear-gradient(180deg,#fffaf7,#fff);background-position:calc(100% - 16px) 13px,calc(100% - 11px) 13px,0 0;background-size:5px 5px,5px 5px,100% 100%;background-repeat:no-repeat}.time-settings-form-grid input[type=time]:disabled,.time-settings-form-grid select:disabled{border-color:#e8dcd6;background:#f8f2ee;color:#a8958b;box-shadow:none;cursor:not-allowed}.time-settings-checkbox-row{display:flex;align-items:center;min-height:32px}.time-settings-check-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--theme-text)}.time-settings-check-item input{width:16px;height:16px}.time-settings-checkbox-row .perm-item{border:0;background:transparent;padding:0}.time-settings-checkbox-row .perm-item-switch{justify-content:flex-start;min-height:32px}.time-settings-calendar-panel{grid-template-rows:auto minmax(0,1fr)}.time-settings-calendar-nav{display:inline-flex;align-items:center;gap:8px}.time-settings-calendar-nav strong{font-size:13px;color:var(--theme-text)}.time-settings-action-btn{padding:6px 10px;border-radius:8px;border:1px solid var(--theme-border);background:#fff;color:var(--theme-text);font-size:12px;font-weight:700}.time-settings-action-btn.is-primary{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.time-settings-action-btn.is-secondary{background:#fff;border-color:#d6dee8;color:#4f647c}.time-settings-action-btn.is-danger{background:#fff5f4;border-color:#efc3bf;color:#b93826}.time-settings-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-content:start}.time-settings-calendar-head{min-height:26px;display:grid;place-items:center;border:1px solid #d8e0ea;background:#eef3f8;font-size:12px;font-weight:700;color:#4b6079}.time-settings-calendar-cell{min-height:72px;border:1px solid #d8e0ea;border-radius:8px;background:#fff;padding:6px;display:grid;align-content:space-between;text-align:left}.time-settings-calendar-cell:hover{border-color:var(--theme-accent-border);background:#fff9f6}.time-settings-calendar-cell.is-selected{border-color:var(--theme-accent);box-shadow:inset 0 0 0 1px #e862401f,0 0 0 1px #e8624024;background:#fff3ed}.time-settings-calendar-cell.is-today{box-shadow:inset 0 0 0 1px #3b82f659;background:#f6f9ff}.time-settings-calendar-cell.is-configured{border-color:#8cc9bd;background:#eefaf7}.time-settings-calendar-cell.is-holiday{border-color:#f3b3b3;background:#fff1f1}.time-settings-calendar-cell.is-empty{border:1px dashed #dce4ee;border-radius:8px;background:#f8fbfe}.time-settings-calendar-day{font-size:13px;font-weight:700;color:var(--theme-text)}.time-settings-calendar-badge{justify-self:end;width:8px;height:8px;border-radius:999px;padding:0;font-size:0;line-height:0;background:#38b37f;box-shadow:0 0 0 1px #38b37f26}.time-settings-calendar-cell.is-holiday .time-settings-calendar-badge{width:auto;height:auto;padding:1px 6px;font-size:10px;line-height:1.25;font-weight:700;background:#dc26261f;color:#b91c1c;box-shadow:none}.time-settings-calendar-legend{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px;font-size:11px;color:var(--theme-text-soft)}.time-settings-legend-item{display:inline-flex;align-items:center;gap:5px}.time-settings-legend-item i{width:12px;height:12px;border:1px solid #d8e0ea;border-radius:3px;background:#fff;display:inline-block}.time-settings-legend-item i.is-selected{border-color:var(--theme-accent);background:#fff3ed}.time-settings-legend-item i.is-today{border-color:#8cb6f3;background:#eef4ff}.time-settings-legend-item i.is-configured{border-color:#8cc9bd;background:#eefaf7}.time-settings-legend-item i.is-holiday{border-color:#f3b3b3;background:#fff1f1}.time-settings-daily-column .time-settings-middle-panel{background:linear-gradient(180deg,#fffaf7,#fff 45%)}.time-settings-daily-column .time-settings-middle-panel .section-head{padding-bottom:4px;border-bottom:1px solid #efe7df}.time-settings-daily-column .time-settings-form-card:first-child input[readonly]{border-color:var(--theme-accent-border);background:#fff4ef;color:#b3472a;font-weight:700}.card:has(.code-settings-layout.is-time-settings){padding:18px;border-radius:var(--ui-card-radius)}.card:has(.code-settings-layout.is-time-settings)>h2{display:flex;align-items:center;min-height:34px;margin:0 0 14px;padding:0 0 0 11px;color:var(--theme-text);border-left:4px solid var(--theme-accent);font-size:17px}.code-settings-layout.is-time-settings{grid-template-columns:minmax(430px,.95fr) minmax(660px,1.45fr);gap:14px;padding:0}.time-settings-weekly-column{grid-template-columns:164px minmax(250px,1fr);gap:12px}.time-settings-daily-column{grid-template-columns:minmax(430px,1fr) minmax(270px,320px);gap:12px}.code-settings-layout.is-time-settings .catalog-master-panel{padding:14px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.code-settings-layout.is-time-settings .section-head{min-height:34px;margin:0;padding:0 0 10px;border-bottom:1px solid var(--theme-border)}.code-settings-layout.is-time-settings .section-head h3{display:flex;align-items:center;min-height:26px;padding:0 0 0 9px;color:var(--theme-text);border:0;border-left:3px solid var(--theme-accent);border-radius:0;background:transparent;font-size:14px}.code-settings-layout.is-time-settings .catalog-detail-actions{display:flex;gap:6px;flex-wrap:wrap}.code-settings-layout.is-time-settings .time-settings-panel-desc{margin:0;padding:9px 10px;color:var(--theme-text-soft);border-radius:8px;background:var(--theme-surface-soft);font-size:11px}.code-settings-layout.is-time-settings .time-settings-nav-panel{gap:10px;background:var(--theme-surface)}.code-settings-layout.is-time-settings .time-settings-weekday-list{gap:6px}.code-settings-layout.is-time-settings .time-settings-weekday-btn{position:relative;min-height:38px;height:38px;border-color:var(--theme-border);color:var(--theme-text-soft);box-shadow:none}.code-settings-layout.is-time-settings .time-settings-weekday-btn.is-selected{color:var(--theme-accent-strong);border-color:var(--theme-accent);background:var(--theme-accent-soft);box-shadow:inset 3px 0 0 var(--theme-accent)}.code-settings-layout.is-time-settings .time-settings-middle-panel{gap:12px;background:var(--theme-surface)}.code-settings-layout.is-time-settings .time-settings-form-stack{gap:10px}.code-settings-layout.is-time-settings .time-settings-form-card{border-color:var(--theme-border);border-radius:10px;box-shadow:none}.code-settings-layout.is-time-settings .time-settings-form-card h4{padding:10px 12px;border-color:var(--theme-border);background:var(--theme-surface-soft);font-size:12px}.code-settings-layout.is-time-settings .time-settings-form-grid{grid-template-columns:88px minmax(0,1fr);gap:7px 9px;padding:11px 12px}.code-settings-layout.is-time-settings .time-settings-form-grid label{border:0;background:transparent;color:var(--theme-text-soft)}.code-settings-layout.is-time-settings .time-settings-calendar-panel{padding:14px}.code-settings-layout.is-time-settings .time-settings-calendar-nav{padding:3px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface-soft)}.code-settings-layout.is-time-settings .time-settings-calendar-nav button{min-height:28px;padding:4px 9px;color:var(--theme-text-soft);border:0;border-radius:6px;background:transparent;font-size:11px;font-weight:700}.code-settings-layout.is-time-settings .time-settings-calendar-nav button:hover{color:var(--theme-accent);background:var(--theme-surface)}.code-settings-layout.is-time-settings .time-settings-calendar-nav strong{min-width:78px;color:var(--theme-text);text-align:center}.code-settings-layout.is-time-settings .time-settings-calendar-grid{gap:5px}.code-settings-layout.is-time-settings .time-settings-calendar-head{min-height:28px;color:var(--theme-text-soft);border-color:var(--theme-border);border-radius:6px;background:var(--theme-surface-soft);font-size:11px}.code-settings-layout.is-time-settings .time-settings-calendar-cell{min-height:78px;padding:8px;border-color:var(--theme-border);border-radius:9px}.code-settings-layout.is-time-settings .time-settings-calendar-cell.is-today{box-shadow:inset 0 0 0 1px #e8624061;background:var(--theme-surface-soft)}.code-settings-layout.is-time-settings .time-settings-calendar-cell.is-configured{border-color:#8cc9bd;background:var(--status-success-bg)}.code-settings-layout.is-time-settings .time-settings-calendar-cell.is-holiday{border-color:#f0c6c6;background:var(--status-danger-bg)}.code-settings-layout.is-time-settings .time-settings-calendar-cell.is-selected{box-shadow:inset 0 0 0 1px var(--theme-accent);background:var(--theme-accent-soft)}.code-settings-layout.is-time-settings .time-settings-calendar-legend{margin-top:4px;padding:9px;border-radius:8px;background:var(--theme-surface-soft)}.code-settings-layout.is-time-settings .time-settings-action-btn{min-height:30px;padding:5px 10px}@media (max-width: 1500px){.code-settings-layout.is-time-settings{grid-template-columns:1fr}.time-settings-daily-column{grid-template-columns:minmax(480px,1fr) minmax(270px,320px)}}@media (max-width: 900px){.time-settings-weekly-column,.time-settings-daily-column{grid-template-columns:1fr}.code-settings-layout.is-time-settings .time-settings-calendar-cell{min-height:62px}}@media (max-width: 560px){.card:has(.code-settings-layout.is-time-settings){padding:12px}.code-settings-layout.is-time-settings .catalog-master-panel{padding:11px}.code-settings-layout.is-time-settings .section-head{align-items:flex-start;flex-direction:column}.code-settings-layout.is-time-settings .time-settings-calendar-cell{min-height:46px;padding:5px}.code-settings-layout.is-time-settings .time-settings-calendar-day{font-size:11px}}.card:has(.code-settings-layout:not(.is-time-settings)){padding:18px;border-radius:var(--ui-card-radius)}.card:has(.code-settings-layout:not(.is-time-settings))>h2{display:flex;align-items:center;min-height:34px;margin:0 0 14px;padding:0 0 0 11px;color:var(--theme-text);border-left:4px solid var(--theme-accent);font-size:17px}.code-settings-layout:not(.is-time-settings){grid-template-columns:minmax(180px,.65fr) minmax(190px,.7fr) minmax(280px,1fr) minmax(460px,1.65fr);gap:12px}.code-settings-layout:not(.is-time-settings) .catalog-master-panel{padding:13px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.code-settings-layout:not(.is-time-settings) .section-head{min-height:34px;margin:0;padding:0 0 10px;border-bottom:1px solid var(--theme-border)}.code-settings-layout:not(.is-time-settings) .section-head h3{display:flex;align-items:center;min-height:26px;padding:0 0 0 9px;color:var(--theme-text);border:0;border-left:3px solid var(--theme-accent);border-radius:0;background:transparent;font-size:14px}.code-settings-layout:not(.is-time-settings) .catalog-master-count{padding:3px 7px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);font-size:10px}.code-settings-layout:not(.is-time-settings) .catalog-master-list{gap:7px;padding-top:2px}.code-settings-layout:not(.is-time-settings) .catalog-master-item{min-height:42px;padding:9px 10px;border-color:var(--theme-border);border-radius:9px;color:var(--theme-text-soft);transition:border-color .15s ease,background .15s ease,transform .15s ease}.code-settings-layout:not(.is-time-settings) .catalog-master-item:hover{border-color:var(--theme-accent-border);background:var(--theme-surface-soft);transform:translateY(-1px)}.code-settings-layout:not(.is-time-settings) .catalog-master-item.active{color:var(--theme-text);border-color:var(--theme-accent);background:var(--theme-accent-soft);box-shadow:inset 3px 0 0 var(--theme-accent)}.code-settings-layout:not(.is-time-settings) .catalog-master-item.is-product{min-height:58px;padding:10px 12px}.code-settings-layout:not(.is-time-settings) .catalog-master-item-meta{padding-top:5px;border-top:1px solid var(--theme-border);font-size:10px}.code-settings-layout:not(.is-time-settings) .catalog-detail-panel{align-content:start;gap:14px;background:linear-gradient(180deg,var(--theme-surface-soft),var(--theme-surface) 34%)}.code-settings-layout:not(.is-time-settings) .catalog-detail-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 11px;color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-surface);font-size:12px;font-weight:700}.code-settings-layout:not(.is-time-settings) .catalog-detail-actions button:last-child{color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent)}.code-settings-layout:not(.is-time-settings) .catalog-detail-grid{gap:8px 10px;padding:12px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface)}.code-settings-layout:not(.is-time-settings) .catalog-detail-grid label{display:flex;align-items:center;min-height:36px;color:var(--theme-text-soft);border-color:var(--theme-border);background:var(--theme-surface-soft);font-weight:700}.code-settings-layout:not(.is-time-settings) .catalog-detail-grid input,.code-settings-layout:not(.is-time-settings) .catalog-detail-grid select{min-height:36px;border-color:var(--theme-border)}.code-settings-layout:not(.is-time-settings) .catalog-detail-grid input:focus,.code-settings-layout:not(.is-time-settings) .catalog-detail-grid select:focus{border-color:var(--theme-accent);box-shadow:var(--ui-focus-ring);outline:none}.code-settings-layout:not(.is-time-settings) .catalog-detail-field-wide{padding:8px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface-soft)}@media (max-width: 1350px){.code-settings-layout:not(.is-time-settings){grid-template-columns:180px 200px minmax(260px,.85fr) minmax(360px,1.25fr)}}@media (max-width: 1100px){.code-settings-layout:not(.is-time-settings){grid-template-columns:repeat(2,minmax(0,1fr))}.code-settings-layout:not(.is-time-settings) .catalog-detail-panel{grid-column:1 / -1}}@media (max-width: 560px){.card:has(.code-settings-layout:not(.is-time-settings)){padding:12px}.code-settings-layout:not(.is-time-settings){grid-template-columns:1fr}.code-settings-layout:not(.is-time-settings) .catalog-detail-panel{grid-column:auto}.code-settings-layout:not(.is-time-settings) .section-head{align-items:flex-start;flex-direction:column}}.code-settings-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.code-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.code-settings-hero-title{display:flex;align-items:center;gap:10px}.code-settings-hero-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.code-settings-hero-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.code-settings-hero-title h2{margin:0;color:var(--theme-text);font-size:18px;line-height:1.25}.code-settings-hero-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.code-settings-hero-badge{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 9px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-surface);font-size:11px;font-weight:800}.code-settings-workspace-body{padding:14px}.code-settings-workspace .code-settings-layout{margin:0}.code-settings-workspace .code-settings-layout:not(.is-time-settings){grid-template-columns:minmax(180px,.65fr) minmax(190px,.7fr) minmax(280px,1fr) minmax(460px,1.65fr)}.code-settings-workspace .code-settings-layout:not(.is-time-settings) .catalog-master-panel{min-height:390px}.code-settings-stage-title{display:inline-flex;align-items:center;gap:6px}.code-settings-stage-title>span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--theme-on-accent);border-radius:50%;background:var(--theme-accent);font-size:10px;font-weight:800}.code-settings-workspace .code-settings-layout:not(.is-time-settings) .section-head h3{padding:0;border:0;background:transparent}.code-settings-workspace .code-settings-layout:not(.is-time-settings) .catalog-detail-panel{min-height:390px}.code-settings-workspace .code-settings-layout.is-time-settings{grid-template-columns:minmax(430px,.95fr) minmax(660px,1.45fr)}.code-settings-workspace .code-settings-layout.is-time-settings .catalog-master-panel{min-height:0}.code-settings-workspace .code-settings-layout.is-time-settings .section-head h3{padding:0 0 0 9px}@media (max-width: 1500px){.code-settings-workspace .code-settings-layout.is-time-settings{grid-template-columns:1fr}}@media (max-width: 1350px){.code-settings-workspace .code-settings-layout:not(.is-time-settings){grid-template-columns:180px 200px minmax(260px,.85fr) minmax(360px,1.25fr)}}@media (max-width: 1100px){.code-settings-workspace .code-settings-layout:not(.is-time-settings){grid-template-columns:repeat(2,minmax(0,1fr))}.code-settings-workspace .code-settings-layout:not(.is-time-settings) .catalog-detail-panel{grid-column:1 / -1}}@media (max-width: 560px){.code-settings-hero{align-items:flex-start;flex-direction:column;padding:14px}.code-settings-workspace-body{padding:12px}.code-settings-workspace .code-settings-layout:not(.is-time-settings){grid-template-columns:1fr}.code-settings-workspace .code-settings-layout:not(.is-time-settings) .catalog-detail-panel{grid-column:auto}}.rbac-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:start}.rbac-role-panel,.rbac-permission-panel{border:1px solid #cdd6e1;background:#f8fbfe;padding:8px}.rbac-role-panel{grid-column:span 3;min-width:0}.rbac-permission-panel{grid-column:span 9;min-width:0}.rbac-role-list{display:grid;gap:6px;max-height:62vh;overflow:auto}.rbac-add-row{display:grid;grid-template-columns:minmax(110px,140px) minmax(0,1fr) auto;gap:6px;margin-bottom:8px}.rbac-role-item{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:8px 10px;border:1px solid #d5dde7;background:#fff;color:#334860;width:100%}.rbac-role-item strong{min-width:0;font-size:14px;color:var(--theme-text)}.rbac-role-item span{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:#eef3f8;color:#57708b;font-size:11px;font-weight:700}.rbac-role-item.active{background:#dff5f1;border-color:#7ecfc5}.rbac-head-actions{display:flex;gap:6px;align-items:center}.staff-role-panel,.staff-list-panel,.staff-detail-panel,.staff-permission-panel{border:1px solid var(--theme-border);background:linear-gradient(180deg,#fffdfa,#fff7f2);border-radius:10px;padding:10px}.staff-role-filter-list{display:grid;gap:6px}.staff-role-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.staff-role-filter-item{width:100%;text-align:left;background:#fff;border:1px solid var(--theme-border);color:var(--theme-text)}.staff-role-filter-item.active{background:var(--theme-accent-soft);border-color:var(--theme-accent-border);color:#9a3412;font-weight:700}.staff-role-edit-btn{min-height:34px;padding:0 10px;white-space:nowrap}.staff-role-edit-box{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-top:6px;padding:8px;border:1px solid var(--theme-border);border-radius:8px;background:#fff}.staff-role-edit-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.staff-role-edit-actions>button{min-height:32px}.staff-role-edit-danger{color:#b91c1c;border-color:#fca5a5;background:#fff}.staff-role-edit-danger:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.staff-role-edit-danger:disabled{color:#fca5a5;border-color:#fecaca;background:#fff}.staff-role-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-bottom:8px}.staff-role-create-row button{min-width:74px}.staff-permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.staff-permission-group{display:grid;align-content:start;gap:8px;border:1px solid var(--theme-border);border-radius:10px;background:linear-gradient(180deg,#fffdfb,#fff7f2);padding:10px}.staff-permission-inline-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:2px 0}.staff-permission-inline-row strong{min-width:0;font-size:13px;color:var(--theme-text)}.staff-permission-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--theme-text-soft)}.staff-permission-guide{margin-top:6px;font-size:12px;color:var(--theme-text-soft)}.staff-permission-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.staff-permission-summary-card{display:grid;gap:4px;padding:10px;border:1px solid var(--theme-border);border-radius:10px;background:#fff}.staff-permission-summary-card strong{font-size:12px;color:var(--theme-text-soft)}.staff-permission-summary-card span{font-size:20px;font-weight:800;color:var(--theme-text)}.staff-permission-preview-block{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--theme-border);border-radius:10px;background:linear-gradient(180deg,#fffdfb,#fff7f2)}.staff-permission-preview-columns{display:grid;grid-template-columns:1fr;gap:10px}.staff-permission-preview-column{display:grid;gap:8px}.staff-permission-mini-head{font-size:12px;color:var(--theme-text-soft)}.staff-permission-chip-list{display:flex;flex-wrap:wrap;gap:8px}.staff-permission-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);color:#9a3412}.staff-permission-modal{width:min(1120px,calc(100vw - 40px));max-height:min(86vh,920px)}.staff-permission-groups-modal{grid-template-columns:repeat(2,minmax(0,1fr));overflow-y:auto;padding-right:2px}.staff-list-table-wrap{max-height:62vh;overflow:auto}.staff-list-panel table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--theme-border);border-radius:8px;overflow:hidden}.staff-list-panel table thead th{background:var(--theme-accent-soft);color:var(--theme-text);font-size:11px;font-weight:700;padding:10px 12px;text-align:left;border-bottom:1px solid var(--theme-accent-border)}.staff-list-panel table tbody td{padding:10px 12px;border-bottom:1px solid #efe2db;color:var(--theme-text)}.staff-list-panel table tbody tr:last-child td{border-bottom:0}.staff-list-panel table tbody tr:hover td{background:#fff4ef}.staff-list-panel table tbody tr.row-selected td{background:#ffe8de}.staff-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.staff-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.staff-workspace-title{display:flex;align-items:center;gap:10px}.staff-workspace-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.staff-workspace-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.staff-workspace-title h2{margin:0;color:var(--theme-text);font-size:18px;line-height:1.25}.staff-workspace-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.staff-workspace-badge{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 9px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-surface);font-size:11px;font-weight:800}.staff-workspace-body{padding:14px}.staff-workspace .staff-layout{grid-template-columns:minmax(210px,.72fr) minmax(280px,.92fr) minmax(300px,1.05fr) minmax(350px,1.3fr);gap:12px}.staff-workspace .staff-role-panel,.staff-workspace .staff-list-panel,.staff-workspace .staff-detail-panel,.staff-workspace .staff-permission-panel{min-height:420px;padding:13px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.staff-workspace .section-head{min-height:34px;margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid var(--theme-border)}.staff-workspace .section-head h3{display:flex;align-items:center;min-height:26px;padding:0 0 0 9px;color:var(--theme-text);border:0;border-left:3px solid var(--theme-accent);border-radius:0;background:transparent;font-size:14px}.staff-workspace .section-head>button{min-height:30px;padding:5px 10px;color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent);font-size:12px;font-weight:700}.staff-workspace .staff-role-create-row{padding:9px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface-soft)}.staff-workspace .staff-role-create-row input{min-width:0;border-color:var(--theme-border);font-size:12px}.staff-workspace .staff-role-create-row button{color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-surface);font-weight:700}.staff-workspace .staff-role-filter-item{min-height:38px;border-color:var(--theme-border);border-radius:8px;color:var(--theme-text-soft);font-size:12px;font-weight:700}.staff-workspace .staff-role-filter-item.active{color:var(--theme-text);border-color:var(--theme-accent);background:var(--theme-accent-soft);box-shadow:inset 3px 0 0 var(--theme-accent)}.staff-workspace .staff-role-edit-btn{min-height:38px;color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-surface);font-size:11px;font-weight:700}.staff-workspace .staff-list-panel>.row{margin:0 0 9px}.staff-workspace .staff-list-panel>.row input{min-height:34px;font-size:12px}.staff-workspace .staff-list-panel table{border-color:var(--theme-border);border-radius:9px}.staff-workspace .staff-list-panel table thead th{background:var(--theme-surface-soft);color:var(--theme-text-soft);border-color:var(--theme-border)}.staff-workspace .staff-list-panel table tbody td{font-size:12px;border-color:var(--theme-border)}.staff-workspace .staff-list-panel table tbody tr.row-selected td{background:var(--theme-accent-soft)}.staff-workspace .staff-detail-panel,.staff-workspace .staff-permission-panel{background:linear-gradient(180deg,var(--theme-surface-soft),var(--theme-surface) 32%)}.staff-workspace .patient-form-grid{gap:7px 9px}.staff-workspace .patient-form-grid label{min-height:34px;color:var(--theme-text-soft);border-color:var(--theme-border);background:var(--theme-surface);font-size:11px;font-weight:700}.staff-workspace .patient-form-grid input,.staff-workspace .patient-form-grid select{min-height:34px;font-size:12px}.staff-workspace .staff-permission-preview-block{margin-top:0;padding:12px;border-color:var(--theme-border);background:var(--theme-surface)}.staff-workspace .staff-permission-group{padding:9px;border-color:var(--theme-border);background:var(--theme-surface-soft)}.staff-workspace .staff-permission-inline-row strong{font-size:12px}@media (max-width: 1500px){.staff-workspace .staff-layout{grid-template-columns:minmax(200px,.7fr) minmax(270px,.9fr) minmax(300px,1.1fr)}.staff-workspace .staff-permission-panel{grid-column:2 / -1}}@media (max-width: 1050px){.staff-workspace .staff-layout{grid-template-columns:1fr 1fr}.staff-workspace .staff-detail-panel,.staff-workspace .staff-permission-panel{grid-column:auto}}@media (max-width: 560px){.staff-workspace-hero{align-items:flex-start;flex-direction:column;padding:14px}.staff-workspace-body{padding:12px}.staff-workspace .staff-layout{grid-template-columns:1fr}.staff-workspace .staff-role-panel,.staff-workspace .staff-list-panel,.staff-workspace .staff-detail-panel,.staff-workspace .staff-permission-panel{min-height:0}}.staff-workspace .section-head h3{color:var(--theme-text)!important}.patient-left{align-self:start}.patient-right,.customer-panel{display:grid;gap:var(--space-4)}.customer-profile{border:1px solid var(--theme-border);background:linear-gradient(180deg,#fff,#fff7ed 120%);border-radius:var(--ui-card-radius);padding:var(--space-4);display:grid;gap:var(--space-3)}.customer-profile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.customer-profile-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-accent)}.customer-name-row{display:flex;align-items:center;gap:8px;margin-top:6px}.customer-name{margin:0;font-size:20px;font-weight:700;color:var(--theme-text);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.customer-english-name{font-size:13px;font-weight:400;color:var(--theme-text-soft)}.customer-grade-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--ui-radius-pill);background:var(--theme-accent);color:var(--theme-on-accent);font-size:11px;font-weight:700}.customer-summary{display:grid;gap:4px;margin-top:6px}.customer-meta{font-size:12px;color:var(--theme-text)}.customer-meta-muted{color:var(--theme-text-soft)}.customer-meta-strong{color:var(--theme-text);font-weight:600}.customer-save-btn{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent);font-size:12px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 8px 16px #e8624040}.customer-save-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.customer-balance-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.customer-balance-card{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);padding:var(--space-3);background:#fff;display:grid;gap:var(--space-2);box-shadow:var(--ui-shadow-1)}.customer-balance-card span{font-size:11px;color:var(--theme-text-soft)}.customer-balance-card strong{font-size:18px;color:var(--theme-text)}.customer-balance-card.is-accent{border-color:#fdba74;background:var(--status-warning-bg)}.customer-recent{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);padding:var(--space-3);background:#fff}.customer-recent-title{margin-bottom:8px;font-size:12px;font-weight:700;color:var(--theme-text)}.customer-recent-list{display:flex;flex-wrap:wrap;gap:6px}.customer-recent-chip{padding:5px 10px;border-radius:var(--ui-radius-pill);border:1px solid var(--theme-accent-border);background:var(--theme-surface-soft);color:var(--theme-text);font-size:12px}.customer-recent-chip.active{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.customer-section{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);background:#fff;padding:var(--space-4)}.customer-section-collapsible{padding:0;overflow:hidden;gap:0}.customer-section-toggle{width:100%;padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:none;background:transparent;cursor:pointer}.customer-section-toggle:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px;border-radius:calc(var(--ui-card-radius) - 2px)}.customer-section-chevron{font-size:12px;color:var(--theme-text-soft);transition:transform .2s ease}.customer-section-chevron.open{transform:rotate(180deg)}.customer-section-body{padding:var(--space-4);border-top:1px solid var(--theme-border);display:grid;gap:var(--space-4);overflow:hidden;transition:max-height .25s ease,opacity .2s ease;opacity:1}.customer-section-body.is-closed{padding-top:0;padding-bottom:0;opacity:0}.customer-subsection{display:grid;gap:var(--space-3)}.customer-section-title{margin:0;font-size:12px;font-weight:700;color:var(--theme-text)}.customer-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.customer-field{display:grid;gap:var(--space-2)}.customer-field label{font-size:11px;color:var(--theme-text-soft)}.customer-field-input{height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--theme-border);background:#f8fafc;font-size:12px;color:var(--theme-text)}.customer-field-input.is-readonly{background:#f8fafc}.customer-field-wide{grid-column:1 / -1}.customer-memo-viewer{min-height:330px;max-height:330px;padding:var(--space-3) var(--space-4);border:1px solid var(--theme-border);border-radius:8px;background:#f8fafc;color:var(--theme-text);overflow-y:auto;overflow-x:hidden;line-height:1.6;margin-top:15px}.customer-consent-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.customer-consent-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--theme-border);border-radius:8px;background:#f8fafc;font-size:12px}.patient-list-box{margin-top:10px;border:1px solid #cdd6e1;background:#f8fbfe;padding:8px}.patient-list-table-wrap{max-height:34vh;overflow:auto}.patient-form-grid{display:grid;grid-template-columns:92px 1fr;gap:4px 6px;margin-bottom:8px}.staff-stamp-field{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;flex-wrap:wrap}.staff-stamp-preview{width:56px;height:56px;object-fit:contain;border:1px solid var(--theme-border);background:#fff;border-radius:6px;flex:0 0 auto}.staff-stamp-empty{font-size:12px;color:var(--theme-text-muted, #999)}.staff-stamp-actions{display:flex;align-items:center;gap:6px}.staff-stamp-upload{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;font-size:12px;line-height:1;border:1px solid var(--theme-accent-border);background:var(--theme-accent-soft);color:var(--theme-text);border-radius:6px;cursor:pointer;white-space:nowrap}.staff-stamp-upload:hover{background:var(--theme-accent);color:var(--theme-on-accent, #fff);border-color:var(--theme-accent)}.staff-stamp-upload input[type=file]{display:none}.staff-stamp-remove{flex:0 0 auto}.patient-modal-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);align-items:stretch}.patient-modal-section{border:1px solid var(--theme-border);background:#fff;padding:var(--space-4);min-width:0;border-radius:var(--ui-card-radius);box-shadow:var(--ui-shadow-1);display:flex;flex-direction:column}.patient-modal-section .patient-modal-grid{flex:1 1 auto;align-content:start}.patient-modal-field-memo-grow,.patient-modal-field-memo-grow .schedule-rich-editor{flex:1 1 auto;display:flex;flex-direction:column}.patient-modal-field-memo-grow .schedule-rich-surface{flex:1 1 auto;min-height:80px}.patient-modal-section h4{margin:0 0 var(--space-3);font-size:13px;font-weight:700;color:var(--theme-text)}.patient-edit-modal{display:grid;grid-template-rows:auto 1fr;max-height:82vh;padding:0;overflow:hidden}.patient-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);background:#fff;border-bottom:1px solid var(--theme-border)}.patient-modal-header h3{margin:0;font-size:16px;color:var(--theme-text)}.patient-modal-header p{margin:4px 0 0;font-size:12px;color:var(--theme-text-soft)}.patient-modal-actions{display:flex;gap:var(--space-2);align-items:center}.modal-action-btn{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--theme-border);background:#fff;color:var(--theme-text);font-size:12px;font-weight:700;cursor:pointer}.modal-action-btn.primary{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.modal-action-btn.secondary{background:#fff;border-color:var(--theme-border)}.btn-inline-spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:front-board-spin .7s linear infinite;margin-right:6px}.patient-modal-body{padding:var(--space-4);display:grid;gap:var(--space-4);background:#fdfcfb;overflow:auto}.patient-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.patient-modal-field{display:grid;gap:var(--space-2);font-size:12px;color:var(--theme-text)}.patient-modal-field span{color:var(--theme-text-soft);font-size:11px}.patient-modal-field input,.patient-modal-field select,.patient-modal-field textarea{height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--theme-border);background:#fff;font-size:13px;width:100%}.patient-modal-field textarea{min-height:120px;padding:10px 12px}.patient-modal-field-wide{grid-column:1 / -1}.patient-modal-consent{grid-column:1 / -1;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft);padding:var(--space-3);display:grid;gap:var(--space-2)}.patient-modal-consent-title{font-size:11px;font-weight:700;color:var(--theme-text-soft)}.patient-consent-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.patient-consent-item{display:flex;align-items:center;justify-content:space-between;min-width:0;width:100%}.patient-consent-item>span:first-child{flex:1 1 auto;min-width:0;text-align:left}.patient-consent-item .perm-switch-slider{margin-left:auto}.consult-meta-grid{display:grid;grid-template-columns:92px minmax(0,1fr) 92px minmax(0,1fr);gap:4px 6px;margin-bottom:8px;align-items:stretch}.consult-meta-grid label{background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;font-size:12px;color:var(--theme-text)}.consult-meta-grid input,.consult-meta-grid select,.consult-meta-grid textarea{width:100%;min-width:0}.consult-form-section{border:1px solid var(--theme-accent-border);border-radius:6px;background:var(--theme-surface-soft);margin-bottom:8px;overflow:hidden}.consult-form-header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--theme-accent);color:var(--theme-on-accent);font-size:12px;font-weight:700}.consult-form-header-icon{font-size:13px}.consult-form-section .consult-meta-grid{padding:8px;margin-bottom:0}.consult-entry-base-grid{display:grid;grid-template-columns:80px minmax(0,1fr);gap:4px 6px;padding:8px;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:4px;margin-top:6px}.consult-entry-base-grid label{background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;font-size:12px;color:var(--theme-text);display:flex;align-items:center}.consult-entry-base-grid input,.consult-entry-base-grid textarea{width:100%;min-width:0}.consult-entry-base-grid textarea{resize:vertical}.consult-form-actions{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--theme-border)}.consult-entry-list{padding:0!important;border:1px solid var(--theme-accent-border)!important;border-radius:6px!important;overflow:hidden}.consult-list-table{border-radius:0!important}.consult-list-table thead th{background:var(--theme-accent-soft)!important;color:var(--theme-text)!important;font-size:11px;font-weight:700;border-bottom:2px solid var(--theme-accent-border)!important;white-space:nowrap}.consult-list-table tbody tr:hover td{background:#fff2ee}.consult-list-table tbody tr.row-selected td{background:#ffe8e0!important}.consult-list-date{white-space:nowrap;color:var(--theme-text-soft);font-size:11px}.consult-list-title{color:var(--theme-text);font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consult-list-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.consult-list-badge--type{background:#eef3f8;color:#334860;border:1px solid #cdd6e4}.consult-list-badge--inflow{background:#f0f7ee;color:#2e6e3e;border:1px solid #b6d9b4}.consult-list-badge--result{background:#f5f5f5;color:#555;border:1px solid #ddd}.consult-list-empty{text-align:center!important;color:var(--theme-text-soft);padding:24px 0!important;font-size:12px}.consult-panel{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:var(--space-4)}.consult-form{min-width:0}.consult-card{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);background:#fff;box-shadow:var(--ui-shadow-1);overflow:hidden;display:grid}.consult-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--theme-border);background:#fff2ee}.consult-card-head strong{font-size:15px;color:var(--theme-text)}.consult-card-head span{display:block;margin-top:4px;font-size:12px;color:var(--theme-text-soft)}.consult-card-body{padding:var(--space-4);display:grid;gap:var(--space-4)}.consult-card-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--theme-border);background:#fafafa}.consult-section{display:grid;gap:var(--space-3)}.consult-section-title{font-size:12px;font-weight:700;color:var(--theme-text)}.consult-field-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.consult-field{display:grid;gap:var(--space-2);font-size:12px;color:var(--theme-text)}.consult-field span{font-size:11px;color:var(--theme-text-soft)}.consult-field input,.consult-field select,.consult-field textarea{height:38px;padding:0 12px;width:100%;border-radius:8px;border:1px solid var(--theme-border);background:#fff;font-size:13px}.consult-field textarea{min-height:120px;padding:10px 12px;resize:vertical}.consult-staff-select{position:relative}.consult-staff-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:220px;overflow:auto;border:1px solid var(--theme-border);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow-1)}.consult-staff-option{width:100%;text-align:left;border:0;border-bottom:1px solid #f1e8e3;background:#fff;padding:9px 12px;font-size:13px;color:var(--theme-text)}.consult-staff-option:last-child{border-bottom:0}.consult-staff-option:hover{background:#fff4ef}.consult-staff-empty{padding:10px 12px;font-size:12px;color:var(--theme-text-soft)}.consult-field-wide{grid-column:1 / -1}.patient-staff-search-select{position:relative}.patient-staff-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:220px;overflow:auto;border:1px solid var(--theme-border);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow-1)}.patient-staff-search-option{width:100%;text-align:left;border:0;border-bottom:1px solid #f1e8e3;background:#fff;padding:9px 12px;font-size:13px;color:var(--theme-text)}.patient-staff-search-option:last-child{border-bottom:0}.patient-staff-search-option:hover{background:#fff4ef}.patient-staff-search-empty{padding:10px 12px;font-size:12px;color:var(--theme-text-soft)}.required{margin-left:2px;color:#e11d48;font-weight:700}.consult-action-group{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.consult-action-group-top{align-items:center}.consult-btn{height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--theme-border);background:#fff;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer}.consult-btn-primary{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.consult-btn-secondary{background:#fff;color:var(--theme-text)}.consult-history-card{border:1px solid var(--theme-border)!important;border-radius:var(--ui-card-radius)!important;box-shadow:var(--ui-shadow-1);overflow:hidden}.consult-history-card .consult-card-head{background:#fff2ee}.consult-history-card .consult-list-table thead th{background:var(--theme-accent-soft)!important;border-bottom:1px solid var(--theme-accent-border)!important;font-size:11px}.consult-history-card .consult-list-table tbody td{padding:12px 14px;border-bottom:1px solid #efe2db}.consult-history-card .consult-list-table tbody tr:hover td{background:#fff7ed}.consult-history-card .consult-list-table tbody tr.row-selected td{background:#ffedd5!important}.consult-history-card .consult-list-badge{border-radius:var(--ui-radius-pill)}@media (max-width: 900px){.consult-panel,.consult-field-grid,.reservation-grid{grid-template-columns:1fr}.reservation-form-body{grid-template-columns:1fr;grid-template-areas:"form" "payment" "history" "detail"}.reservation-form-body>.reservation-payment-inline,.reservation-form-body>.reservation-history-inline,.reservation-form-body>.reservation-payment-detail-inline{height:auto}.reservation-field-wide,.reservation-field-memo{grid-column:span 1}}.patient-toolbar{display:grid;grid-template-columns:110px 1fr auto;gap:6px;margin-bottom:6px}.patient-toolbar-simple{grid-template-columns:auto 1fr;align-items:center}.patient-toolbar-selected{padding:6px 8px;border:1px solid #cdd6e1;background:#f5f8fc;color:#556b86;font-size:12px}.patient-recent-box{margin-bottom:8px}.patient-recent-title{margin-bottom:4px;font-size:12px;font-weight:700;color:var(--theme-text)}.patient-recent-list{display:flex;flex-wrap:wrap;gap:6px}.patient-recent-chip{padding:5px 9px;border:1px solid var(--theme-accent-border);background:var(--theme-surface-soft);color:var(--theme-text);font-size:12px}.patient-recent-chip.active{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.section-head h2,.section-head h3{margin:0;padding:6px 10px;background:var(--theme-accent);border:1px solid var(--theme-accent);border-radius:6px;color:var(--theme-on-accent);font-size:13px;line-height:1}.patient-form-grid label{background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;font-size:12px;color:var(--theme-text)}.patient-memo-viewer{min-height:120px;max-height:220px;padding:8px 10px;border:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-text);overflow-y:auto;overflow-x:hidden;line-height:1.6}.patient-memo-viewer p{margin:0 0 8px}.patient-memo-viewer p:last-child{margin-bottom:0}.patient-rich-editor{min-height:180px;max-height:240px}.tab-row{display:flex;gap:4px;margin-bottom:8px;border-bottom:1px solid var(--theme-border);padding-bottom:6px}.tab-btn{background:var(--theme-surface-soft);border:1px solid var(--theme-border);color:var(--theme-text);font-size:12px;padding:5px 10px;border-radius:5px}.tab-btn.active{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.detail-tab-row{flex-wrap:wrap}.tab-count{margin-left:6px;font-size:11px;opacity:.8}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.patient-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.patient-summary-card{border:1px solid var(--theme-accent-border);background:linear-gradient(180deg,#fff8f5,#fff1eb);padding:10px;display:grid;gap:4px}.patient-summary-card strong{color:var(--theme-text);font-size:16px}.patient-summary-card span{color:var(--theme-text-soft);font-size:12px}.patient-summary-label{color:var(--theme-text-soft);font-size:11px;font-weight:700}.patient-quick-links{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.detail-entry-form,.detail-entry-list{border:1px solid var(--theme-border);padding:8px;min-width:0}.detail-entry-form textarea{width:100%;resize:vertical}.detail-entry-list{background:linear-gradient(180deg,#fffdfa,#fff8f4);border-radius:12px;overflow:hidden}.detail-entry-list>table{width:100%;border-collapse:separate;border-spacing:0;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:10px;overflow:hidden}.detail-entry-list>table thead th{background:var(--theme-accent-soft);color:var(--theme-text);font-size:11px;font-weight:700;padding:10px 12px;text-align:left;border-bottom:1px solid var(--theme-accent-border);white-space:nowrap}.detail-entry-list>table tbody td{padding:10px 12px;border-bottom:1px solid #efe2db;color:var(--theme-text)}.detail-entry-list>table tbody tr:last-child td{border-bottom:0}.detail-entry-list>table tbody tr:hover td{background:#fff4ef}.detail-entry-list>table tbody tr.row-selected td{background:#ffe8de}.prescription-preview-card{padding:12px;background:linear-gradient(180deg,#fffdfa,#fff7f2)}.prescription-preview-sheet{min-height:100%;border:1px solid #d8c8bf;border-radius:10px;background:#fff;box-shadow:0 10px 24px #7c422d14;overflow:hidden}.prescription-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid #e7d9d1;background:#fff3ed}.prescription-preview-head strong{font-size:16px;color:#8f2d14;letter-spacing:.04em}.prescription-preview-head span{font-size:12px;color:var(--theme-text-soft)}.prescription-preview-body{display:grid;gap:0}.prescription-preview-row{display:grid;grid-template-columns:110px minmax(0,1fr);border-bottom:1px solid #efe3dc}.prescription-preview-row>span{padding:10px 12px;font-size:12px;font-weight:700;color:#6f5b52;background:#fff9f6;border-right:1px solid #efe3dc}.prescription-preview-row>strong{padding:10px 12px;font-size:13px;color:var(--theme-text);font-weight:500}.prescription-preview-row>strong input{width:100%;min-width:0;height:32px;padding:0 8px;border:1px solid var(--theme-border);border-radius:6px;background:#fff;font-size:12px;color:var(--theme-text)}.prescription-drug-picker{border:1px solid var(--theme-border);border-radius:8px;background:#fff;padding:8px;display:grid;gap:8px}.prescription-drug-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--theme-text-soft)}.prescription-drug-picker-head strong{color:#9a3412}.prescription-drug-picker-list{max-height:160px;overflow-y:auto;display:grid;gap:4px}.prescription-drug-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid #f0e4dd;border-radius:6px;background:#fffdfa;font-size:12px;color:var(--theme-text)}.prescription-drug-option:hover{background:#fff4ef}.prescription-preview-table-wrap{padding:10px 12px;border-bottom:1px solid #efe3dc}.prescription-preview-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border:1px solid #e7d9d1}.prescription-preview-table th,.prescription-preview-table td{border:1px solid #e7d9d1;padding:7px 8px;text-align:left;color:var(--theme-text)}.prescription-preview-table th{background:#fff3ed;font-weight:700;color:#6f5b52}.prescription-preview-table th:first-child,.prescription-preview-table td:first-child{width:56px;text-align:center}.prescription-preview-table td input{width:100%;box-sizing:border-box;padding:4px 6px;border:1px solid #e0d2c9;border-radius:5px;font-size:12px}.prescription-preview-table td:last-child{width:52px;text-align:center}.prescription-preview-table td button{padding:3px 8px;font-size:11px;border:1px solid #d9b3a6;background:#fff;color:#8f2d14;border-radius:5px;cursor:pointer}.prescription-preview-table td button:hover{background:#fff3ed}.prescription-pdf-btn{margin-left:auto;padding:5px 12px;font-size:12px;font-weight:600;border:1px solid var(--theme-accent, #e86240);background:var(--theme-accent, #e86240);color:#fff;border-radius:6px;cursor:pointer}.prescription-pdf-btn:disabled{background:#d9cfc9;border-color:#d9cfc9;color:#fff;cursor:not-allowed}.prescription-drug-search{position:relative;padding:0 12px 8px}.prescription-drug-search input{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid #e0d2c9;border-radius:6px;font-size:13px}.prescription-drug-dropdown{position:absolute;left:12px;right:12px;top:100%;z-index:20;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #e0d2c9;border-radius:8px;box-shadow:0 8px 20px #7c422d26}.prescription-add-row .prescription-drug-dropdown{left:0;right:0}.prescription-drug-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid #f1e7e0;background:#fff;text-align:left;cursor:pointer}.prescription-drug-option:last-child{border-bottom:none}.prescription-drug-option:hover{background:#fff3ed}.prescription-drug-option strong{font-size:13px;color:var(--theme-text)}.prescription-drug-option span{font-size:11px;color:var(--theme-text-soft)}.prescription-preview-note{padding:12px;background:#fffdfa}.prescription-preview-note-title{margin-bottom:6px;font-size:12px;font-weight:700;color:#6f5b52}.prescription-preview-note p{margin:0;min-height:72px;padding:10px;border:1px dashed #d9c7be;border-radius:8px;background:#fff;font-size:12px;line-height:1.6;color:var(--theme-text);white-space:pre-wrap}.prescription-preview-note textarea{width:100%;min-height:88px;padding:10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;font-size:12px;line-height:1.6;color:var(--theme-text);resize:vertical}.prescription-preview-sign{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-top:1px solid #efe3dc;background:#fff;font-size:12px;color:var(--theme-text-soft)}.prescription-preview-sign strong{color:var(--theme-text);font-weight:700}.prescription-sign-doctor{display:flex;align-items:center;gap:10px}.prescription-sign-doctor-text{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.prescription-sign-stamp{width:48px;height:48px;object-fit:contain}.patient-detail-workspace .prescription-detail-grid{grid-template-columns:minmax(680px,1fr) minmax(220px,280px);align-items:start}.patient-detail-workspace .prescription-editor-column,.patient-detail-workspace .prescription-history-column{min-width:0}.patient-detail-workspace .prescription-preview-sheet{border-color:#dfc8bd;border-radius:12px;box-shadow:0 12px 26px #5b3b2f14}.patient-detail-workspace .prescription-preview-head{min-height:54px;padding:10px 14px}.patient-detail-workspace .prescription-preview-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}.patient-detail-workspace .prescription-preview-head strong{font-size:16px}.patient-detail-workspace .prescription-preview-head span{font-size:12px}.patient-detail-workspace .prescription-preview-head small{color:#a17f71;font-size:11px}.prescription-head-actions{margin-left:auto;display:flex;align-items:center;gap:7px}.prescription-head-actions .prescription-pdf-btn{margin-left:0;min-width:48px}.patient-detail-workspace .prescription-preview-body{background:#fff}.prescription-live-bar{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border-bottom:1px solid #eee1da;background:#fffaf7}.prescription-live-bar>strong{color:var(--theme-accent-strong);font-size:11px}.prescription-live-bar>span{display:flex;align-items:center;gap:7px;color:#61766c;font-size:11px}.prescription-live-bar>span i{width:6px;height:6px;border-radius:50%;background:#58a477;box-shadow:0 0 0 3px #e3f1e8}.prescription-document-title{min-height:52px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:8px 14px 9px}.prescription-document-title small{color:#84766e;font-size:10px}.prescription-document-title h2{margin:0;padding-left:.34em;font-size:22px;letter-spacing:.34em;text-align:center}.prescription-document-title b{justify-self:end;padding:3px 6px;border:1px solid #9d8579;color:#624f46;font-size:10px}.prescription-insurance-line{min-height:34px;display:flex;align-items:center;gap:9px;padding:5px 11px;border-top:1px solid #765f54;border-bottom:1px solid #765f54}.prescription-insurance-line button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:#7c6d65;font-size:10px}.prescription-insurance-line button i{width:10px;height:10px;border:1px solid #97857c;background:#fff}.prescription-insurance-line button.is-selected{color:var(--theme-text);font-weight:800}.prescription-insurance-line button.is-selected i{border-color:var(--theme-accent);background:var(--theme-accent);box-shadow:inset 0 0 0 2px #fff}.prescription-insurance-line>span{margin-left:auto;color:#7c6d65;font-size:10px}.prescription-document-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #806c62}.prescription-document-meta label{min-height:36px;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:stretch;border-top:1px solid #e6d8d1;border-right:1px solid #e6d8d1}.prescription-document-meta label:nth-child(2n){border-right:0}.prescription-document-meta label>span{display:flex;align-items:center;padding:0 9px;background:#fff7f3;color:#6f5045;font-size:11px;font-weight:800}.prescription-document-meta label>strong,.prescription-document-meta label>input,.prescription-document-meta label>select{width:100%;min-width:0;height:100%;display:flex;align-items:center;margin:0;padding:0 10px;border:0;border-left:1px solid #eaded8;border-radius:0;outline:0;background:#fff;font-size:12px;font-weight:600}.prescription-document-meta label>input:focus,.prescription-document-meta label>select:focus{box-shadow:inset 0 0 0 2px #f2a38e}.patient-detail-workspace .prescription-add-row{min-height:45px;padding:6px 10px;border-bottom:1px solid #eee1da}.patient-detail-workspace .prescription-bundle-load select{width:140px;height:32px;font-size:11px}.patient-detail-workspace .prescription-bundle-load button{height:32px;padding:0 11px;font-size:11px}.patient-detail-workspace .prescription-drug-search{height:32px;display:flex;align-items:center;border:1px solid #e0d2c9;border-radius:6px;background:#fff}.patient-detail-workspace .prescription-drug-search>input{min-width:0;flex:1;height:100%;padding:0 8px;border:0;outline:0;font-size:12px}.prescription-search-icon{padding-left:8px;color:#9b8d86;font-size:17px}.patient-detail-workspace .prescription-drug-dropdown{left:0;right:0;top:calc(100% + 3px)}.patient-detail-workspace .prescription-preview-table-wrap{padding:0}.patient-detail-workspace .prescription-preview-table{table-layout:fixed;border:0;font-size:11px}.patient-detail-workspace .prescription-preview-table th,.patient-detail-workspace .prescription-preview-table td{height:38px;padding:5px 6px;border-color:#eaded8;text-align:center}.patient-detail-workspace .prescription-preview-table th{height:34px;background:#fff0e9;color:#6e4d41;font-size:10px}.patient-detail-workspace .prescription-preview-table th:first-child,.patient-detail-workspace .prescription-preview-table td:first-child{width:43px}.patient-detail-workspace .prescription-preview-table th:nth-child(2){width:28%}.patient-detail-workspace .prescription-preview-table th:nth-child(3),.patient-detail-workspace .prescription-preview-table th:nth-child(4),.patient-detail-workspace .prescription-preview-table th:nth-child(5){width:12%}.patient-detail-workspace .prescription-preview-table th:nth-child(6){width:19%}.patient-detail-workspace .prescription-preview-table th:last-child,.patient-detail-workspace .prescription-preview-table td:last-child{width:38px}.patient-detail-workspace .prescription-preview-table td:nth-child(2){text-align:left}.patient-detail-workspace .prescription-preview-table td:nth-child(2) strong,.patient-detail-workspace .prescription-preview-table td:nth-child(2) small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-detail-workspace .prescription-preview-table td:nth-child(2) small{margin-top:2px;color:var(--theme-text-soft);font-size:9px}.patient-detail-workspace .prescription-preview-table td input{min-width:0;width:100%;height:27px;padding:0 5px;border-color:transparent;border-radius:3px;background:#fff;text-align:center;font-size:11px}.patient-detail-workspace .prescription-preview-table td input:focus{border-color:var(--theme-accent);outline:0;box-shadow:var(--ui-focus-ring)}.patient-detail-workspace .prescription-preview-table td button{padding:3px 7px;border:0;background:transparent;color:#b78474;font-size:14px}.prescription-input-summary{min-height:35px;display:flex;align-items:center;gap:9px;padding:0 11px;border-bottom:1px solid #e9ddd7;background:#f9f7f4}.prescription-input-summary span{color:#8a7d76;font-size:10px}.prescription-input-summary strong{font-size:11px}.prescription-input-summary em{margin-left:auto;color:#60756b;font-size:10px;font-style:normal;font-weight:700}.patient-detail-workspace .prescription-preview-note{display:grid;grid-template-columns:92px minmax(0,1fr);padding:0;border-bottom:1px solid #e8dbd4;background:#fff}.patient-detail-workspace .prescription-preview-note-title{display:flex;align-items:flex-start;margin:0;padding:12px 10px;background:#fff8f4;color:#6e4d41;font-size:11px}.patient-detail-workspace .prescription-preview-note textarea{min-height:72px;padding:11px;border:0;border-left:1px solid #eaded8;border-radius:0;outline:0;font-size:11px}.patient-detail-workspace .prescription-preview-note textarea:focus{box-shadow:inset 0 0 0 2px #f2a38e}.patient-detail-workspace .prescription-preview-sign{min-height:48px;padding:8px 11px}.patient-detail-workspace .prescription-actions{padding:10px 12px;border-top:1px solid #e7d9d1;background:#fffaf7}.patient-detail-workspace .prescription-actions button{min-height:34px;padding:0 15px}.patient-detail-workspace .prescription-history-column{position:sticky;top:12px}.prescription-history-panel{overflow:hidden;border:1px solid #e4d2ca;border-radius:12px;background:#fff;box-shadow:0 10px 22px #5b3b2f0f}.prescription-history-head{padding:12px;border-bottom:1px solid #e8d9d2;background:#fff5f0}.prescription-history-head>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.prescription-history-head strong{color:#6e493f;font-size:14px}.prescription-history-head span{min-width:22px;padding:2px 6px;border-radius:99px;background:#fff;color:var(--theme-accent-strong);font-size:10px;text-align:center}.prescription-history-head small{display:block;margin-top:5px;color:#9a8981;font-size:10px;line-height:1.4}.prescription-history-list{max-height:610px;overflow-y:auto;padding:8px}.prescription-history-item{width:100%;display:grid;gap:6px;margin-bottom:7px;padding:10px;border:1px solid #eaded8;border-radius:8px;background:#fffdfa;text-align:left}.prescription-history-item:hover{border-color:#efb5a5;background:#fff7f3}.prescription-history-item.is-selected{border-color:var(--theme-accent);background:#fff0e9;box-shadow:0 0 0 2px #e862401a}.prescription-history-date{color:var(--theme-accent-strong);font-size:10px;font-weight:800}.prescription-history-item>strong{display:-webkit-box;overflow:hidden;color:var(--theme-text);font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.prescription-history-meta{display:grid;gap:3px;padding-top:6px;border-top:1px solid #eee3de}.prescription-history-meta b,.prescription-history-meta em{overflow:hidden;color:#81746d;font-size:10px;font-style:normal;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.prescription-history-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:7px;color:#a39791;text-align:center}.prescription-history-empty>span{width:34px;height:34px;display:grid;place-items:center;border:1px dashed #d8cbc5;border-radius:50%;font-size:19px}.prescription-history-empty strong{font-size:12px}.prescription-history-empty p{margin:0;font-size:10px}@media (max-width: 1280px){.patient-detail-workspace .prescription-detail-grid{grid-template-columns:minmax(620px,1fr) minmax(200px,240px)}.patient-detail-workspace .prescription-preview-head small{display:none}}@media (max-width: 980px){.patient-detail-workspace .prescription-detail-grid{grid-template-columns:minmax(0,1fr)}.patient-detail-workspace .prescription-history-column{position:static}.prescription-history-list{max-height:300px}}.schedule-editor{border:1px solid var(--theme-border);background:var(--theme-surface-soft);padding:8px;margin-bottom:10px}.patient-schedule-tab{display:grid;gap:var(--space-5)}.reservation-panel{display:block}.reservation-history-inline{display:flex;flex-direction:column;border:1px solid var(--theme-border);border-radius:10px;overflow:hidden;background:#fff}.reservation-history-scroll{overflow-y:auto;max-height:100%}.reservation-payment-detail-inline{display:flex;flex-direction:column;border:1px solid var(--theme-border);border-radius:10px;overflow:hidden;background:#fff}.reservation-payment-detail-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 10px;border-bottom:1px solid var(--theme-border);background:#fff2ee}.reservation-payment-detail-head strong{font-size:13px;color:var(--theme-accent-strong)}.reservation-payment-detail-head span{font-size:12px;color:var(--theme-text-soft)}.reservation-payment-detail-table thead th{white-space:nowrap}.reservation-payment-detail-table tbody td{vertical-align:middle;max-width:none}.reservation-payment-detail-table tbody td:first-child{text-align:left;padding-left:8px;white-space:normal;word-break:break-word}.reservation-payment-detail-actions{display:inline-flex;align-items:center;justify-content:center}.reservation-payment-detail-summary{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:var(--space-3);border-top:1px solid var(--theme-border);background:#fffaf7;font-size:12px;color:var(--theme-text-soft)}.reservation-payment-detail-summary strong{color:#b45309}.reservation-table-compact thead th{padding:5px;font-size:11px;text-align:center;white-space:nowrap}.reservation-table-compact tbody td{padding:5px;font-size:11px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px}.reservation-payment-item-main{align-items:center;gap:var(--space-2)}.reservation-payment-item-main strong{font-size:12px;color:var(--theme-text);min-width:0}.reservation-payment-item-sub{align-items:center;gap:var(--space-2);flex-wrap:nowrap;margin-top:2px}.reservation-payment-item-sub span{font-size:11px;color:var(--theme-text-soft);white-space:nowrap}.reservation-payment-item{flex-direction:column;align-items:flex-start;gap:2px}.reservation-session-count{font-size:11px;font-weight:700;color:var(--theme-accent-strong);background:#fff2ee;border:1px solid var(--theme-accent-border);border-radius:4px;padding:0 5px;white-space:nowrap}.reservation-badge-pending{font-size:10px;font-weight:700;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;padding:1px 5px;white-space:nowrap}.reservation-validity-label{font-size:10px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:1px 5px;white-space:nowrap}.reservation-section{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);background:#fff;box-shadow:var(--ui-shadow-1);overflow:hidden;display:grid}.reservation-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--theme-border);background:#fafafa}.reservation-section-head strong{font-size:15px;color:var(--theme-text)}.reservation-section-head span{display:block;margin-top:4px;font-size:12px;color:var(--theme-text-soft)}.reservation-count{font-size:12px;color:var(--theme-text-soft)}.reservation-action-group{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.reservation-btn{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--theme-border);background:#fff;font-size:12px;font-weight:700;cursor:pointer}.reservation-btn:hover:not(:disabled){border-color:var(--theme-accent-border);background:#fffaf7}.reservation-btn-primary{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent);box-shadow:0 10px 18px #e8624040}.reservation-btn-primary:hover:not(:disabled){color:var(--theme-accent);border-color:var(--theme-accent)}.reservation-btn-secondary{background:#fff;color:var(--theme-text)}.reservation-btn-danger{background:#fff;border-color:#fca5a5;color:#b91c1c}.reservation-form-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"form payment history" "form detail detail";gap:var(--space-4);padding:var(--space-4);align-items:start}.reservation-form-body>.reservation-grid{grid-area:form}.reservation-form-body>.reservation-payment-inline{grid-area:payment}.reservation-form-body>.reservation-history-inline{grid-area:history}.reservation-form-body>.reservation-payment-detail-inline{grid-area:detail}.reservation-form-body>.reservation-payment-inline,.reservation-form-body>.reservation-history-inline,.reservation-form-body>.reservation-payment-detail-inline{min-height:0}.reservation-form-body>.reservation-payment-inline{height:284px}.reservation-form-body>.reservation-history-inline{height:284px}.reservation-form-body>.reservation-payment-detail-inline{height:350px}.reservation-form-body>.reservation-payment-inline .reservation-payment-body{overflow-y:auto}.reservation-form-body>.reservation-history-inline .reservation-history-scroll{overflow-y:auto}.reservation-form-body>.reservation-payment-detail-inline .reservation-history-scroll{overflow-y:auto}.reservation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.reservation-field{display:grid;gap:var(--space-2);font-size:12px;color:var(--theme-text)}.reservation-field span{font-size:11px;color:var(--theme-text-soft)}.reservation-field input,.reservation-field select{height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--theme-border);background:#fff;font-size:13px;width:100%}.reservation-field-wide{grid-column:span 2}.reservation-field-memo{grid-column:span 2;align-content:start}.reservation-field-memo .schedule-rich-editor{min-height:160px}.reservation-time-range{display:flex;align-items:center;gap:6px}.reservation-time-range span{text-align:center;color:var(--theme-text-soft)}.reservation-time-range select{flex:1;min-width:0}.reservation-memo-side{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.reservation-memo-side label{font-size:12px;font-weight:700;color:var(--theme-text)}.reservation-memo-section .schedule-rich-editor{min-height:140px}.reservation-memo-viewer{min-height:120px;max-height:200px;padding:var(--space-3) var(--space-4);border:1px solid var(--theme-border);border-radius:8px;background:#f8fafc;color:var(--theme-text);font-size:12px;line-height:1.5;overflow-y:auto}.reservation-payment-inline{border:1px solid var(--theme-border);border-radius:10px;overflow:hidden;background:#fff}.reservation-payment-inline .reservation-payment-body{padding:var(--space-3)}.reservation-payment-inline-head{padding:var(--space-3);border-bottom:1px solid var(--theme-border);background:#fff2ee}.reservation-payment-inline-head strong{color:var(--theme-accent-strong)}.reservation-payment{padding-bottom:var(--space-4)}.reservation-payment-body{padding:var(--space-4) var(--space-4)}.reservation-payment-item{align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft);text-align:center;margin-bottom:5px}.reservation-payment-item strong{font-size:12px;color:var(--theme-text);min-width:0}.reservation-payment-item span{font-size:12px;color:var(--theme-text-soft);white-space:nowrap;margin-left:5px}.reservation-empty{padding:var(--space-5);border:1px dashed var(--theme-accent-border);border-radius:12px;background:#fff7ed;font-size:12px;color:var(--theme-accent-strong);text-align:center}.reservation-history{overflow:hidden}.reservation-table{width:100%;border-collapse:collapse}.reservation-table thead th{background:#f8fafc;border-bottom:1px solid var(--theme-border);font-size:11px;padding:12px 14px;text-align:left}.reservation-table tbody td{padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.2)}.reservation-table tbody tr:hover td{background:#fff7ed}.reservation-primary-card{border-color:var(--theme-accent-border);background:linear-gradient(180deg,#fff,#fff7ed 140%);box-shadow:var(--ui-shadow-2)}.reservation-primary-card .reservation-section-head{background:#fff2ee}.reservation-secondary-card{background:#fff;box-shadow:var(--ui-shadow-1)}.reservation-tertiary-card{background:#fff;box-shadow:none;border-color:#94a3b859}.reservation-tertiary-card .reservation-section-head{background:#f8fafc}.reservation-product-section .reservation-section-head strong{color:var(--theme-accent-strong)}.reservation-product-section .reservation-btn-primary{height:40px;padding:0 18px;font-size:13px}.reservation-product-section .reservation-payment-item{background:#fff;border-color:var(--theme-border)}.schedule-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.schedule-editor-head-title{font-size:13px;font-weight:700;color:var(--theme-text)}.schedule-editor-head-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.schedule-editor-inline-rows{display:grid;gap:8px;margin-bottom:8px}.schedule-editor-inline-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.schedule-editor-inline-item{display:grid;grid-template-columns:auto minmax(120px,auto);align-items:center;gap:6px}.schedule-editor-inline-item-name{grid-template-columns:auto minmax(140px,180px)}.schedule-editor-inline-item-time{grid-template-columns:auto minmax(220px,auto)}.schedule-editor-inline-item label{min-width:52px;background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;font-size:12px;color:var(--theme-text);white-space:nowrap}.schedule-editor-inline-item input,.schedule-editor-inline-item select{width:auto;min-width:0}.schedule-delete-button{background:#c53b3b;border-color:#a82d2d;color:#fff}.schedule-delete-button:hover:not(:disabled){background:#b22f2f;border-color:#912525}.schedule-editor-row-grid{display:grid;grid-template-columns:92px minmax(0,1fr) 92px minmax(0,1fr);gap:6px 8px;margin-bottom:8px}.schedule-editor-row-grid-top{grid-template-columns:50px minmax(100px,.7fr) 55px minmax(140px,1fr) 65px minmax(190px,1.15fr) 45px minmax(100px,.8fr) 55px minmax(120px,.9fr) 75px minmax(170px,1fr)}.schedule-editor-row-grid label{background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;font-size:12px;color:var(--theme-text)}.schedule-time-range{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:6px;align-items:center}.schedule-time-range span{text-align:center;color:#475569}.schedule-editor-label-wide,.schedule-editor-field-wide{grid-column:1 / -1}.schedule-editor-memo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px;height:35vh;min-height:35vh;max-height:35vh;align-items:stretch;overflow:hidden}.schedule-editor-memo-box{display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;align-content:stretch;min-height:0;height:100%;overflow:hidden}.schedule-editor-memo-box label{background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;font-size:12px;color:var(--theme-text)}.schedule-editor-memo-box>label:not(.schedule-editor-action-head){align-self:start}.schedule-editor-memo-box textarea{width:100%;min-width:0;min-height:0;height:100%;max-height:100%;align-self:stretch;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;resize:none}.schedule-rich-editor{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%;border:1px solid var(--theme-border);background:var(--theme-surface-soft);overflow:hidden}.schedule-rich-toolbar{display:flex;align-items:center;gap:6px;padding:6px;border-bottom:1px solid var(--theme-accent-border);background:var(--theme-accent-soft);flex-wrap:wrap}.schedule-rich-toolbar button{width:20px;min-width:20px;height:20px;padding:0;font-size:10px;font-weight:700;background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}.schedule-rich-toolbar button.is-active{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.schedule-rich-toolbar-color{min-width:32px;height:20px}.schedule-rich-surface{min-height:0;height:100%;background:var(--theme-surface);overflow-y:auto;overflow-x:hidden;position:relative;cursor:text}.schedule-rich-surface .tiptap{min-height:100%;padding:10px;outline:none;color:var(--theme-text);line-height:1.6;cursor:text}.schedule-rich-surface .tiptap p{margin:0 0 8px}.schedule-rich-surface .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#94a3b8;float:left;height:0;pointer-events:none}.schedule-editor-action-box{grid-column:span 2;min-height:0;height:100%}.schedule-editor-action-head{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);border-radius:6px 6px 0 0;padding:6px 8px;font-size:12px;color:var(--theme-text)}.schedule-editor-action-content{min-height:0;height:100%;border:1px solid var(--theme-border);background:var(--theme-surface);padding:10px;display:grid;gap:10px;align-content:start;overflow-y:auto;overflow-x:hidden}.schedule-editor-action-content span{font-size:12px;color:#475569;line-height:1.5}.schedule-payment-list{display:grid;gap:8px}.schedule-payment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px;border:1px solid var(--theme-border);background:var(--theme-surface-soft)}.schedule-payment-item strong{font-size:12px;color:#334155;flex:1 1 auto;min-width:0}.schedule-payment-item span{font-size:12px;color:#64748b;white-space:nowrap;text-align:right}.schedule-list-table tbody tr.row-selected td{background:#ffe8e0!important}.schedule-list-date,.schedule-list-time{white-space:nowrap;color:var(--theme-text-soft);font-size:11px}.schedule-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--theme-border);background:#f4f4f5;color:#3f3f46;white-space:nowrap}.schedule-status-badge.status-booked,.schedule-status-badge.status-reserved{background:#e9f3ff;color:#1e5188;border-color:#bfd8f3}.schedule-status-badge.status-cancelled{background:#ffecec;color:#a02929;border-color:#f2bcbc}.schedule-status-badge.status-no-show{background:#fff4dd;color:#8a5d14;border-color:#eccf92}.schedule-status-badge.status-visited,.schedule-status-badge.status-discharged,.schedule-status-badge.status-completed{background:#edf8ee;color:#256639;border-color:#b9ddc2}.schedule-list-empty{text-align:center!important;color:var(--theme-text-soft);padding:24px 0!important;font-size:12px}.timeline-row{cursor:pointer}.timeline-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700}.timeline-badge-detail_entry{background:#e1f2ff;color:#1b6aa5}.timeline-badge-chart{background:#e5f7ed;color:#1d7a44}.timeline-badge-payment{background:#fff3dd;color:#9b6610}.timeline-subtext{margin-top:4px;font-size:11px;color:#6b7f97}.text-link-btn{background:transparent;border:0;padding:0;margin-top:6px;color:#1976d2;font-size:12px;cursor:pointer}.reservation-toolbar{flex-wrap:wrap;margin-bottom:8px}.code-setting-grid{margin-top:8px}.appointment-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.appointment-view-tabs{display:flex;gap:4px;margin-left:auto}.appointment-theme-tabs{display:flex;gap:4px}.appointment-management-card{--appointment-time-column-width: 80px;--appointment-part-column-width: 106px;--appointment-compact-time-width: 84px;--appointment-period-date-width: 104px;--appointment-compact-part-min: 120px;--appointment-compact-part-width: 140px;--appointment-compact-total-width: 92px;display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:calc(100vh - 112px);height:calc(100vh - 112px);position:relative}@keyframes appointment-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.appointment-day-board{--slot-height: 56px;display:grid;gap:0;border:1px solid #cdd6e1;background:#f7f9fc;position:relative;width:max-content;min-width:100%}.appointment-day-board-scroll{width:100%;max-width:100%;min-width:0;min-height:0;height:100%;max-height:100%;overflow-x:auto;overflow-y:auto;border:1px solid #cdd6e1;background:#f7f9fc;position:relative}.appointment-compact-board{display:grid;padding:8px}.appointment-compact-table{display:grid;gap:0;width:max-content;min-width:100%;border:1px solid #d6dee8;background:#f7f9fc}.appointment-compact-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 10px;border-right:1px solid #d6dee8;border-bottom:1px solid #d6dee8;background:#fff2e9;color:var(--theme-text);font-size:12px;font-weight:800;text-align:center}.appointment-compact-time-head{position:sticky;left:0;z-index:3}.appointment-compact-time-cell{position:sticky;left:0;z-index:1;display:grid;place-items:center;min-height:48px;padding:8px 10px;border-right:1px solid #d6dee8;border-bottom:1px solid #d6dee8;background:#f9ece7;color:var(--theme-text);font-size:13px;font-weight:800}.appointment-compact-cell{display:grid;place-items:center;min-height:48px;padding:8px;border:0;border-right:1px solid #d6dee8;border-bottom:1px solid #d6dee8;background:#ffffffeb;color:var(--theme-text);text-align:center}.appointment-compact-cell.has-items{background:linear-gradient(180deg,#fff8f4fa,#fffffff0)}.appointment-compact-cell:hover{background:#e8624014}.appointment-compact-count{display:inline-flex;width:fit-content;align-items:center;justify-content:center;min-width:34px;padding:4px 9px;border-radius:999px;background:#e862401f;color:#c14f33;font-size:12px;font-weight:800}.appointment-compact-empty{font-size:12px;color:var(--theme-text-soft)}.appointment-period-compact-table{min-width:max-content}.appointment-period-compact-date-cell,.appointment-period-compact-total-cell{display:grid;place-items:center;min-height:48px;padding:8px 10px;border-right:1px solid #d6dee8;border-bottom:1px solid #d6dee8;background:#ffffffeb}.appointment-period-compact-date-cell{position:sticky;left:0;z-index:1;background:#f9ece7;color:var(--theme-text);font-size:12px;font-weight:800;text-align:center}.appointment-period-compact-total-cell{background:#fff8f4fa}.appointment-grid-cell{border-right:1px solid #d6dee8;border-bottom:1px solid #d6dee8;padding:4px 6px;background:transparent;overflow:visible;z-index:1}.appointment-grid-head{background:var(--theme-accent-soft);font-weight:700;color:var(--theme-text);text-align:center;z-index:4;position:sticky;top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;padding-right:12px}.appointment-grid-resizer{position:absolute;top:0;right:-3px;width:8px;height:100%;padding:0;border:0;background:transparent;cursor:col-resize;z-index:8}.appointment-grid-resizer:before{content:"";position:absolute;top:6px;bottom:6px;left:50%;width:2px;transform:translate(-50%);background:#9aa9bb;border-radius:999px}.appointment-grid-resizer:hover:before{background:#3f536c}.appointment-part-header-tooltip{position:fixed;transform:translate(-50%,-100%);max-width:240px;padding:6px 8px;border:1px solid var(--theme-accent-strong);background:var(--theme-accent);color:var(--theme-on-accent);font-size:12px;font-weight:500;white-space:normal;word-break:break-word;box-shadow:0 8px 18px #141c2838;z-index:40;pointer-events:none}.appointment-grid-time{font-weight:700;color:var(--theme-text-soft);background:#f9ece7;z-index:4;position:sticky;left:0}.appointment-day-board>.appointment-grid-head:first-child{left:0;z-index:6}.appointment-card{--appointment-stack-gap: 1px;--appointment-card-inset: 1px;border:1px solid var(--theme-border);border-left-width:3px;padding:2px 4px;background:var(--theme-surface);cursor:pointer;font-size:10px;position:absolute;top:var(--appointment-card-inset);bottom:var(--appointment-card-inset);left:var(--appointment-card-inset);width:calc(((100% - (var(--appointment-card-inset) * 2)) - ((var(--stack-count, 1) - 1) * var(--appointment-stack-gap))) / var(--stack-count, 1));transform:translate(calc((100% + var(--appointment-stack-gap)) * var(--stack-index, 0)));min-height:40px;margin:0;overflow:hidden;z-index:3;align-self:stretch;justify-self:start;box-sizing:border-box;min-width:0;max-width:100%;pointer-events:auto}.appointment-card-slot{position:relative;overflow:hidden;min-width:0;min-height:0;z-index:3;pointer-events:none}.appointment-slot-preview-modal{width:min(760px,calc(100vw - 32px));max-height:min(78vh,760px);overflow:hidden;padding:0;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.appointment-slot-preview-headline{display:grid;gap:4px}.appointment-slot-preview-headline h3{margin:0}.appointment-slot-preview-headline p{margin:0;font-size:12px;color:#ffffffeb}.appointment-slot-preview-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 0;background:linear-gradient(180deg,#fff8f438,#fff0)}.appointment-slot-preview-filter-tab{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid rgba(23,41,73,.1);border-radius:999px;background:#ffffffe0;color:var(--theme-text-soft);font-size:12px;font-weight:700}.appointment-slot-preview-filter-tab strong{color:var(--theme-text)}.appointment-slot-preview-filter-tab.active{border-color:#e8624047;background:#fff4eef5;color:#b3472a}.appointment-slot-preview-list{display:grid;gap:12px;padding:14px;min-height:0;overflow-y:auto;background:linear-gradient(180deg,#fff8f480,#ffffffd1)}.appointment-slot-preview-empty{padding:24px 18px;border:1px dashed rgba(23,41,73,.16);border-radius:12px;background:#ffffffb8;color:var(--theme-text-soft);text-align:center;font-size:13px}.appointment-slot-preview-item{display:grid;gap:12px;width:100%;padding:14px 16px;border:1px solid rgba(23,41,73,.08);border-radius:14px;background:#fffffff0;box-shadow:0 10px 24px #1729490f;color:var(--theme-text);text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.appointment-slot-preview-item:hover{background:#fffaf7fa;border-color:#e862403d;box-shadow:0 14px 32px #e862401f;transform:translateY(-1px)}.appointment-slot-preview-item.is-selected{border-color:#e8624057;background:#fff5effa;box-shadow:0 12px 28px #e8624024}.appointment-slot-preview-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.appointment-slot-preview-identity{display:grid;gap:6px;min-width:0}.appointment-slot-preview-name-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.appointment-slot-preview-name{font-size:16px;font-weight:700}.appointment-slot-preview-sub{font-size:12px;color:var(--theme-text-soft)}.appointment-slot-preview-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--theme-text-soft)}.appointment-slot-preview-meta span{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#1729490f}.appointment-slot-preview-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.appointment-slot-preview-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;background:#17294914;color:var(--theme-text);font-size:12px;font-weight:700;white-space:nowrap}.appointment-slot-preview-badge.is-status{color:#8f2c12;background:#e8624029}.appointment-slot-preview-badge.is-status.is-discharged{color:#16624f;background:#2ea07d2e}.appointment-slot-preview-badge.is-status.is-cancelled,.appointment-slot-preview-badge.is-status.is-reception_cancelled,.appointment-slot-preview-badge.is-status.is-no_show{color:#7b2238;background:#c4385d24}.search-modal-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 0 12px}.appointment-slot-preview-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appointment-slot-preview-detail{display:grid;gap:4px;min-width:0;padding:10px 12px;border:1px solid rgba(23,41,73,.08);border-radius:10px;background:#f7f9fce0}.appointment-slot-preview-detail strong{font-size:11px;color:var(--theme-text-soft)}.appointment-slot-preview-detail span{font-size:12px;font-weight:700;color:var(--theme-text);word-break:break-word}.appointment-slot-preview-memo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.appointment-slot-preview-memo-box{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid rgba(23,41,73,.08);border-radius:12px;background:#fffbf8eb}.appointment-slot-preview-memo-box strong{font-size:11px;color:var(--theme-text-soft)}.appointment-slot-preview-memo-box p{margin:0;font-size:12px;line-height:1.6;color:var(--theme-text);white-space:pre-wrap;word-break:break-word}@media (max-width: 760px){.appointment-slot-preview-top{display:grid}.appointment-slot-preview-badges{justify-content:flex-start}.appointment-slot-preview-detail-grid,.appointment-slot-preview-memo-grid{grid-template-columns:minmax(0,1fr)}}.appointment-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.appointment-sub{color:var(--theme-text-soft);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.appointment-calendar .fc{font-size:12px}.appointment-head-actions{display:inline-flex;align-items:center;gap:8px}.fc-event.status-BOOKED{background:#2f75ff;border-color:#2f75ff}.fc-event.status-COUNSEL_WAIT{background:#4da3ff;border-color:#4da3ff}.fc-event.status-COUNSELING{background:#8e7dff;border-color:#8e7dff}.fc-event.status-RECEPTION{background:#2fbf71;border-color:#2fbf71}.fc-event.status-RECEPTION_CANCELLED{background:#a0a5ae;border-color:#a0a5ae}.fc-event.status-TREATMENT_WAIT{background:#f39c12;border-color:#f39c12}.fc-event.status-TREATMENT{background:#1abc9c;border-color:#1abc9c}.fc-event.status-DISCHARGED{background:#7d8b9b;border-color:#7d8b9b}.fc-event.status-CANCELLED{background:#8a8f99;border-color:#8a8f99}.fc-event.status-NO_SHOW{background:#e74c3c;border-color:#e74c3c}.appointment-title{font-weight:700;margin-bottom:2px}.appointment-meta{color:#5c6f87}.status-BOOKED{border-left-color:#2f75ff}.status-COUNSEL_WAIT{border-left-color:#4da3ff}.status-COUNSELING{border-left-color:#8e7dff}.status-RECEPTION{border-left-color:#2fbf71}.status-RECEPTION_CANCELLED{border-left-color:#a0a5ae}.status-TREATMENT_WAIT{border-left-color:#f39c12}.status-TREATMENT{border-left-color:#1abc9c}.status-DISCHARGED{border-left-color:#7d8b9b}.status-CANCELLED{border-left-color:#8a8f99}.status-NO_SHOW{border-left-color:#e74c3c}.slot-blank{border:1px dashed #b7c3d2;background:#f5f8fb;color:#4b6078;min-height:130px;display:grid;place-items:center;font-size:13px}.payment-summary{background:linear-gradient(180deg,#fff,#fff7ed 120%);border:1px solid var(--theme-border);padding:var(--space-4);border-radius:var(--ui-card-radius)}.payment-panel{display:grid;gap:var(--space-4)}.payment-dashboard{gap:var(--space-5)}.payment-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.payment-kpi-card{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);background:#fff;padding:var(--space-4);display:grid;gap:var(--space-2);box-shadow:var(--ui-shadow-1)}.payment-kpi-card span{font-size:12px;color:var(--theme-text-soft)}.payment-kpi-card strong{font-size:24px;color:var(--theme-text)}.payment-kpi-card.is-warning{border-color:#fdba74;background:#fff7ed}.payment-kpi-card.is-danger{border-color:#fca5a5;background:var(--status-danger-bg)}.payment-kpi-card.is-danger strong{color:var(--status-danger-text)}.payment-section{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);background:#fff;overflow:hidden;display:grid;gap:0;box-shadow:var(--ui-shadow-1)}.payment-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--theme-border);background:#fafafa}.payment-section-head strong{font-size:15px}.payment-section-head p{margin:4px 0 0;font-size:12px;color:var(--theme-text-soft)}.payment-section-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.payment-seg{display:inline-flex;border:1px solid var(--theme-border);border-radius:var(--ui-radius-pill);overflow:hidden}.payment-seg-btn{padding:8px 14px;border:0;background:transparent;font-size:12px;color:var(--theme-text)}.payment-seg-btn.is-active{background:var(--theme-accent);color:var(--theme-on-accent)}.payment-status-filters{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.payment-chip{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:var(--ui-radius-pill);border:1px solid var(--theme-border);background:#fff;font-size:11px;color:var(--theme-text);cursor:pointer}.payment-chip:hover:not(.is-active){border-color:var(--theme-accent-border);background:#fffaf7}.payment-chip span{min-width:20px;padding:0 6px;border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);color:var(--theme-accent-strong);font-weight:700;text-align:center}.payment-chip.is-active{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent)}.payment-chip.is-active span{background:#fff3;color:var(--theme-on-accent)}.payment-chip:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}.payment-table-wrap{overflow:auto;background:#fff}.payment-table{width:100%;border-collapse:collapse;font-size:12px}.payment-table thead th{position:sticky;top:0;background:#f8fafc;text-align:left;font-weight:600;padding:12px 14px;border-bottom:1px solid var(--theme-border)}.payment-table tbody td{padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.2)}.payment-table tbody tr:hover{background:#fff7ed}.payment-table tbody tr.row-selected{background:#ffedd5}.payment-table tbody tr.row-selected td{font-weight:600}.payment-table .align-right{text-align:right}.payment-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:var(--ui-radius-pill);font-size:11px;font-weight:600}.status-badge{letter-spacing:-.2px}.payment-badge.is-success{background:var(--status-success-bg);color:var(--status-success-text)}.payment-badge.is-warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.payment-badge.is-danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.payment-action-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.payment-actions{align-items:center;padding:var(--space-2)}.payment-btn{height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--theme-border);background:#fff;font-size:12px;cursor:pointer}.payment-btn:hover:not(:disabled){border-color:var(--theme-accent-border);background:#fffaf7}.payment-btn-primary:hover:not(:disabled){background:var(--theme-accent-strong);border-color:var(--theme-accent-strong);color:var(--theme-on-accent)}.payment-btn:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}.payment-btn:disabled{opacity:.5;cursor:not-allowed}.payment-btn-primary{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent);font-weight:700;height:25px;box-shadow:0 8px 16px #e8624040}.payment-btn-secondary{background:#fff;color:var(--theme-text)}.payment-btn-danger{border-color:#fca5a5;color:#b91c1c}.payment-btn-sm{height:30px;padding:0 10px;font-size:11px}.payment-btn-sm.payment-btn-primary{box-shadow:none}.payment-row-actions{display:inline-flex;gap:var(--space-2)}.payment-summary-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--theme-border);background:#fff}.payment-summary-bar.is-detail{grid-template-columns:repeat(6,minmax(0,1fr))}.payment-summary-bar div{display:grid;gap:4px}.payment-summary-bar span{font-size:11px;color:var(--theme-text-soft)}.payment-summary-bar strong{font-size:14px}.payment-summary-cards{background:#fff;border-top:1px solid var(--theme-border)}.payment-summary-cards>div{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);padding:var(--space-3);background:#fff}.payment-summary-cards>div.is-warning{background:var(--status-warning-bg);border-color:#fdba74}.payment-summary-bar .is-warning strong{color:#c2410c}.payment-apply-modal{width:min(420px,92vw)}.payment-request-modal{width:min(520px,94vw)}.payment-sms-modal{width:min(860px,94vw)}.payment-sms-modal-body{display:grid;gap:12px;padding:16px;max-height:70vh;overflow-y:auto}.payment-sms-recipient{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:#f8fbfe;border:1px solid #cdd6e1;font-size:13px}.payment-sms-recipient span:first-child{color:var(--theme-text-soft);font-size:12px}.payment-sms-empty{padding:24px;text-align:center;color:var(--theme-text-soft);font-size:13px}.payment-sms-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-sms-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px 16px;border:1px solid var(--theme-border);border-radius:12px;background:#fff;cursor:pointer;box-shadow:0 1px 3px #0000000a}.patient-layout{align-items:start}.patient-sidebar{position:sticky;top:12px;padding:14px;border-color:#d6b5a8b3;background:linear-gradient(180deg,#fff,#fffaf7);box-shadow:0 14px 28px #5b3b2f14}.patient-sidebar .customer-recent,.patient-sidebar .customer-section{border-color:#ead6cd;box-shadow:none}.patient-sidebar .customer-recent{padding:13px;background:#fffaf8}.patient-sidebar .customer-recent-title,.patient-sidebar .customer-section-title{display:flex;align-items:center;gap:8px;font-size:13px}.patient-sidebar .customer-recent-title:before,.patient-sidebar .customer-section-title:before{content:"";width:3px;height:15px;border-radius:999px;background:var(--theme-accent)}.patient-sidebar .customer-profile{padding:17px;border-color:#efcfc3;background:linear-gradient(145deg,#fff,#fff4ed);box-shadow:0 8px 18px #7847330f}.patient-sidebar .customer-profile-eyebrow{letter-spacing:.04em}.patient-sidebar .customer-name{font-size:22px;letter-spacing:-.04em}.patient-sidebar .customer-meta{line-height:1.55}.patient-sidebar .customer-balance-card{min-height:78px;padding:13px;border-color:#ead9d1;box-shadow:none}.patient-sidebar .customer-balance-card strong{font-size:20px}.patient-sidebar .customer-memo-viewer{min-height:300px;max-height:300px;margin-top:12px;border-color:#eee1db;background:#fffdfc}.patient-detail-workspace{min-width:0}.patient-detail-shell{min-width:0;padding:14px;border-color:#d6b5a8ad;background:linear-gradient(180deg,#fff,#fffdfc);box-shadow:0 14px 28px #5b3b2f14}.patient-detail-workspace .detail-tab-row{gap:6px;margin:0 0 14px;padding:0 0 10px;border-bottom-color:#ead8d0}.patient-detail-workspace .tab-btn{min-height:32px;padding:0 12px;border-radius:8px;border-color:#ead8d0;background:#fffaf8;font-size:12px;font-weight:700;transition:background .15s ease,border-color .15s ease,transform .15s ease}.patient-detail-workspace .tab-btn:hover:not(:disabled):not(.active){border-color:var(--theme-accent-border);background:#fff2ec}.patient-detail-workspace .tab-btn.active{box-shadow:0 6px 14px #e862402e}.patient-detail-workspace .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:99px;background:#fff3;font-size:10px}.patient-detail-workspace .detail-grid{gap:14px;margin:0}.patient-detail-workspace .consult-panel{grid-template-columns:minmax(460px,1.05fr) minmax(400px,.95fr);align-items:start}.patient-detail-workspace .detail-entry-form,.patient-detail-workspace .detail-entry-list{padding:0;border:0;background:transparent;border-radius:0;overflow:visible}.patient-detail-workspace .consult-card,.patient-detail-workspace .consult-history-card,.patient-detail-workspace .reservation-section,.patient-detail-workspace .payment-section,.patient-detail-workspace .payment-summary,.patient-detail-workspace .chart-editor-panel,.patient-detail-workspace .patient-history-panel,.patient-detail-workspace .before-after-panel{border-color:#ead6cd;border-radius:14px;box-shadow:0 10px 22px #5b3b2f0f}.patient-detail-workspace .consult-card-head,.patient-detail-workspace .reservation-section-head,.patient-detail-workspace .payment-section-head{position:relative;padding:15px 17px 14px 20px;background:linear-gradient(90deg,#fff8f5,#fff)}.patient-detail-workspace .consult-card-head:before,.patient-detail-workspace .reservation-section-head:before,.patient-detail-workspace .payment-section-head:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:3px;border-radius:0 99px 99px 0;background:var(--theme-accent)}.patient-detail-workspace .consult-card-head strong,.patient-detail-workspace .reservation-section-head strong,.patient-detail-workspace .payment-section-head strong{font-size:15px}.patient-detail-workspace .consult-card-body{padding:17px;gap:17px}.patient-detail-workspace .consult-card-footer{padding:11px 17px;background:#fffdfc}.patient-detail-workspace .consult-section{gap:9px}.patient-detail-workspace .consult-section-title{padding-left:8px;border-left:2px solid #f5b2a0;font-size:12px}.patient-detail-workspace .consult-field input,.patient-detail-workspace .consult-field select,.patient-detail-workspace .consult-field textarea,.patient-detail-workspace .reservation-field input,.patient-detail-workspace .reservation-field select{border-color:#ead8d0;background:#fffefd}.patient-detail-workspace .consult-field input:focus,.patient-detail-workspace .consult-field select:focus,.patient-detail-workspace .consult-field textarea:focus,.patient-detail-workspace .reservation-field input:focus,.patient-detail-workspace .reservation-field select:focus{border-color:var(--theme-accent);outline:0;box-shadow:var(--ui-focus-ring)}.patient-detail-workspace .consult-history-card{overflow:hidden;background:#fff}.patient-detail-workspace .consult-history-card .consult-card-head{padding:15px 17px 14px 20px}.patient-detail-workspace .consult-list-table thead th,.patient-detail-workspace .detail-entry-list>table thead th{background:#fff5f0!important;color:#6f4b3e!important}.patient-detail-workspace .consult-list-empty,.patient-detail-workspace .detail-entry-list>table tbody td[colspan]{padding:42px 14px!important;color:var(--theme-text-soft);background:linear-gradient(180deg,#fff,#fffaf8);text-align:center}.patient-detail-workspace .patient-schedule-tab{gap:14px}.patient-detail-workspace .reservation-primary-card{border-color:#efb5a5;background:linear-gradient(180deg,#fff,#fff9f6)}.patient-detail-workspace .reservation-form-body{gap:14px;padding:17px}.patient-detail-workspace .reservation-payment-inline,.patient-detail-workspace .reservation-history-inline,.patient-detail-workspace .reservation-payment-detail-inline{border-color:#ead6cd;border-radius:12px}.patient-detail-workspace .reservation-payment-inline-head{padding:12px 14px;background:#fff7f3}.patient-detail-workspace .reservation-empty{border-color:#f2c3b5;background:#fffaf7}.patient-detail-workspace .reservation-table thead th{background:#fff7f3;color:#6f4b3e}.patient-detail-workspace .payment-dashboard{gap:14px}.patient-detail-workspace .payment-summary{padding:14px;background:linear-gradient(110deg,#fffaf8,#fff)}.patient-detail-workspace .payment-kpi-card{min-height:92px;padding:14px 16px;border-color:#ead9d1;box-shadow:none}.patient-detail-workspace .payment-kpi-card strong{font-size:25px;letter-spacing:-.04em}.patient-detail-workspace .payment-section-head{align-items:center}.patient-detail-workspace .payment-table thead th{background:#fff7f3;color:#6f4b3e}.patient-detail-workspace .payment-table tbody td[colspan]{padding:38px 16px;color:var(--theme-text-soft);text-align:center}.patient-detail-workspace .payment-summary-cards{gap:9px;padding:13px;background:#fffdfc}.patient-detail-workspace .payment-summary-cards>div{min-height:66px;padding:11px;border-color:#eadcd6;box-shadow:none}.patient-detail-workspace .chart-editor-panel,.patient-detail-workspace .patient-history-panel{min-height:570px;padding:16px;border:1px solid #ead6cd;background:linear-gradient(180deg,#fff,#fffdfc)}.patient-detail-workspace .chart-editor-panel .section-head .row,.patient-detail-workspace .patient-history-panel .section-head .row{display:flex;gap:7px;align-items:center}.patient-detail-workspace .chart-editor-panel .section-head button,.patient-detail-workspace .patient-history-panel .section-head select{min-height:32px;padding:0 11px;border:1px solid #ead6cd;border-radius:8px;background:#fff;color:var(--theme-text);font-size:12px;font-weight:700}.patient-detail-workspace .chart-editor-panel .section-head button:first-child{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent)}.patient-detail-workspace .chart-editor-card{min-height:480px;border-color:#ead6cd;border-radius:12px;overflow:hidden;background:#fff}.patient-detail-workspace .chart-editor-surface{min-height:430px;padding:18px;background:#fffefd}.patient-detail-workspace .patient-history-panel>table{width:100%;overflow:hidden;border:1px solid #ead6cd;border-radius:11px;border-collapse:separate;border-spacing:0;background:#fff}.patient-detail-workspace .patient-history-panel th{padding:11px 13px;background:#fff7f3;color:#6f4b3e;font-size:12px;text-align:left}.patient-detail-workspace .patient-history-panel td{padding:12px 13px;border-top:1px solid #f0e2dc;font-size:12px}.patient-detail-workspace .patient-history-panel tbody td[colspan]{height:340px;color:var(--theme-text-soft);text-align:center}.patient-detail-workspace .patient-history-panel .timeline-row:hover td{background:#fff8f4}.patient-detail-workspace .patient-history-panel .row>span{color:var(--theme-accent);font-size:12px;font-weight:700}.patient-detail-workspace .before-after-panel{overflow:hidden;border:1px solid #ead6cd;background:#fff}.patient-detail-workspace .before-after-head{padding:14px 16px 13px 19px;border:0;border-bottom:1px solid #ead6cd;border-radius:0;background:linear-gradient(90deg,#fff7f3,#fff)}.patient-detail-workspace .before-after-head strong{display:flex;align-items:center;gap:8px;color:var(--theme-text);font-size:15px}.patient-detail-workspace .before-after-head>button{min-height:32px;border-radius:8px;border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent);font-weight:700}.patient-detail-workspace .before-after-gallery{padding:16px;border:0;border-radius:0;background:linear-gradient(180deg,#fffdfc,#fff9f6)}.patient-detail-workspace .before-after-empty{display:grid;place-items:center;min-height:340px;padding:30px;border:1px dashed #edc9bb;border-radius:12px;background:#ffffffb3;color:var(--theme-text-soft)}@media (max-width: 1180px){.patient-detail-workspace .consult-panel{grid-template-columns:1fr}.patient-sidebar{position:static}}@media (max-width: 760px){.patient-detail-shell{padding:10px}.patient-detail-workspace .detail-tab-row{flex-wrap:nowrap;overflow-x:auto}.patient-detail-workspace .tab-btn{flex:0 0 auto}.patient-detail-workspace .payment-kpi-grid,.patient-detail-workspace .payment-summary-bar.is-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-detail-workspace .reservation-form-body{padding:12px}}.payment-sms-item:hover{border-color:var(--theme-accent-border);background:#fff9f5;box-shadow:0 2px 6px #0000000f}.payment-sms-item.is-checked{border-color:var(--theme-accent);background:#fff6f0;box-shadow:0 0 0 2px #ea580c1f}.payment-sms-item input[type=checkbox]{margin-top:3px;width:18px;height:18px}.payment-sms-item-content{display:grid;gap:8px;min-width:0}.payment-sms-item-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px solid var(--theme-border)}.payment-sms-item-head strong{font-size:14px}.payment-sms-type{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;background:#fef3c7;color:#92400e}.payment-sms-type.is-kakao{background:#fef08a;color:#713f12}.payment-sms-mode{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px}.payment-sms-mode.is-auto{background:#fef2f2;color:#dc2626}.payment-sms-item-body{font-size:12px;color:var(--theme-text);white-space:pre-wrap;line-height:1.6;padding:10px 12px;background:#fafafa;border-radius:8px;border:1px solid #f0f0f0}.payment-apply-body{display:grid;gap:var(--space-3);padding:var(--space-4)}.payment-request-body{gap:var(--space-2)}.payment-request-summary{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--theme-border);background:#fff8f5;font-size:12px}.payment-request-summary strong{font-size:14px;color:var(--theme-text)}.payment-request-summary em{font-style:normal;color:var(--theme-accent-strong);font-weight:700}.payment-request-methods{display:inline-flex;gap:var(--space-2)}.payment-request-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-request-form-grid .payment-apply-field input{height:40px;padding:0 10px;border:1px solid var(--theme-border);border-radius:8px;font-size:12px}.payment-request-form-grid .payment-apply-field input:focus-visible{outline:none;box-shadow:var(--ui-focus-ring);border-color:var(--theme-accent)}.payment-request-receipt-toggle{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:6px 10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff}.payment-request-receipt-toggle input{width:16px;height:16px}.payment-apply-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payment-apply-balance-card{border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);padding:14px;background:var(--status-warning-bg);display:grid;gap:6px;box-shadow:var(--ui-shadow-1)}.payment-apply-balance-card span{font-size:12px;color:var(--theme-text-soft)}.payment-apply-balance-card strong{font-size:20px;color:var(--status-warning-text)}.payment-apply-balance-card.is-neutral{background:#f8fafc}.payment-apply-balance-card.is-neutral strong{color:var(--theme-text)}.payment-apply-balance-card.is-max{background:#eff6ff;border-color:#bfdbfe}.payment-apply-balance-card.is-max strong{color:#1d4ed8}.payment-apply-field{display:grid;gap:6px;font-size:12px;color:var(--theme-text)}.payment-apply-input{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.payment-apply-input input{height:44px;padding:0 12px;border:1px solid var(--theme-border);border-radius:10px;font-size:16px;font-weight:600}.payment-apply-input input:focus-visible{outline:none;box-shadow:var(--ui-focus-ring);border-color:var(--theme-accent)}.payment-apply-input span{font-size:14px;color:var(--theme-text-soft)}.payment-apply-quick{display:flex;flex-wrap:wrap;gap:8px}.amount-quick-buttons button{font-weight:600}.payment-apply-quick button{height:34px;padding:0 12px;border-radius:var(--ui-radius-pill);border:1px solid var(--theme-border);background:#fff;font-size:12px;color:var(--theme-text)}.payment-apply-error{min-height:18px;font-size:12px;color:#dc2626;opacity:0}.payment-apply-error.is-active{opacity:1}.payment-apply-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--theme-border);background:#fafafa}.payment-apply-guide{font-size:12px;color:var(--theme-text-soft);margin-top:-6px}@media (max-width: 600px){.payment-apply-summary,.payment-request-form-grid{grid-template-columns:minmax(0,1fr)}}.patient-schedule-tab .payment-request-modal{width:min(680px,94vw);border-radius:14px;border-color:#be978a7a;background:linear-gradient(180deg,#fffaf7,#fff6f2);box-shadow:0 20px 48px #6a392a3d}.patient-schedule-tab .payment-request-body{gap:10px;padding:14px 16px 12px}.patient-schedule-tab .payment-request-summary{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid #f1c6b6;background:linear-gradient(180deg,#fffdfc,#fff3ee)}.patient-schedule-tab .payment-request-summary strong{font-size:16px;font-weight:800}.patient-schedule-tab .payment-request-summary em{justify-self:end;font-size:18px;font-weight:800}.patient-schedule-tab .payment-request-methods{display:inline-flex;flex-wrap:wrap;gap:8px}.patient-schedule-tab .payment-request-methods .payment-chip{height:34px;padding:0 14px;font-size:12px;font-weight:700;border-radius:999px}.patient-schedule-tab .payment-request-preview{display:grid;gap:10px;padding:12px;border:1px solid #efd8cf;border-radius:12px;background:#fff}.patient-schedule-tab .payment-request-preview-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:10px;background:#fff4ee;border:1px solid #f4d1c3}.patient-schedule-tab .payment-request-preview-head span{font-size:11px;color:var(--theme-text-soft)}.patient-schedule-tab .payment-request-preview-head strong{font-size:14px;color:var(--theme-accent-strong)}.patient-schedule-tab .payment-request-preview-list{display:grid;gap:6px;max-height:146px;overflow-y:auto;padding-right:2px}.patient-schedule-tab .payment-request-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border-radius:10px;border:1px solid #f3e4dd;background:#fffcfb}.patient-schedule-tab .payment-request-preview-row span{font-size:12px;color:#352a25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-schedule-tab .payment-request-preview-row em{font-style:normal;font-size:11px;color:var(--theme-text-soft)}.patient-schedule-tab .payment-request-preview-row strong{font-size:13px;color:#2d2420}.patient-schedule-tab .payment-request-preview-empty{padding:10px;border:1px dashed #efccbe;border-radius:10px;background:#fff8f5;font-size:12px;color:var(--theme-text-soft);text-align:center}.patient-schedule-tab .payment-request-form-grid{gap:8px}.patient-schedule-tab .payment-request-form-grid .payment-apply-field span{font-size:11px;font-weight:700;color:#7d5f56}.patient-schedule-tab .payment-request-form-grid .payment-apply-field input{height:38px;border-radius:9px;border-color:#e8d4cc;background:#fffefd}.patient-schedule-tab .payment-request-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.patient-schedule-tab .payment-request-preview-total{display:grid;gap:4px;padding:10px;border-radius:10px;border:1px solid #efdfd8;background:#fffaf8}.patient-schedule-tab .payment-request-preview-total span{font-size:11px;color:var(--theme-text-soft)}.patient-schedule-tab .payment-request-preview-total strong{font-size:18px;line-height:1.1;letter-spacing:-.01em;color:#2d2420}.patient-schedule-tab .payment-request-preview-total.is-emphasis{border-color:#f2b8a2;background:linear-gradient(180deg,#fff2ec,#ffe8de)}.patient-schedule-tab .payment-request-preview-total.is-emphasis strong{color:#b84320}.patient-schedule-tab .payment-request-memo-grid{grid-template-columns:minmax(0,1fr)}.patient-schedule-tab .payment-request-receipt-toggle{display:flex;align-items:center;justify-content:space-between;min-height:38px;border-color:#e8d4cc;background:#fffefd}.patient-schedule-tab .payment-request-receipt-toggle span{margin:0;font-size:11px;font-weight:700;color:#7d5f56}.patient-schedule-tab .payment-request-form-grid .payment-request-receipt-toggle input{width:18px;height:18px;min-height:18px;padding:0;border:0;border-radius:4px;background:transparent;box-shadow:none;accent-color:var(--theme-accent)}.patient-schedule-tab .payment-request-form-grid .payment-request-receipt-toggle input:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}.patient-schedule-tab .payment-request-form-grid .payment-request-receipt-toggle:has(input:disabled){opacity:.6}.patient-schedule-tab .payment-request-form-grid .payment-apply-field input[readonly]{color:#5c4a43;background:#fff9f5}.patient-schedule-tab .payment-request-memo-grid .payment-apply-field input{height:36px}.payment-panel .payment-request-modal{width:min(680px,94vw);border-radius:14px;border-color:#be978a7a;background:linear-gradient(180deg,#fffaf7,#fff6f2);box-shadow:0 20px 48px #6a392a3d}.payment-panel .payment-request-body{gap:10px;padding:14px 16px 12px}.payment-panel .payment-request-summary{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid #f1c6b6;background:linear-gradient(180deg,#fffdfc,#fff3ee)}.payment-panel .payment-request-summary strong{font-size:16px;font-weight:800}.payment-panel .payment-request-summary em{justify-self:end;font-size:18px;font-weight:800}.payment-panel .payment-request-methods{display:inline-flex;flex-wrap:wrap;gap:8px}.payment-panel .payment-request-methods .payment-chip{height:34px;padding:0 14px;font-size:12px;font-weight:700;border-radius:999px}.payment-panel .payment-request-preview{display:grid;gap:10px;padding:12px;border:1px solid #efd8cf;border-radius:12px;background:#fff}.payment-panel .payment-request-preview-list{display:grid;gap:6px;max-height:146px;overflow-y:auto;padding-right:2px}.payment-panel .payment-request-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border-radius:10px;border:1px solid #f3e4dd;background:#fffcfb}.payment-panel .payment-request-vat-label{font-size:11px;color:#b45309;white-space:nowrap}.payment-panel .payment-request-preview-row span{font-size:12px;color:#352a25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-panel .payment-request-preview-row em{font-style:normal;font-size:11px;color:var(--theme-text-soft)}.payment-panel .payment-request-preview-row strong{font-size:13px;color:#2d2420}.payment-panel .payment-request-preview-empty{padding:10px;border:1px dashed #efccbe;border-radius:10px;background:#fff8f5;font-size:12px;color:var(--theme-text-soft);text-align:center}.payment-panel .payment-request-form-grid{gap:8px}.payment-panel .payment-request-form-grid .payment-apply-field span{font-size:11px;font-weight:700;color:#7d5f56}.payment-panel .payment-request-form-grid .payment-apply-field input{height:38px;border-radius:9px;border-color:#e8d4cc;background:#fffefd}.payment-panel .payment-request-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.payment-panel .payment-request-preview-total{display:grid;gap:4px;padding:10px;border-radius:10px;border:1px solid #efdfd8;background:#fffaf8}.payment-panel .payment-request-preview-total span{font-size:11px;color:var(--theme-text-soft)}.payment-panel .payment-request-preview-total strong{font-size:18px;line-height:1.1;letter-spacing:-.01em;color:#2d2420}.payment-panel .payment-request-preview-total.is-emphasis{border-color:#f2b8a2;background:linear-gradient(180deg,#fff2ec,#ffe8de)}.payment-panel .payment-request-preview-total.is-emphasis strong{color:#b84320}.payment-panel .payment-request-memo-grid{grid-template-columns:minmax(0,1fr)}.payment-panel .payment-request-receipt-toggle{display:flex;align-items:center;justify-content:space-between;min-height:38px;border-color:#e8d4cc;background:#fffefd}.payment-panel .payment-request-receipt-toggle span{margin:0;font-size:11px;font-weight:700;color:#7d5f56}.payment-panel .payment-request-form-grid .payment-request-receipt-toggle input{width:18px;height:18px;min-height:18px;padding:0;border:0;border-radius:4px;background:transparent;box-shadow:none;accent-color:var(--theme-accent)}.payment-panel .payment-request-form-grid .payment-request-receipt-toggle input:focus-visible{outline:none;box-shadow:var(--ui-focus-ring)}.payment-panel .payment-request-memo-grid .payment-apply-field input{height:36px}@media (max-width: 900px){.patient-schedule-tab .payment-request-modal{width:min(94vw,680px)}.patient-schedule-tab .payment-request-summary{grid-template-columns:1fr auto}.patient-schedule-tab .payment-request-summary span{grid-column:1 / -1}.patient-schedule-tab .payment-request-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-panel .payment-request-modal{width:min(94vw,680px)}.payment-panel .payment-request-summary{grid-template-columns:1fr auto}.payment-panel .payment-request-summary span{grid-column:1 / -1}.payment-panel .payment-request-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.patient-schedule-tab .payment-request-body{padding:12px}.patient-schedule-tab .payment-request-totals{grid-template-columns:minmax(0,1fr)}.payment-panel .payment-request-body{padding:12px}.payment-panel .payment-request-totals{grid-template-columns:minmax(0,1fr)}}.payment-btn-wide{min-width:120px;height:34px}.section-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);border-radius:6px;padding:6px 8px;font-size:12px;color:var(--theme-text)}.payment-detail-head-actions{display:flex;align-items:center;gap:8px}.payment-summary-board,.payment-detail-board{display:grid;gap:0;min-height:0}.payment-total-board{border:1px solid var(--theme-border);background:var(--theme-surface)}.payment-total-table{width:100%;table-layout:fixed}.payment-total-table th,.payment-total-table td{padding:8px 10px;text-align:center;font-size:12px}.payment-total-table th{background:var(--theme-accent-soft);color:var(--theme-text);font-weight:700}.payment-total-table td{background:var(--theme-surface-soft);color:var(--theme-text);font-weight:600}.payment-summary-table-wrap{height:18vh;min-height:18vh;max-height:18vh;overflow-y:auto;overflow-x:hidden;border:1px solid var(--theme-border);border-top:0;background:var(--theme-surface)}.payment-detail-table-wrap{height:30vh;min-height:30vh;max-height:30vh;overflow-y:auto;overflow-x:hidden;border:1px solid var(--theme-border);border-top:0;background:var(--theme-surface)}.payment-summary-table-wrap table,.payment-detail-table-wrap table{margin:0}@media (max-width: 1200px){.payment-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.payment-section-head{flex-direction:column;align-items:flex-start}.payment-section-tools{width:100%;justify-content:flex-start}.payment-status-filters{width:100%}.payment-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.customer-profile-top{flex-direction:column;align-items:flex-start}.customer-balance-row,.customer-field-grid,.customer-consent-row{grid-template-columns:minmax(0,1fr)}.patient-modal-split,.patient-modal-grid{grid-template-columns:1fr}}@media (max-width: 600px){.payment-kpi-grid{grid-template-columns:minmax(0,1fr)}.payment-summary-bar,.payment-summary-bar.is-detail{grid-template-columns:repeat(2,minmax(0,1fr))}}.payment-close-row input{min-width:130px}.payment-warning{border:1px solid var(--theme-accent-border);background:#fff1eb;color:#8b3f2a;padding:6px 8px;margin-bottom:6px;font-size:12px}.ops-note{font-size:12px;color:var(--theme-text-soft);margin-bottom:8px}.ops-result{margin-top:8px;border:1px solid var(--theme-border);background:var(--theme-surface-soft);padding:8px}.ops-panel{display:grid;gap:8px}.ops-check-row{margin-bottom:4px}.ops-cleanup-divider{height:1px;background:var(--theme-border);margin:6px 0 2px}.ops-cleanup-grid{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;align-items:center}.ops-cleanup-grid label{font-size:12px;font-weight:700;color:var(--theme-text-soft)}.ops-cleanup-actions{display:flex;align-items:center;gap:8px}.ops-cleanup-preview{border:1px solid var(--theme-border);background:#fffdfb;border-radius:10px;padding:8px;display:grid;gap:8px}.ops-cleanup-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.ops-cleanup-impact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:12px}.ops-cleanup-impact>div{padding:6px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface-soft)}.ops-cleanup-warning{border:1px solid var(--theme-accent-border);background:var(--theme-accent-soft);color:#8b3b23;border-radius:8px;padding:8px;font-size:12px}.ops-cleanup-list{border:1px solid var(--theme-border);border-radius:8px;overflow:hidden}.ops-cleanup-list-row{display:grid;grid-template-columns:1.2fr 1fr 1.2fr .8fr;gap:8px;padding:6px 8px;border-bottom:1px solid var(--theme-border);font-size:12px;background:#fff}.ops-cleanup-list-row:last-child{border-bottom:0}@media (max-width: 900px){.ops-cleanup-grid{grid-template-columns:1fr}.ops-cleanup-impact,.ops-cleanup-list-row{grid-template-columns:1fr 1fr}}.align-right-btn{margin-left:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#5a2b1e61;display:grid;place-items:center;z-index:1000}.modal-panel{width:min(900px,92vw);max-height:85vh;overflow:auto;box-sizing:border-box;background:var(--theme-surface-soft);border:1px solid var(--theme-border);border-radius:8px;padding:10px}.payment-modal{width:min(1450px,96vw);height:min(78vh,900px);max-height:min(78vh,900px);min-height:min(78vh,900px);box-sizing:border-box;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr)}.appointment-modal{position:relative;width:min(900px,96vw);border-radius:18px;border-color:#1729491f;background:radial-gradient(circle at top right,rgba(232,98,64,.12),transparent 28%),linear-gradient(180deg,#fff8f4f5,#f7fafcfa);box-shadow:0 24px 60px #121c2d38}.appointment-modal-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffff9e;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:20;border-radius:18px}.appointment-patient-modal{width:min(980px,94vw);max-height:78vh}.patient-search-modal{width:min(720px,94vw);max-height:78vh;padding:14px;overflow:hidden;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-surface-soft);box-shadow:0 22px 56px #6731223d}.patient-edit-modal{width:min(870px,94vw);max-height:85vh;overflow:auto}.appointment-modal-body{display:grid;gap:14px;padding:0 10px 10px}.appointment-readonly-body{margin:0;border:0;min-width:0}.appointment-modal-hero-head{border-radius:18px 18px 0 0;border-bottom:1px solid rgba(255,255,255,.16);background:linear-gradient(135deg,#9a3a1ff5,#e86240e6),var(--theme-accent)}.appointment-modal-hero-actions button{box-shadow:none}.appointment-modal-hero{display:grid;grid-template-columns:minmax(0,.3fr) minmax(0,1.2fr);gap:12px;padding:12px 14px;border:1px solid rgba(23,41,73,.08);border-radius:14px;background:linear-gradient(135deg,#fffcfafa,#f7f9fcf0)}.appointment-modal-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#b3472a}.appointment-modal-hero-primary{display:grid;gap:4px;align-content:start}.appointment-modal-hero-inline-fields{display:grid;grid-template-columns:minmax(0,160px) minmax(0,220px);gap:8px;margin-top:4px}.appointment-modal-hero-inline-field{display:grid;gap:4px}.appointment-modal-hero-inline-field span{font-size:11px;font-weight:700;color:var(--theme-text-soft)}.appointment-modal-hero-inline-field input,.appointment-modal-hero-inline-field select{width:100%;min-width:0;height:36px;border-radius:10px;border:1px solid rgba(23,41,73,.1);background:#fffffff5}.appointment-counselor-field{position:relative}.appointment-counselor-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;display:grid;gap:4px;max-height:220px;padding:6px;overflow-y:auto;border:1px solid rgba(23,41,73,.12);border-radius:12px;background:#fffffffa;box-shadow:0 14px 32px #17294924}.appointment-counselor-option{justify-content:flex-start;min-height:34px;padding:0 10px;border-radius:10px;background:#f7f9fceb;color:var(--theme-text);text-align:left}.appointment-counselor-option:hover{background:#fff4eef5}.appointment-counselor-empty{padding:10px;color:var(--theme-text-soft);font-size:12px}.appointment-modal-hero-title{font-size:20px;line-height:1.1;font-weight:800;color:var(--theme-text)}.appointment-modal-hero-subtitle{font-size:12px;color:var(--theme-text-soft)}.appointment-modal-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.appointment-modal-hero-stat{display:grid;gap:4px;min-width:0;padding:10px 12px;border:1px solid rgba(23,41,73,.08);border-radius:12px;background:#ffffffe6}.appointment-modal-hero-stat-time{grid-column:span 2}.appointment-modal-hero-stat span{font-size:11px;font-weight:700;color:var(--theme-text-soft)}.appointment-modal-hero-stat strong{font-size:13px;color:var(--theme-text)}.appointment-modal-hero-stat input,.appointment-modal-hero-stat select{width:100%;min-width:0;height:38px;border-radius:10px;border:1px solid rgba(23,41,73,.1);background:#fffffff5}.appointment-modal-hero-time{display:grid;grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr);gap:6px;align-items:center}.appointment-modal-hero-time span{font-size:12px;color:var(--theme-text-soft)}.appointment-modal .schedule-editor{margin-bottom:0;padding:10px;border-radius:14px;background:#fffc}.appointment-modal .schedule-editor-head{margin-bottom:10px}.appointment-modal .schedule-editor-head-title{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#b3472a}.appointment-modal .schedule-editor-row-grid,.appointment-modal .schedule-editor-row-grid-top{gap:6px;margin-bottom:6px}.appointment-editor-top-guide{padding:10px 12px;border:1px dashed rgba(23,41,73,.16);border-radius:12px;background:#ffffffb8;font-size:12px;color:var(--theme-text-soft)}.appointment-modal .schedule-editor-memo-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,.9fr);gap:8px;height:24vh;min-height:24vh;max-height:24vh}.appointment-modal .schedule-rich-surface .tiptap{padding:8px;line-height:1.45}.appointment-modal .schedule-editor-action-content{padding:8px}.appointment-modal .schedule-editor-action-box{grid-column:auto}.appointment-modal-top{border:1px solid #c8d3e0;background:#f2f5f9;padding:10px;display:grid;gap:8px}.appointment-search-row-inline{display:grid;grid-template-columns:auto;gap:8px;align-items:center}.appointment-search-row-actions{display:flex;justify-content:flex-end}.appointment-patient-fields{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.appointment-patient-fields .field-label{display:inline-block;min-width:70px;color:#54647a;font-weight:600}.appointment-patient-fields .field-value{color:#2f3b4f}.appointment-modal-main{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1fr);gap:10px}.appointment-panel-head{background:var(--theme-accent);border:1px solid var(--theme-accent);border-radius:6px 6px 0 0;padding:6px 8px;font-weight:700;color:var(--theme-on-accent)}.appointment-panel-body{display:grid;grid-template-columns:110px 1fr;gap:6px 8px;border:1px solid var(--theme-border);background:var(--theme-surface-soft);padding:8px;font-size:12px}.appointment-panel-body-wide{grid-template-columns:1fr}.appointment-panel-body-wide textarea{min-height:120px}.appointment-panel-body label{background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);padding:6px 8px;color:var(--theme-text)}.appointment-panel-body input,.appointment-panel-body select,.appointment-panel-body textarea{width:100%}.appointment-search-row{display:flex;gap:6px;align-items:center;grid-column:2 / -1}.appointment-search-row input{flex:1}.appointment-search-btn{padding:6px 10px;white-space:nowrap}.appointment-search-btn-secondary{background:var(--theme-accent-strong);border-color:var(--theme-accent-strong);color:var(--theme-on-accent)}.appointment-time-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.appointment-modal-bottom{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:32vh;border:1px solid rgba(23,41,73,.08);border-radius:14px;background:#ffffffeb;padding:0;overflow:hidden}.appointment-modal-bottom-inline{margin-top:4px;display:flex;flex-direction:column;min-height:32vh;max-height:46vh;overflow:hidden}.appointment-extra-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;margin-bottom:8px}.appointment-extra-panel{min-height:32vh}.appointment-memo-payment-split{display:flex;gap:8px;min-height:32vh;align-items:flex-start}.appointment-memo-payment-split>.appointment-extra-panel{flex:1 1 0;min-height:0}.appointment-modal .appointment-memo-payment-split .schedule-editor-memo-box{grid-template-rows:auto auto}.appointment-modal .appointment-memo-payment-split .schedule-rich-editor{grid-template-rows:auto auto;height:auto}.appointment-modal .appointment-memo-payment-split .schedule-rich-surface{height:calc(11.6em + 16px);min-height:calc(11.6em + 16px);max-height:calc(11.6em + 16px)}.appointment-modal .appointment-memo-payment-split .schedule-rich-surface .tiptap{height:100%;overflow-y:auto;overflow-x:hidden}.appointment-extra-table-panel{min-height:32vh}.appointment-inline-payment-split{display:flex;flex:1 1 0;min-height:0;gap:0;overflow:hidden}.appointment-inline-pane{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.appointment-inline-pane-search{border-right:1px solid var(--theme-border)}.appointment-inline-pane-draft{display:flex;flex-direction:column}.appointment-inline-payment{display:flex;flex-direction:column;min-height:0;padding:0!important;overflow:hidden;width:100%;height:100%}.appointment-modal-bottom-inline>.appointment-inline-payment,.appointment-modal-bottom-inline>.appointment-inline-payment-split{flex:1 1 0}.appointment-inline-search-row{display:flex;align-items:center;gap:4px;padding:6px 8px;flex-shrink:0;border-bottom:1px solid var(--theme-border);background:var(--theme-surface-soft)}.appointment-inline-cat-select{flex-shrink:0;font-size:12px;padding:4px 6px;border:1px solid var(--theme-border);border-radius:4px;outline:none;background:var(--theme-surface);color:var(--theme-text);max-width:90px}.appointment-inline-cat-select:focus{border-color:var(--theme-accent)}.appointment-inline-search-input{flex:1 1 0;min-width:0;font-size:12px;padding:4px 8px;border:1px solid var(--theme-border);border-radius:4px;outline:none;background:var(--theme-surface);color:var(--theme-text)}.appointment-inline-search-input:focus{border-color:var(--theme-accent)}.appointment-inline-products{flex:1 1 0;overflow-y:auto;min-height:0}.appointment-inline-product-row{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-bottom:1px solid var(--theme-border);font-size:12px}.appointment-inline-product-row:hover{background:var(--theme-accent-soft)}.inline-product-name{flex:1;color:var(--theme-text)}.inline-product-price{color:var(--theme-text-soft);font-weight:500;white-space:nowrap}.appointment-inline-draft-list{flex:1 1 0;overflow-y:auto;min-height:0}.appointment-inline-draft-footer{flex-shrink:0;padding:8px 10px;border-top:1px solid var(--theme-border);background:var(--theme-surface-soft);display:flex;justify-content:flex-end}.appointment-inline-draft-footer>button{padding:5px 18px;font-size:13px}.appointment-inline-draft-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--theme-accent-soft);border-bottom:1px solid var(--theme-accent-border);font-size:11px;font-weight:600;color:var(--theme-text);flex-shrink:0}.appointment-inline-draft-total{color:var(--theme-accent);font-weight:700}.appointment-inline-draft-row{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--theme-border);font-size:12px}.appointment-inline-draft-row:hover{background:var(--theme-surface-soft)}.appointment-penchart-gallery{padding:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.appointment-penchart-preview-modal{width:min(1000px,94vw);max-height:90vh;display:grid;grid-template-rows:auto minmax(0,1fr)}.appointment-penchart-preview-body{padding:12px;background:var(--theme-surface-soft);overflow:auto;display:grid;place-items:center}.appointment-penchart-preview-canvas{position:relative;width:min(900px,100%);aspect-ratio:794 / 1123;background:#fff;border:1px solid var(--theme-border);border-radius:8px}.appointment-penchart-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.inline-draft-name{flex:1;color:var(--theme-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-draft-qty{width:44px;font-size:12px;padding:2px 4px;border:1px solid var(--theme-border);border-radius:3px;text-align:center;background:var(--theme-surface)}.inline-draft-amount{color:var(--theme-text-soft);white-space:nowrap;font-size:11px}.inline-draft-remove{font-size:14px;color:var(--theme-accent-strong);background:none;border:none;cursor:pointer;padding:0 2px;line-height:1}.inline-draft-remove:disabled{color:var(--theme-border);cursor:not-allowed}.appointment-inline-empty{padding:16px 10px;font-size:12px;color:var(--theme-text-soft);text-align:center}.appointment-payment-empty{padding:20px;color:var(--theme-text-soft);font-size:13px;text-align:center}.appointment-payment-group{border:1px solid var(--theme-border);border-radius:6px;margin-bottom:6px}.appointment-payment-group.is-current{border-color:var(--theme-accent)}.appointment-payment-group-head{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--theme-surface-soft);font-size:12px;width:100%;text-align:left;border:none;cursor:pointer;transition:background .15s}.appointment-payment-group-head:hover{filter:brightness(.97)}.appointment-payment-group.is-current .appointment-payment-group-head{background:var(--theme-accent-soft)}.appointment-payment-group-date{font-weight:600;color:var(--theme-text)}.appointment-payment-group-status{font-size:11px;padding:2px 6px;border-radius:4px}.apg-status--paid{background:#dcfce7;color:#15803d}.apg-status--partial{background:#fef9c3;color:#a16207}.apg-status--unpaid{background:#fee2e2;color:#b91c1c}.appointment-payment-group-total{margin-left:auto;font-weight:600;color:var(--theme-text)}.appointment-payment-group-badge{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--theme-accent);color:#fff!important}.appointment-payment-group-chevron{font-size:10px;color:var(--theme-text-soft);transition:transform .25s ease;display:inline-block}.appointment-payment-group-chevron.is-open{transform:rotate(180deg)}.appointment-payment-group-body{display:block}.appointment-payment-group-body-inner{overflow:hidden}.appointment-payment-group-table{width:100%;border-collapse:collapse;font-size:12px;border-top:1px solid var(--theme-border)}.appointment-payment-group-table th,.appointment-payment-group-table td{padding:5px 8px;border-top:1px solid var(--theme-border);text-align:left}.appointment-payment-group-table thead tr{background:var(--theme-surface-soft)}.appointment-payment-group-table th{font-weight:500;color:var(--theme-text-soft)}.apg-td--paid{color:#15803d}.apg-td--unpaid{color:#b91c1c}.appointment-editor-row-grid-top{grid-template-columns:minmax(0,1fr)}.appointment-editor-row-grid-second{grid-template-columns:45px minmax(120px,.9fr) 55px minmax(180px,1.1fr)}.appointment-bottom-tabs{display:flex;gap:4px;align-items:center;padding:8px;border-bottom:1px solid rgba(23,41,73,.08);background:linear-gradient(180deg,#fff4eefa,#fff9f6f5)}.appointment-bottom-tabs .tab-btn{border-radius:10px;background:#ffffffb3}.appointment-bottom-tabs .tab-btn.active{background:#f26d45;border-color:#f26d45;color:#fff}.appointment-bottom-body{min-height:0;height:100%;padding:0;background:transparent;overflow:auto}.appointment-bottom-body table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface)}.appointment-bottom-body th,.appointment-bottom-body td{padding:10px 12px;border-bottom:1px solid var(--theme-border);text-align:left;font-size:12px;color:var(--theme-text);vertical-align:top}.appointment-bottom-body th{background:var(--theme-accent-soft);color:var(--theme-text);font-size:11px;font-weight:700;letter-spacing:.02em}.appointment-bottom-body tbody tr:last-child td{border-bottom:0}.appointment-bottom-body tbody tr:hover td{background:var(--theme-surface-soft)}.appointment-bottom-body tbody tr td:first-child{color:var(--theme-text-soft);font-weight:600}.appointment-bottom-body tbody tr td[colspan]{padding:22px 14px;color:var(--theme-text-soft);text-align:center;background:var(--theme-surface-soft)}.appointment-extra-table-count{font-size:11px;color:var(--theme-text-soft)}.appointment-patient-search{display:flex;flex-direction:column;gap:6px;margin-bottom:6px;padding:10px 12px;background:var(--theme-surface-soft);border-radius:8px;border:1px solid rgba(23,41,73,.07)}.patient-search-filter-card{margin-bottom:12px;padding:10px;border:1px solid var(--theme-border);border-radius:10px;background:#fffdfc}.patient-search-filter-label{margin:0 0 7px 1px;color:var(--theme-text-soft);font-size:11px;font-weight:800;letter-spacing:.04em}.patient-search-bar{display:flex;align-items:stretch;gap:0;height:38px}.patient-search-bar-select{flex:0 0 auto;height:38px;padding:0 10px;font-size:12px;font-weight:600;background:#fff;color:var(--theme-text);border:1px solid var(--theme-border);border-right:0;border-radius:0;cursor:pointer}.patient-search-bar-select:first-child{border-radius:8px 0 0 8px}.patient-search-bar-input{flex:1 1 auto;min-width:0;height:38px;padding:0 12px;font-size:13px;background:#fff;color:var(--theme-text);border:1px solid var(--theme-border);border-right:0;border-radius:0}.patient-search-bar-select:focus,.patient-search-bar-input:focus{position:relative;z-index:1;outline:none;border-color:#e86240;box-shadow:0 0 0 3px #e862401f}.patient-search-bar-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 78px;height:38px;font-size:13px;font-weight:700;border-radius:0 8px 8px 0;box-shadow:none}.patient-search-bar-btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px #be422333}.patient-search-multi-grid{display:grid;grid-template-columns:58px 1fr 58px 1fr;gap:5px 6px;align-items:center}.patient-search-multi-grid label{font-size:11px;font-weight:600;color:var(--theme-text-soft);white-space:nowrap}.patient-search-multi-grid input,.patient-search-multi-grid select{font-size:12px;padding:4px 7px;height:28px;border:1px solid #c8d3e0;border-radius:4px;background:#fff;color:var(--theme-text)}.patient-search-submit-btn{align-self:stretch;width:100%;height:30px;font-size:13px}.appointment-patient-search select{flex:0 0 110px}.appointment-search-input-group{flex:0 0 30%;max-width:30%;display:flex;align-items:stretch}.appointment-patient-search input,.appointment-search-input-group input{flex:1}.appointment-search-input-group input{border-right:0;border-radius:2px 0 0 2px}.appointment-search-input-group .appointment-search-btn{border-radius:0 2px 2px 0}.patient-search-results-card{border:1px solid var(--theme-border);border-radius:10px;overflow:hidden;background:#fff}.patient-search-results-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--theme-accent-border);background:var(--theme-accent-soft)}.patient-search-results-head strong{color:var(--theme-text);font-size:13px}.patient-search-results-head span{color:var(--theme-accent-strong);font-size:11px;font-weight:800}.appointment-patient-list{border:1px solid #c8d3e0;background:#f2f5f9;padding:4px;max-height:36vh;overflow:auto;border-radius:6px}.appointment-patient-list table{width:100%;border-collapse:collapse;font-size:12px}.appointment-patient-list th{padding:5px 8px;font-size:11px;font-weight:700;background:#e8edf4;color:var(--theme-text-soft);border-bottom:1px solid #c8d3e0;white-space:nowrap}.appointment-patient-list td{padding:5px 8px;border-bottom:1px solid #e4eaf2;vertical-align:middle}.appointment-patient-list tbody tr:last-child td{border-bottom:0}.appointment-patient-list tbody tr:hover td{background:#e862400a}.appointment-patient-list td button{padding:3px 10px;font-size:11px;height:24px}.patient-search-modal .appointment-patient-list{position:relative;max-height:35vh;padding:0;overflow:auto;border:0;border-radius:0;background:#fff}.patient-search-modal .appointment-patient-list th{position:sticky;top:0;z-index:1;padding:8px 10px;background:#fff6f2;border-bottom-color:var(--theme-accent-border);color:var(--theme-text-soft);font-weight:800}.patient-search-modal .appointment-patient-list td{padding:8px 10px;border-bottom-color:#f2e6e1}.patient-search-modal .appointment-patient-list td button{min-width:48px;height:27px;padding:3px 10px;border-radius:7px;font-size:11px;font-weight:700}.patient-search-empty-state{display:grid;justify-items:center;gap:5px;padding:22px 12px;color:var(--theme-text-soft)}.patient-search-empty-state>span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--theme-accent-soft);color:var(--theme-accent)}.patient-search-empty-state strong{color:var(--theme-text);font-size:12px}.patient-search-empty-state small{font-size:11px}.modal-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:8px}.patient-search-modal .modal-pagination{gap:10px;margin-top:10px}.patient-search-modal .modal-pagination button{min-width:50px;height:30px;padding:4px 10px;border-radius:8px;font-size:12px}.patient-search-modal .modal-pagination span{min-width:44px;color:var(--theme-text);font-size:12px;font-weight:700;text-align:center}.payment-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:12px 14px;border:1px solid var(--theme-accent-border);background:linear-gradient(180deg,#f6a890,#e86240);border-radius:8px}.payment-modal-head h2,.payment-modal-head h3{margin:0;font-size:20px;font-weight:700;color:var(--theme-on-accent)}.patient-search-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:2px 2px 14px;border-bottom:1px solid var(--theme-border)}.patient-search-modal-title-group{display:flex;align-items:center;gap:10px;min-width:0}.patient-search-modal-title-icon{display:grid;flex:0 0 auto;width:36px;height:36px;place-items:center;border:1px solid var(--theme-accent-border);border-radius:10px;background:var(--theme-accent-soft);color:var(--theme-accent)}.patient-search-modal-head h2{margin:0;font-size:17px;font-weight:800;color:var(--theme-text)}.patient-search-modal-head p{margin:3px 0 0;color:var(--theme-text-soft);font-size:11px}.patient-search-modal-close{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:4px 10px;border-color:var(--theme-accent-border);border-radius:8px;background:#fff;color:var(--theme-text-soft);font-size:12px;font-weight:700;box-shadow:none}.patient-search-modal-close:hover{border-color:var(--theme-accent);background:var(--theme-accent-soft);color:var(--theme-accent-strong)}@media (max-width: 560px){.patient-search-modal{padding:9px}.patient-search-modal-head{padding:11px}.patient-search-modal-head p{display:none}.patient-search-bar{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px}.patient-search-bar-select,.patient-search-bar-input,.patient-search-bar-btn{height:36px;border:1px solid var(--theme-border);border-radius:8px}.patient-search-bar-input,.patient-search-bar-btn{grid-column:span 2}}.payment-modal-actions{display:flex;gap:8px}.payment-modal-actions button{min-height:38px;padding:8px 14px;font-size:14px;font-weight:600}.payment-modal-search{margin-bottom:12px}.payment-modal-search input{width:100%;min-height:40px;padding:9px 12px;font-size:14px;border:1px solid var(--theme-border);background:var(--theme-surface)}.payment-modal-tools{display:flex;align-items:center;gap:8px;margin-bottom:8px}.payment-modal-search-inline{flex:1 1 auto}.payment-modal-search-inline input{width:100%;min-height:36px;padding:8px 12px;font-size:13px;border:1px solid var(--theme-border);background:var(--theme-surface)}.split-modal{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:12px;min-width:0;min-height:0}.payment-modal-pane{display:flex;flex-direction:column;min-width:0;overflow:hidden;box-sizing:border-box;border:1px solid var(--theme-border);background:var(--theme-surface-soft);padding:12px;border-radius:8px}.payment-modal-pane-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.payment-modal-pane-head h3{margin:0;padding:6px 10px;background:var(--theme-accent);border:1px solid var(--theme-accent);border-radius:6px;color:var(--theme-on-accent);font-size:13px;line-height:1}.payment-modal-pane-head span{font-size:12px;color:var(--theme-text-soft)}.payment-modal-paging{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:0;white-space:nowrap}.payment-modal-paging span{font-size:12px;color:var(--theme-text-soft)}.payment-draft-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:7px 10px;border:1px solid var(--theme-accent-border);background:var(--theme-accent-soft);border-radius:6px;font-size:14px;color:var(--theme-text)}.payment-draft-summary strong{font-size:15px}.payment-select-table{table-layout:fixed;width:100%;background:var(--theme-surface)}.payment-modal-table-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:6px}.chart-editor-panel{display:grid;gap:10px;min-height:0}.chart-editor-card{display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--theme-border);background:var(--theme-surface-soft);height:46vh;min-height:46vh;max-height:46vh;overflow:hidden}.chart-toolbar{display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid var(--theme-accent-border);background:var(--theme-accent-soft)}.chart-toolbar button{width:20px;min-width:20px;height:20px;padding:0;font-size:10px;font-weight:700;background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}.chart-toolbar button.is-active{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.chart-toolbar-color{min-width:32px;height:20px}.chart-toolbar-date-button{width:auto!important;min-width:64px!important;padding:0 8px!important;font-size:11px!important}.rich-format-glyph{display:inline-flex;align-items:center;justify-content:center;min-width:1em;font-size:12px;line-height:1;color:currentColor}.rich-format-glyph-bold{font-weight:800}.rich-format-glyph-italic{font-style:italic}.rich-format-glyph-underline{text-decoration:underline;text-decoration-thickness:1.5px}.rich-format-glyph-strike{text-decoration:line-through;text-decoration-thickness:1.5px}.rich-format-glyph-color{color:#e53935;text-decoration:underline;text-decoration-color:#e53935;text-decoration-thickness:2px}.rich-color-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:0 4px;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;overflow:hidden}.rich-color-picker input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.rich-color-picker-arrow{font-size:9px;color:#64748b;line-height:1}.chart-editor-surface{min-height:0;height:100%;max-height:100%;background:#fff;overflow-y:auto;overflow-x:hidden;cursor:text}.chart-editor-surface .tiptap{min-height:100%;padding:16px;outline:none;color:#243447;line-height:1.7;cursor:text}.chart-editor-surface .tiptap p{margin:0 0 10px}.chart-editor-surface .tiptap pre{white-space:pre-wrap}.payment-select-table th:nth-child(1),.payment-select-table td:nth-child(1){width:16%}.payment-select-table th:nth-child(2),.payment-select-table td:nth-child(2){width:34%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-select-table th:nth-child(3),.payment-select-table td:nth-child(3){width:8%}.payment-select-table th:nth-child(4),.payment-select-table td:nth-child(4){width:10%}.payment-select-table th:nth-child(5),.payment-select-table td:nth-child(5){width:8%}.payment-select-table th:nth-child(6),.payment-select-table td:nth-child(6){width:8%}.payment-select-table th:nth-child(7),.payment-select-table td:nth-child(7){width:16%}.draft-items-table{table-layout:fixed;width:100%;background:var(--theme-surface)}.payment-select-table th,.payment-select-table td,.draft-items-table th,.draft-items-table td{border-color:var(--theme-border);padding:8px;font-size:13px;line-height:1.4;color:var(--theme-text)}.payment-select-table th,.draft-items-table th{background:var(--theme-accent-soft);color:var(--theme-text);font-weight:700}.payment-select-table tbody tr:hover,.draft-items-table tbody tr:hover{background:var(--theme-surface-soft)}.payment-product-row{cursor:pointer}.payment-table-empty{text-align:center;color:var(--theme-text-soft);background:var(--theme-surface-soft);padding:16px 8px!important}.draft-items-table th:nth-child(1),.draft-items-table td:nth-child(1){width:16%}.draft-items-table th:nth-child(2),.draft-items-table td:nth-child(2){width:24%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-items-table th:nth-child(3),.draft-items-table td:nth-child(3){width:8%;min-width:34px}.draft-items-table th:nth-child(4),.draft-items-table td:nth-child(4){width:8%}.draft-items-table th:nth-child(5),.draft-items-table td:nth-child(5){width:10%}.draft-items-table th:nth-child(6),.draft-items-table td:nth-child(6){width:12%}.draft-items-table th:nth-child(7),.draft-items-table td:nth-child(7){width:12%}.draft-items-table th:nth-child(8),.draft-items-table td:nth-child(8){width:10%}.draft-items-table .qty-input{width:100%!important;min-width:0;max-width:none;box-sizing:border-box;padding:6px;text-align:center;font-size:13px;border:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-text)}.draft-items-table .payment-discount-cell{display:grid;gap:4px}.draft-items-table .payment-discount-mode{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--theme-border);border-radius:6px;background:#f6f1ed;justify-content:space-evenly}.draft-items-table .payment-discount-mode>button{height:20px;min-width:24px;padding:0 6px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--theme-text-soft);font-size:11px;font-weight:700;cursor:pointer}.draft-items-table .payment-discount-mode>button.is-active{background:#fff;color:#c94f30;border-color:#f0b8a5}.draft-items-table .method-select{width:100%;min-width:0;box-sizing:border-box;padding:6px;font-size:13px}.draft-items-table td:nth-child(5),.draft-items-table td:nth-child(6),.draft-items-table td:nth-child(7),.draft-items-table td:nth-child(8){white-space:nowrap}.draft-items-table td:nth-child(8) button{padding:6px 8px;font-size:12px;font-weight:600;white-space:nowrap;border-color:var(--theme-accent-border);background:var(--theme-surface-soft);color:var(--theme-text)}.draft-items-table .qty-input::-webkit-outer-spin-button,.draft-items-table .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.draft-items-table .qty-input[type=number]{-moz-appearance:textfield}.card{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);padding:var(--space-4);margin-bottom:0;min-width:0;box-shadow:var(--ui-shadow-1)}.card h2{margin:0 0 8px;font-size:18px;color:var(--theme-text)}.card .section-head h2,.card .section-head h3,.payment-modal-head h2,.payment-modal-head h3,.page-header h1,.appointment-panel-head{color:var(--theme-on-accent)}.row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}input,select,textarea,button{padding:var(--space-2) var(--space-3);border:1px solid var(--theme-border);border-radius:8px;font-size:13px;background:var(--theme-surface);color:var(--theme-text)}textarea{width:100%;resize:vertical}button{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent);cursor:pointer;font-weight:600}button:disabled{background:#f2dfd8;border-color:#e5c6bc;color:#8a6b62;opacity:.5;cursor:not-allowed}pre{overflow:auto;background:#f7f9fc;color:#2f3d4d;padding:10px;border-radius:6px;border:1px solid #d4dbe3;font-size:12px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin:10px 0}.perm-item{display:flex;align-items:center;gap:8px;border:0;border-radius:0;padding:8px 2px}.perm-item-switch{justify-content:flex-end;padding:10px 2px}.perm-switch-input{position:absolute;opacity:0;pointer-events:none}.perm-switch-slider{position:relative;display:inline-flex;width:42px;height:24px;border-radius:999px;background:#d7dde5;border:1px solid #c5ced8;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.perm-switch-slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a2e;transition:transform .16s ease}.perm-switch-input:checked+.perm-switch-slider{background:var(--theme-accent);border-color:var(--theme-accent)}.perm-switch-input:checked+.perm-switch-slider:after{transform:translate(18px)}.perm-switch-input:focus-visible+.perm-switch-slider{box-shadow:0 0 0 3px #e8624029}.perm-grid .perm-item:first-child{border-top:1px solid #dbe3ec}.perm-grid{display:grid;gap:8px;align-content:start}.permission-depth-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:10px;margin-top:10px}.permission-depth-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:420px;border:1px solid #d2dae4;border-radius:10px;background:linear-gradient(180deg,#fbfdff,#f5f9fc);overflow:hidden}.permission-depth-head{padding:10px 12px;border-bottom:1px solid #dbe3ec;background:#fff2e9;color:var(--theme-text);font-size:12px;font-weight:800}.permission-depth-list,.permission-depth-checklist{display:grid;gap:8px;align-content:start;padding:10px;overflow-y:auto}.permission-depth-checklist{grid-template-columns:1fr}.permission-depth-item{display:grid;gap:4px;width:100%;padding:10px 12px;border:1px solid #d5dde7;border-radius:8px;background:#fff;color:#334860;text-align:left}.permission-depth-item-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.permission-depth-item.active{border-color:var(--theme-accent-border);background:var(--theme-accent-soft)}.permission-depth-item strong{font-size:13px}.permission-depth-switch{display:inline-flex;align-items:center;flex:0 0 auto}.permission-depth-item span{font-size:11px;color:var(--theme-text-soft)}.rbac-user-list{display:grid;gap:8px}.rbac-user-item{display:grid;gap:3px;padding:10px 12px;border:1px solid #d5dde7;border-radius:8px;background:#fff}.rbac-user-item strong{font-size:13px;color:var(--theme-text)}.rbac-user-item span{font-size:12px;color:var(--theme-text-soft)}.permission-subsection{display:grid;gap:6px}.permission-subsection+.permission-subsection{margin-top:8px;padding-top:10px;border-top:1px solid #d6dee8}.permission-subsection-title{font-size:12px;font-weight:800;color:#6a5b53}.permission-subsection-list{display:grid;gap:0}.permission-subsection-list .perm-item:first-child{border-top:1px solid #dbe3ec}.session-list{display:grid;gap:8px;margin:8px 0}.session-item{border:1px solid #cfd8e2;border-radius:6px;background:#f7f9fb;padding:8px;display:grid;gap:6px}table{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border-radius:6px;overflow:hidden}th,td{border:1px solid #d2dae4;padding:6px 8px;text-align:left}th{background:#eef3f8;color:#334860}.appointment-bottom-body table{border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--theme-border)!important;border-radius:8px!important;background:var(--theme-surface)!important}.appointment-bottom-body th,.appointment-bottom-body td{border:0!important;border-bottom:1px solid var(--theme-border)!important}.appointment-bottom-body th{background:var(--theme-accent-soft)!important;color:var(--theme-text)!important}tbody tr{cursor:pointer}tbody tr.row-selected{background:#dff5f1}tbody tr.payment-date-group-start td{border-top:3px solid #7f90a8}.button-like{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border-radius:5px;border:1px solid #cfd8e2;background:#fff;cursor:pointer}.penchart-editor-layout{display:grid;gap:12px}.penchart-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.penchart-section-title{display:grid;gap:4px;min-width:0}.penchart-section-title .catalog-master-caption{margin:0}.penchart-admin-toolbar{display:flex;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--theme-border);border-radius:10px;background:#fff8f5c2;align-items:end}.penchart-filter-field{display:grid;gap:4px;min-width:132px;flex:0 0 132px}.penchart-filter-field.is-search{flex:1 1 280px;min-width:280px}.penchart-filter-field label{font-size:11px;font-weight:700;color:#7d675d}.penchart-admin-toolbar select,.penchart-admin-toolbar input[type=search]{height:38px;padding:0 12px;border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:8px;font-size:13px;color:var(--theme-text)}.penchart-admin-toolbar input[type=search]{width:100%;min-width:0}.penchart-card-title-row{display:block;min-width:0}.button-danger-outline{border-color:#d18a78;color:#9a3d2c}.penchart-admin-layout .section-head{align-items:flex-start;gap:12px}.penchart-admin-layout .catalog-master-panel{padding:10px;border-radius:10px}.penchart-admin-layout .catalog-detail-panel{grid-template-rows:auto auto auto minmax(0,1fr)}.penchart-admin-layout .catalog-detail-actions{justify-content:flex-end;gap:8px}.penchart-admin-layout .catalog-detail-grid{grid-template-columns:88px minmax(0,1fr);gap:8px 10px}.penchart-admin-layout .catalog-detail-grid label{min-height:38px;display:flex;align-items:center}.penchart-admin-layout .catalog-detail-grid input,.penchart-admin-layout .catalog-detail-grid select{min-height:38px}.penchart-admin-layout .catalog-detail-grid.penchart-detail-grid{grid-template-columns:1fr}.penchart-detail-split-row{display:grid;gap:10px}.penchart-detail-split-row.is-top{grid-template-columns:minmax(0,3fr) minmax(0,7fr)}.penchart-detail-split-row.is-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.penchart-detail-inline-field{display:grid;grid-template-columns:1fr;gap:6px;min-width:0}.penchart-detail-inline-field label{min-height:auto;padding:0;border:0;background:transparent;font-size:12px;font-weight:700;color:var(--theme-text-soft)}.penchart-detail-inline-field input,.penchart-detail-inline-field select{min-width:0;min-height:38px}.penchart-gallery-five{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1600px){.penchart-admin-layout{grid-template-columns:minmax(0,1.55fr) minmax(380px,430px)}.penchart-gallery-five{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 1280px){.penchart-admin-layout{grid-template-columns:minmax(0,1fr)}.penchart-gallery-five{grid-template-columns:repeat(4,minmax(0,1fr))}.management-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-dashboard-grid,.management-dashboard-grid.is-bottom,.management-dashboard-main,.management-dashboard-top{grid-template-columns:1fr}.management-dashboard-mid{grid-template-columns:1fr 1fr}.management-dashboard-filters{justify-content:flex-start;flex-wrap:wrap}}@media (max-width: 900px){.penchart-gallery-five{grid-template-columns:repeat(3,minmax(0,1fr))}.management-kpi-grid{grid-template-columns:1fr 1fr}.management-dashboard-date-range input{min-width:120px}.management-dashboard-period{justify-content:flex-start}.management-donut{height:90px}.management-method-list,.management-dashboard-mid{grid-template-columns:1fr}}.penchart-card{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100%;border:1px solid #d9e1ea;border-radius:12px;background:#fffdfa;cursor:pointer;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}.penchart-card:hover{border-color:#d9a18d;background:#fffaf6;box-shadow:0 8px 18px #81665814;transform:translateY(-1px)}.penchart-card:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}.penchart-card.is-selected{border-color:var(--theme-accent);background:linear-gradient(180deg,#fff8f3,#fffdfb);box-shadow:0 0 0 1px #e862402e,0 12px 24px #bc76571f}.penchart-card-preview{padding:8px;background:linear-gradient(180deg,#fff2ec,#fdf7f3);display:grid;place-items:center;overflow:visible;border-bottom:1px solid #ede4de}.penchart-card-preview img{width:100%;height:auto;object-fit:contain;display:block;background:#fff;border:1px solid #d7dde5;border-radius:8px;box-shadow:0 3px 10px #2b394a0f}.penchart-card-empty{color:var(--theme-text-soft);font-size:13px;text-align:center;line-height:1.5}.penchart-card-body{display:grid;gap:6px;padding:11px 12px 12px}.penchart-card-body-centered{justify-items:center;text-align:center}.penchart-card-body strong{display:block;width:100%;color:var(--theme-text);font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.penchart-card-body span{color:var(--theme-text-soft);font-size:12px}.penchart-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--theme-text-soft);font-size:11px}.penchart-card-category{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.penchart-card-meta .catalog-master-status{flex:0 0 auto}.penchart-empty-note{padding:18px 14px;border:1px dashed #d8dfe8;border-radius:10px;background:#fff}.penchart-primary-action{min-width:84px;background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent);font-weight:700}.penchart-primary-action:hover:not(:disabled){background:var(--theme-accent-strong);border-color:var(--theme-accent-strong)}.penchart-neutral-action,.penchart-secondary-action,.penchart-danger-action{min-width:84px}.penchart-preview-panel{padding:12px;border:1px solid #d9e1ea;border-radius:12px;background:linear-gradient(180deg,#fcf7f4,#fff)}.penchart-preview-head{padding:0 0 10px}.penchart-preview-head strong{font-size:13px;color:var(--theme-text)}.penchart-preview-head span{font-size:12px;color:var(--theme-text-soft)}.penchart-upload-dropzone{display:grid;gap:4px;width:100%;margin-bottom:10px;padding:12px 14px;border:1px dashed #d9b3a3;border-radius:10px;background:#fffaf7;color:var(--theme-text);text-align:left;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.penchart-upload-dropzone:hover{border-color:var(--theme-accent);background:#fff6f1}.penchart-upload-dropzone.is-drag-active{border-color:var(--theme-accent);background:#fff1ea;box-shadow:0 0 0 3px #e862401f}.penchart-upload-dropzone strong{font-size:13px;color:var(--theme-text)}.penchart-upload-dropzone span{font-size:12px;color:var(--theme-text-soft)}.penchart-admin-preview{padding:16px;border:1px solid #e4dad3;border-radius:10px;background:#fff8f4;min-height:320px}.penchart-preview-empty{min-height:220px;display:grid;place-items:center;padding:16px;border:1px dashed #d8cfc8;border-radius:10px;background:#fff;color:var(--theme-text-soft);font-size:12px;line-height:1.6;text-align:center}.penchart-editor-modal{width:min(700px,94vw);max-height:88vh;--penchart-chrome: 220px;overflow:hidden}.penchart-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.penchart-editor-title{display:flex;align-items:center;gap:10px}.penchart-editor-title h3{margin:0}.penchart-editor-badge{padding:4px 8px;border-radius:999px;border:1px solid var(--theme-border);background:#fff7f3;color:var(--theme-text);font-size:12px}.penchart-editor-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.penchart-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:12px;flex-wrap:wrap}.penchart-toolbar-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.penchart-toolbar-divider{width:1px;height:28px;background:var(--theme-border)}.penchart-btn{height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-text);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;line-height:1;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.penchart-btn:hover{border-color:var(--theme-accent)}.penchart-btn:focus-visible{outline:2px solid rgba(251,146,60,.45);outline-offset:2px}.penchart-btn:disabled{opacity:.55;cursor:not-allowed}.penchart-btn-primary{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent);box-shadow:inset 0 0 0 1px var(--theme-accent)}.penchart-btn-secondary{background:#fff}.penchart-btn-danger{color:#dc2626;border-color:#fca5a5;background:#fff}.penchart-btn-danger:hover{background:#fef2f2;border-color:#f87171}.penchart-btn-ghost{border-color:transparent;background:transparent;color:var(--theme-text-soft)}.penchart-btn-ghost.penchart-btn-invert{color:#fff}.penchart-btn-ghost:hover{border-color:var(--theme-border);background:#f8fafc;color:var(--theme-text)}.penchart-seg{display:inline-flex;border:1px solid var(--theme-border);border-radius:8px;overflow:hidden}.penchart-seg-btn{height:32px;padding:0 10px;border:0;background:transparent;color:var(--theme-text);font-size:12px}.penchart-seg-btn-invert{color:#fff}.penchart-seg-btn.is-active{background:var(--theme-accent);color:var(--theme-on-accent)}.penchart-seg-btn:focus-visible{outline:2px solid rgba(251,146,60,.45);outline-offset:-2px}.penchart-editor-modal .appointment-modal-body{grid-template-rows:auto minmax(0,1fr);min-height:0;height:calc(88vh - var(--penchart-chrome));overflow:hidden}.penchart-editor-modal.is-fullscreen,.penchart-editor-modal:fullscreen{width:100vw;height:100vh;max-height:none;border-radius:0;padding:12px}.penchart-editor-modal.is-fullscreen .appointment-modal-body,.penchart-editor-modal:fullscreen .appointment-modal-body{height:calc(100vh - 96px)}.penchart-tool-group{display:inline-flex;align-items:stretch;gap:4px;flex-wrap:wrap}.penchart-tool-option{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 8px;border:1px solid var(--theme-border);background:var(--theme-surface);cursor:pointer;color:var(--theme-text);font-size:12px;line-height:1}.penchart-tool-option input{display:none}.penchart-tool-option.is-active{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent);box-shadow:inset 0 0 0 1px var(--theme-accent)}.penchart-tool-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:12px;font-weight:700}.penchart-color-input{width:28px;height:28px;padding:0;border:1px solid var(--theme-border);background:var(--theme-surface)}.penchart-editor-modal .appointment-modal-top input[type=number]{height:30px;padding:0 6px;font-size:12px}.penchart-template-toolbar{display:flex;gap:10px;padding:14px 16px;border-bottom:1px solid var(--theme-border);background:#fff}.penchart-template-toolbar select,.penchart-template-toolbar input[type=search]{height:38px;padding:0 12px;border:1px solid var(--theme-border);background:var(--theme-surface);border-radius:8px;font-size:14px;color:var(--theme-text)}.penchart-template-toolbar input[type=search]{flex:1}.penchart-template-modal{width:min(980px,96vw);max-height:88vh;padding:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.penchart-template-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--theme-border);background:#fff}.penchart-template-header h3{margin:0}.penchart-template-content{padding:16px;background:#fafafa;overflow:auto}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.template-card{display:grid;grid-template-rows:auto auto;border:1px solid var(--theme-border);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 6px 16px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;cursor:pointer}.template-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 10px 26px #0f172a1f}.template-card.is-selected{border-color:var(--theme-accent);box-shadow:0 10px 26px #fb923c40}.template-thumb{position:relative;background:#fff2ec;aspect-ratio:210 / 297;display:grid;place-items:center;overflow:hidden}.template-thumb img{width:100%;height:100%;object-fit:cover}.template-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0f172a66;opacity:0;transition:opacity .18s ease}.template-card:hover .template-overlay,.template-card.is-selected .template-overlay{opacity:1}.template-overlay-btn{padding:6px 12px;border-radius:999px;background:#ffffffe6;font-size:12px;font-weight:600;color:#0f172a}.template-check{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:999px;background:var(--theme-accent);color:var(--theme-on-accent);display:grid;place-items:center;font-size:14px;font-weight:700;box-shadow:0 6px 16px #fb923c59}.template-meta{padding:12px;text-align:center}.penchart-template-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--theme-border);background:#fff;position:sticky;bottom:0}@media (max-width: 1100px){.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.penchart-admin-toolbar,.penchart-template-toolbar{flex-wrap:wrap}}@media (max-width: 600px){.template-grid{grid-template-columns:minmax(0,1fr)}}.penchart-stroke-input{width:64px;text-align:center}.penchart-stage-wrap{overflow:auto;border:1px solid var(--theme-border);background:linear-gradient(180deg,#fff7f3,#ffece4);padding:8px;display:grid;justify-items:center;position:relative;min-height:0;max-height:calc(96vh - var(--penchart-chrome));width:100%;margin:0 auto}.penchart-editor-modal.is-fullscreen .penchart-stage-wrap,.penchart-editor-modal:fullscreen .penchart-stage-wrap{height:100%;overflow:auto;max-height:none;width:min(1200px,100%)}.penchart-canvas-text-input{position:absolute;z-index:3;min-width:180px;padding:6px 8px;border:1px solid var(--theme-accent);background:var(--theme-surface);box-shadow:0 8px 18px #e862402e}.penchart-stage-rotator{position:relative}.penchart-stage-canvas{transform-origin:center center}.penchart-stage-canvas canvas{touch-action:none}.penchart-editor-modal.is-fullscreen.is-canvas-only{padding:0}.penchart-editor-modal.is-fullscreen.is-canvas-only .penchart-editor-header,.penchart-editor-modal.is-fullscreen.is-canvas-only .penchart-editor-toolbar{display:none}.penchart-editor-modal.is-fullscreen.is-canvas-only .appointment-modal-body{grid-template-rows:minmax(0,1fr);height:100%}.penchart-editor-modal.is-fullscreen.is-canvas-only .penchart-stage-wrap{height:100%;max-height:none;width:100%;border:0;padding:0;background:#1f2727;justify-items:safe center}.penchart-canvas-exit{position:fixed;top:10px;right:12px;z-index:60;width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#1f2727b3;color:#fff;font-size:16px;line-height:1}@media (max-width: 1280px){.app-shell{grid-template-columns:148px 1fr}.sidebar{padding:10px 8px;gap:6px;overflow-x:hidden}.sidebar h2{margin:0 0 6px;font-size:17px;letter-spacing:0;text-align:center}.sidebar-info-card{display:grid;padding:8px;font-size:10px}.sidebar-info-date{font-size:11px}.sidebar-stats-row{gap:5px;padding:3px 6px}.sidebar-stats-value{flex-wrap:wrap;gap:1px 3px;font-size:11px;line-height:1.15}.sidebar-stats-sub{max-width:100%;font-size:9px;white-space:normal;overflow-wrap:anywhere}.sidebar-bottom{justify-content:flex-end}.sidebar-bottom-user{display:block;font-size:11px}.sidebar-menu{gap:4px}.sidebar-submenu,.sidebar-submenu.sidebar-submenu-collapsible.is-open{padding-left:4px;gap:4px}.nav-btn{min-height:32px;padding:7px;font-size:11px;border-radius:7px}.nav-btn-content{gap:5px}.nav-btn-sub{padding-left:8px}.nav-btn-group-arrow{flex:0 0 14px}.content{padding:10px}.top-strip{flex-wrap:wrap;align-items:flex-start}.top-front-controls{margin-left:0}.front-desk-shell{grid-template-columns:1fr;min-height:auto;max-height:none;overflow:visible}.front-main-board{order:1;min-height:0;overflow:visible}.front-notice-panel{order:2;min-height:0}.front-notice-box{min-height:220px;max-height:320px}.front-toolbar{align-items:flex-start;flex-wrap:wrap}.front-toolbar-left,.front-toolbar-right{flex-wrap:wrap}.front-part-filters{flex-wrap:wrap;overflow-x:hidden}.front-queue-grid{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(360px,360px);grid-auto-columns:auto;height:auto;max-height:none;overflow:visible}.front-queue-list{gap:8px;padding:8px}.front-queue-card{min-height:70px}.patient-layout,.staff-layout,.catalog-master-layout,.rbac-layout{grid-template-columns:1fr}.patient-summary-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-permission-groups,.appointment-modal-main,.split-modal,.appointment-modal-hero{grid-template-columns:1fr}.appointment-modal-hero-stats{grid-template-columns:1fr 1fr}.appointment-modal-hero-stat-time{grid-column:span 2}.appointment-modal-hero-inline-fields{grid-template-columns:1fr}.appointment-modal .schedule-editor-memo-grid{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}.appointment-extra-panel{min-height:0}.appointment-patient-fields{grid-template-columns:repeat(2,minmax(120px,1fr))}.appointment-management-card{--appointment-time-column-width: 68px;--appointment-part-column-width: 94px;--appointment-compact-time-width: 68px;--appointment-period-date-width: 84px;--appointment-compact-part-min: 96px;--appointment-compact-part-width: 112px;--appointment-compact-total-width: 72px;min-height:calc(100vh - 104px);height:calc(100vh - 104px)}.appointment-toolbar{gap:6px;margin-bottom:6px}.appointment-view-tabs,.appointment-theme-tabs{gap:3px}.appointment-day-board{--slot-height: 46px}.appointment-compact-board{padding:6px}.appointment-compact-head{min-height:32px;padding:5px 7px;font-size:11px;line-height:1.2}.appointment-compact-time-cell,.appointment-compact-cell,.appointment-period-compact-date-cell,.appointment-period-compact-total-cell{min-height:38px;padding:5px 6px}.appointment-compact-time-cell,.appointment-period-compact-date-cell{font-size:11px}.appointment-compact-count{min-width:28px;padding:3px 7px;font-size:11px}.appointment-compact-empty{font-size:11px}.appointment-grid-cell{padding:3px 4px}.appointment-grid-head{font-size:11px;padding-right:10px}.appointment-card{min-height:32px;padding:2px 3px;font-size:9px;border-left-width:2px}.appointment-title,.appointment-sub{line-height:1.15}.schedule-editor-memo-grid{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:0;max-height:none}.schedule-editor-action-box{grid-column:span 2}.payment-modal{width:min(96vw,1450px);height:min(86vh,980px);max-height:min(86vh,980px);min-height:min(86vh,980px)}.permission-depth-layout{grid-template-columns:1fr 1fr}.rbac-add-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rbac-add-row button{grid-column:1 / -1}}@media (max-width: 600px){.app-shell{grid-template-columns:88px 1fr}.sidebar{padding:8px 5px;grid-template-rows:auto 1fr;gap:5px;overflow-x:hidden;overflow-y:auto;align-content:start;align-items:stretch}.sidebar h2{margin:0 0 4px;font-size:12px;letter-spacing:0;text-align:center}.sidebar-top{display:grid;gap:5px}.sidebar-menu,.sidebar-menu-group{display:grid;gap:4px}.sidebar-submenu{display:grid;gap:4px;padding-left:4px}.sidebar-info-card,.sidebar-bottom{display:none}.sidebar-toggle-btn{width:100%;min-height:26px;padding:2px;justify-self:stretch}.nav-btn{width:100%;min-height:30px;padding:6px 7px;font-size:10px;white-space:nowrap}.nav-btn-content{gap:4px;min-width:0}.nav-btn-group-arrow{display:none}.nav-btn-sub{padding-left:8px}.nav-btn-icon{width:14px;flex:0 0 14px}.content{padding:6px;min-width:0}.top-strip{flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.top-search-group{flex:1 1 100%;width:100%;align-items:center;gap:6px;flex-wrap:wrap}.page-header{width:auto}.page-header h1{width:auto;min-height:28px;padding:0 8px;font-size:12px}.top-patient-search{flex:1 1 220px;min-width:0;max-width:none;margin:0}.top-patient-search-group input,.top-patient-search-group button{height:30px}.top-patient-search-group button{min-width:58px}.top-front-controls{width:100%;justify-content:space-between;flex-wrap:wrap;gap:6px}.top-actions{width:auto;justify-content:flex-end;flex-wrap:wrap}.top-action-icon-btn{width:30px;height:30px;border-radius:7px}.patient-layout{grid-template-columns:1fr}.patient-summary-grid{grid-template-columns:1fr 1fr}.consult-meta-grid,.schedule-editor-row-grid,.schedule-editor-row-grid-top{grid-template-columns:92px 1fr}.schedule-editor-inline-row,.schedule-editor-inline-item,.schedule-editor-inline-item-name,.schedule-editor-inline-item-time{display:grid;grid-template-columns:1fr}.schedule-editor-memo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-modal{grid-template-columns:1fr}.front-kpi-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.front-queue-grid{grid-template-columns:minmax(0,1fr)}.permission-depth-layout,.rbac-add-row{grid-template-columns:1fr}.rbac-add-row button{grid-column:auto}.penchart-admin-toolbar{padding:8px}.penchart-filter-field,.penchart-filter-field.is-search{flex:1 1 100%;min-width:0}.penchart-gallery-five{grid-template-columns:repeat(2,minmax(0,1fr))}.penchart-admin-layout .catalog-detail-actions{justify-content:stretch}.penchart-primary-action,.penchart-neutral-action,.penchart-secondary-action,.penchart-danger-action{flex:1 1 calc(50% - 4px);min-width:0}.penchart-admin-layout .catalog-detail-grid{grid-template-columns:1fr}.penchart-admin-layout .catalog-detail-grid label{min-height:auto}.penchart-admin-layout .catalog-detail-grid.penchart-detail-grid,.penchart-detail-split-row,.penchart-detail-inline-field{grid-template-columns:1fr}}@media (min-width: 601px) and (max-width: 900px){.app-shell{grid-template-columns:136px 1fr}.sidebar{padding:10px 8px;gap:6px;overflow-x:hidden}.sidebar h2{margin:0 0 6px;font-size:17px;letter-spacing:0;text-align:center}.sidebar-info-card{display:grid;padding:8px 6px;font-size:10px}.sidebar-stats-value{flex-direction:column;align-items:flex-end;gap:1px}.sidebar-bottom{justify-content:flex-end}.sidebar-bottom-user{display:block;font-size:10px}.sidebar-menu{gap:4px}.sidebar-submenu,.sidebar-submenu.sidebar-submenu-collapsible.is-open{padding-left:4px;gap:4px}.nav-btn{min-height:32px;padding:7px;font-size:11px;border-radius:7px}.nav-btn-content{gap:5px}.nav-btn-sub{padding-left:8px}.nav-btn-group-arrow{flex:0 0 14px}.content{padding:8px}.top-strip{gap:8px}.top-search-group{flex-wrap:wrap}.top-patient-search{max-width:320px}.penchart-admin-layout{grid-template-columns:1fr}.penchart-gallery-five{grid-template-columns:repeat(4,minmax(0,1fr))}.penchart-admin-toolbar{gap:8px}.penchart-filter-field{flex:1 1 calc(50% - 4px);min-width:0}.penchart-filter-field.is-search{flex-basis:100%}}@media (max-width: 900px){.penchart-editor-modal{width:min(100vw - 12px,1000px);max-height:92vh}.penchart-editor-modal .payment-modal-head,.penchart-editor-modal .appointment-modal-top .row{flex-wrap:wrap}.penchart-stage-wrap{padding:6px}}.purchase-tab{display:flex;flex-direction:column;gap:8px;padding:8px 0;overflow-y:auto;max-height:100%}.purchase-tab-empty{color:var(--theme-text-soft);font-size:13px;text-align:center;padding:24px 0}.purchase-card{border:1px solid var(--theme-border);border-radius:8px;background:#fff;overflow:hidden}.purchase-card.is-inactive{opacity:.6}.purchase-card-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--theme-surface-soft);gap:8px}.purchase-card-head:hover{background:var(--theme-accent-soft)}.purchase-card-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.purchase-card-name{font-size:13px;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-card-count{display:flex;align-items:baseline;gap:2px;flex-shrink:0}.purchase-remaining{font-size:18px;font-weight:700;color:var(--theme-accent)}.purchase-total{font-size:12px;color:var(--theme-text-soft)}.purchase-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.purchase-card-chevron{font-size:11px;color:var(--theme-text-soft);transition:transform .15s;display:inline-block}.purchase-card-chevron.open{transform:rotate(180deg)}.purchase-btn-sm{font-size:11px;padding:3px 8px;border-radius:4px;border:1px solid var(--theme-border);background:#fff;color:#374151;cursor:pointer;white-space:nowrap}.purchase-btn-sm:hover{background:var(--theme-accent-soft);border-color:var(--theme-accent);color:var(--theme-accent)}.purchase-btn-sm.secondary{color:var(--theme-text-soft)}.purchase-btn-sm.danger{color:#dc2626;border-color:#fca5a5}.purchase-btn-sm.danger:hover{background:#fef2f2}.purchase-edit-input{width:56px;font-size:12px;padding:3px 6px;border:1px solid var(--theme-accent);border-radius:4px;text-align:center}.purchase-card-body{padding:10px 12px;border-top:1px solid var(--theme-border);display:flex;flex-direction:column;gap:8px}.purchase-use-row{display:flex;gap:6px;align-items:center}.purchase-note-input{flex:1;font-size:12px;padding:5px 8px;border:1px solid var(--theme-border);border-radius:6px;background:#fff}.purchase-btn-use{font-size:12px;padding:5px 12px;border-radius:6px;border:none;background:var(--theme-accent);color:#fff;cursor:pointer;white-space:nowrap;font-weight:600}.purchase-btn-use:hover{opacity:.88}.purchase-usage-list{display:flex;flex-direction:column;gap:4px}.purchase-usage-head{font-size:12px;font-weight:600;color:var(--theme-text-soft)}.purchase-usage-empty{font-size:12px;color:#94a3b8;padding:4px 0}.purchase-inactive-section{border:1px solid var(--theme-border);border-radius:8px;padding:8px 12px}.purchase-inactive-section summary{font-size:12px;color:var(--theme-text-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.management-counsel-upload-row{margin-top:8px;display:flex;align-items:center;gap:8px}.management-counsel-upload-summary{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--theme-text-soft)}.management-counsel-upload-summary span{padding:4px 8px;border:1px solid var(--theme-border);background:#fff;border-radius:6px}.management-counsel-unmapped-box{margin-top:8px;padding:8px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;display:grid;gap:6px}.management-counsel-unmapped-box strong{font-size:12px}.management-counsel-unmapped-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.management-counsel-unmapped-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border:1px solid var(--theme-border);border-radius:6px;background:#fffdfb;font-size:12px}.management-counsel-unmapped-item em{font-style:normal;color:var(--theme-text-soft)}.management-counsel-stats-row{margin-top:8px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.management-counsel-stats-row span{border:1px solid var(--theme-border);border-radius:6px;background:#fff;padding:6px 8px;font-size:12px;text-align:center}@media (max-width: 1280px){.management-counsel-unmapped-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-counsel-stats-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.management-counsel-upload-row{flex-direction:column;align-items:stretch}.management-counsel-unmapped-grid,.management-counsel-stats-row{grid-template-columns:1fr}}.staff-filter-select{position:relative;width:100%}.staff-filter-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:32px;padding:0 10px;border:1px solid var(--theme-border);border-radius:6px;background:#fff;font-size:13px;color:var(--theme-text);cursor:pointer;gap:6px}.staff-filter-select-trigger:hover{border-color:var(--theme-accent)}.staff-filter-placeholder{color:var(--theme-text-soft)}.staff-filter-arrow{font-size:10px;color:var(--theme-text-soft);flex-shrink:0}.staff-filter-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:#fff;border:1px solid var(--theme-border);border-radius:8px;box-shadow:var(--ui-shadow-1);min-width:160px}.staff-filter-search{display:block;width:100%;padding:7px 10px;border:0;border-bottom:1px solid var(--theme-border);border-radius:8px 8px 0 0;font-size:13px;outline:none;background:#fafafa}.staff-filter-options{max-height:200px;overflow-y:auto}.staff-filter-option{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #f1e8e3;background:#fff;padding:8px 12px;font-size:13px;color:var(--theme-text);cursor:pointer}.staff-filter-option:last-child{border-bottom:0}.staff-filter-option:hover{background:#fff4ef}.staff-filter-option.is-selected{background:#ffedd5;font-weight:600}.staff-filter-empty{padding:10px 12px;font-size:12px;color:var(--theme-text-soft)}.before-after-panel{display:flex;flex-direction:column}.before-after-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--theme-accent-border);border-radius:6px 6px 0 0;background:var(--theme-accent-soft)}.before-after-head strong{font-size:12px;font-weight:600;color:var(--theme-accent)}.before-after-head>button{padding:4px 16px;font-size:12px}.before-after-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.before-after-upload-col{display:flex;flex-direction:column;gap:8px}.before-after-upload-label{font-size:12px;font-weight:700;color:var(--theme-text)}.before-after-image-box{position:relative;width:100%;aspect-ratio:1 / 1;border:1px dashed var(--theme-border);border-radius:8px;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden}.before-after-image-box img{width:100%;height:100%;object-fit:contain}.before-after-upload-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;font-size:13px;border:1px solid var(--theme-accent-border);background:var(--theme-accent-soft);color:var(--theme-text);border-radius:6px;cursor:pointer}.before-after-upload-btn:hover{background:var(--theme-accent);color:var(--theme-on-accent, #fff)}.before-after-upload-btn input[type=file]{display:none}.before-after-image-tools{position:absolute;top:6px;right:6px;display:flex;gap:4px}.before-after-image-remove{padding:2px 8px;font-size:12px;color:#dc2626;border:1px solid var(--theme-border);background:#ffffffe6;border-radius:4px;cursor:pointer}.before-after-image-change{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;color:var(--theme-text);border:1px solid var(--theme-border);background:#ffffffe6;border-radius:4px;cursor:pointer}.before-after-image-change input[type=file]{display:none}.before-after-name-input{width:100%}.before-after-image-box--lg{aspect-ratio:auto;min-height:300px;max-height:52vh}.before-after-modal--lg{width:min(820px,94vw)}.before-after-card--clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.before-after-card--clickable:hover{box-shadow:0 4px 14px #0000001f;transform:translateY(-2px)}.before-after-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.before-after-modal{width:min(560px,92vw);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;padding:18px;box-shadow:0 12px 40px #00000040}.before-after-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.before-after-modal-head strong{font-size:15px}.before-after-modal-close{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--theme-text-soft)}.before-after-modal-close:hover{color:var(--theme-text)}.before-after-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.before-after-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:12px;border:1px solid var(--theme-border);border-top:none;border-radius:0 0 6px 6px;background:var(--theme-surface)}.before-after-card{border:1px solid var(--theme-border);border-radius:10px;background:#fff;overflow:hidden}.before-after-card-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--theme-accent-border);background:var(--theme-accent-soft)}.before-after-card-date{font-size:12px;font-weight:600;color:var(--theme-accent)}.before-after-card-actions{display:flex;align-items:center;gap:4px}.before-after-card-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--theme-border);color:var(--theme-text);background:#fff;border-radius:4px;cursor:pointer}.before-after-card-icon-btn:hover{background:var(--theme-accent-soft);color:var(--theme-accent)}.before-after-card-delete{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;font-size:14px;line-height:1;border:1px solid var(--theme-border);color:#dc2626;background:#fff;border-radius:4px;cursor:pointer}.before-after-card-delete:hover{background:#ffe9e3;border-color:#f5b8a8}.before-after-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;display:flex;align-items:center;justify-content:center;z-index:1100;padding:32px}.before-after-viewer-close{position:absolute;top:18px;right:24px;width:40px;height:40px;font-size:28px;line-height:1;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer}.before-after-viewer-close:hover{background:#ffffff40}.before-after-viewer-download{position:absolute;top:18px;right:76px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer}.before-after-viewer-download:hover{background:#ffffff40}.before-after-viewer{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%;max-width:1400px;max-height:90vh}.before-after-viewer-figure{margin:0;display:flex;flex-direction:column;align-items:center;min-height:0}.before-after-viewer-figure img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:6px;background:#000}.before-after-viewer-figure figcaption{margin-top:12px;color:#fff;font-size:15px;font-weight:600;text-align:center}.before-after-viewer-empty{width:100%;min-height:50vh;display:flex;align-items:center;justify-content:center;color:#ffffffb3;border:1px dashed rgba(255,255,255,.3);border-radius:6px}@media (max-width: 768px){.before-after-viewer{grid-template-columns:1fr;overflow-y:auto}.before-after-viewer-figure img{max-height:60vh}}.before-after-card-images{display:grid;grid-template-columns:1fr 1fr}.before-after-card-images figure{margin:0;display:flex;flex-direction:column}.before-after-card-images figure:first-child{border-right:1px solid var(--theme-border)}.before-after-card-images img{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:#f4f4f4}.before-after-card-empty{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--theme-text-soft);background:#f4f4f4}.before-after-card-images figcaption{padding:6px 8px;font-size:12px;text-align:center;border-top:1px solid var(--theme-border)}.before-after-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--theme-text-soft);font-size:13px}.cti-call-toast{position:fixed;top:16px;right:16px;z-index:9999;width:320px;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);box-shadow:var(--ui-shadow-2);padding:14px 16px;display:flex;flex-direction:column;gap:8px;animation:cti-toast-slide-in .3s ease-out}.cti-call-toast.is-ringing{border-color:var(--theme-accent);box-shadow:0 0 0 3px #e862402e,var(--ui-shadow-2);animation:cti-toast-slide-in .3s ease-out,cti-toast-pulse 2s ease-in-out infinite}@keyframes cti-toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes cti-toast-pulse{0%,to{box-shadow:0 0 0 3px #e862402e,var(--ui-shadow-2)}50%{box-shadow:0 0 0 6px #e862401a,var(--ui-shadow-2)}}.cti-call-toast__header{display:flex;align-items:center;gap:8px}.cti-call-toast__status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cti-call-toast__status-dot.is-ringing{background:var(--theme-accent);animation:cti-dot-blink 1s infinite}.cti-call-toast__status-dot.is-answered{background:var(--status-success-text)}.cti-call-toast__status-dot.is-missed{background:var(--status-danger-text)}.cti-call-toast__status-dot.is-ended{background:var(--theme-text-soft)}@keyframes cti-dot-blink{0%,to{opacity:1}50%{opacity:.3}}.cti-call-toast__title{font-size:13px;font-weight:600;flex:1}.cti-call-toast__close{background:none;border:none;cursor:pointer;font-size:14px;color:var(--theme-text-soft);padding:0 2px;line-height:1}.cti-call-toast__close:hover{color:var(--theme-text)}.cti-call-toast__meta{display:flex;gap:10px;font-size:12px;color:var(--theme-text-soft)}.cti-call-toast__phone{font-weight:500;color:var(--theme-text)}.cti-call-toast__patient{font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px}.cti-call-toast__cno{font-size:11px;color:var(--theme-text-soft)}.cti-call-toast__no-match{font-size:12px;color:var(--status-warning-text)}.cti-call-toast__actions{display:flex;gap:6px;padding-top:4px}.cti-call-toast__actions .btn{font-size:12px;padding:4px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-text)}.cti-call-toast__actions .btn-primary{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-on-accent)}.cti-call-toast__actions .btn-primary:hover{background:var(--theme-accent-strong)}.cti-call-toast__actions .btn-outline{border-color:var(--theme-accent-border);color:var(--theme-accent)}.cti-call-toast__actions .btn-ghost{border-color:transparent;color:var(--theme-text-soft)}.cti-call-panel{display:flex;flex-direction:column;gap:0;height:100%}.cti-call-panel__toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--theme-border)}.cti-call-panel__filters{display:flex;gap:4px}.cti-call-panel__filter-btn{font-size:12px;padding:4px 10px;border-radius:var(--ui-radius-pill);border:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-text-soft);cursor:pointer}.cti-call-panel__filter-btn.is-active{background:var(--theme-accent-soft);border-color:var(--theme-accent-border);color:var(--theme-accent);font-weight:600}.cti-call-panel__message{padding:28px;text-align:center;color:var(--theme-text-soft);font-size:13px}.cti-call-panel__error{padding:28px;text-align:center;color:var(--status-danger-text);font-size:13px}.cti-call-panel__empty{padding:28px;text-align:center;color:var(--theme-text-soft);font-size:13px}.cti-call-panel__list{flex:1;overflow-y:auto}.cti-call-panel__item{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--theme-border);gap:8px;min-height:40px}.cti-call-panel__item:hover{background:var(--theme-surface-soft)}.cti-call-panel__item.is-missed{background:#fef2f2}.cti-call-panel__item-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.cti-call-panel__item-right{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0}.cti-call-panel__status-badge{font-size:11px;padding:2px 8px;border-radius:var(--ui-radius-pill);font-weight:600}.cti-call-panel__status-badge.is-ringing{background:var(--theme-accent-soft);color:var(--theme-accent)}.cti-call-panel__status-badge.is-answered{background:var(--status-success-bg);color:var(--status-success-text)}.cti-call-panel__status-badge.is-missed{background:var(--status-danger-bg);color:var(--status-danger-text)}.cti-call-panel__status-badge.is-ended{background:#f1f5f9;color:#64748b}.cti-call-panel__phone{font-size:13px;font-weight:500}.cti-call-panel__time{font-size:11px;color:var(--theme-text-soft)}.cti-call-panel__patient-link{background:none;border:none;cursor:pointer;font-size:12px;color:var(--theme-accent);text-decoration:underline;padding:0}.cti-call-panel__patient-link:hover{color:var(--theme-accent-strong)}.cti-call-panel__match-tag,.cti-call-panel__ext{font-size:11px;color:var(--theme-text-soft)}.cti-call-panel__pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px;border-top:1px solid var(--theme-border);font-size:12px}.cti-call-panel__pagination button{font-size:12px;padding:4px 10px;border-radius:6px;border:1px solid var(--theme-border);background:var(--theme-surface);cursor:pointer}.cti-call-panel__pagination button:disabled{opacity:.4;cursor:default}.management-general-table td input[type=date],.management-general-table td select,.management-general-table td input[type=text],.management-general-table .management-memo-cell input{width:100%;min-width:90px;font-size:12px;padding:4px 6px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-surface);color:var(--theme-text)}.cti-settings-section{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);padding:0;overflow:hidden}.cti-settings-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--theme-surface-soft);border-bottom:1px solid var(--theme-border)}.cti-settings-head strong{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}.cti-settings-head strong:before{content:"";display:inline-block;width:4px;height:16px;background:var(--theme-accent);border-radius:2px}.cti-settings-section .hospital-settings-table{margin:0}.cti-settings-section .hospital-settings-table .col-label{width:180px;font-weight:600;font-size:13px;white-space:nowrap;padding:10px 20px}.cti-settings-section .hospital-settings-table .col-value{padding:10px 20px}.cti-settings-select{width:100%;max-width:360px;padding:7px 12px;border:1px solid var(--theme-border);border-radius:8px;font-size:13px;background:var(--theme-surface);cursor:pointer}.cti-settings-input{width:100%;max-width:360px;padding:7px 12px;border:1px solid var(--theme-border);border-radius:8px;font-size:13px}.cti-settings-input:focus,.cti-settings-select:focus{outline:none;box-shadow:var(--ui-focus-ring);border-color:var(--theme-accent)}.cti-settings-toggle{display:inline-flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.cti-settings-toggle input[type=checkbox]{position:relative;width:36px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ccc;border-radius:20px;outline:none;cursor:pointer;transition:background .2s}.cti-settings-toggle input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.cti-settings-toggle input[type=checkbox]:checked{background:var(--theme-accent)}.cti-settings-toggle input[type=checkbox]:checked:after{transform:translate(16px)}.cti-settings-toggle-label{font-size:13px;font-weight:500}.cti-settings-toggle-label.is-on{color:var(--theme-accent)}.cti-settings-toggle-label.is-off{color:var(--theme-text-soft)}.cti-settings-loading{padding:24px;text-align:center;color:var(--theme-text-soft);font-size:13px}.cti-settings-help{margin:16px 20px 20px;padding:12px 16px;background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);border-radius:10px;font-size:12px;color:var(--theme-text-soft);line-height:1.7}.cti-settings-help p{margin:0}.hospital-settings-panel{width:min(980px,100%);max-width:none;gap:16px;padding:4px 0}.hospital-settings-tabs{gap:6px;padding:0 4px;overflow-x:auto}.hospital-settings-tab{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:10px 14px}.hospital-settings-card,.cti-settings-section{box-shadow:var(--ui-shadow-1)}.settings-config-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))}.settings-config-title{display:flex;align-items:center;gap:10px}.settings-config-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:10px;background:var(--theme-surface)}.settings-config-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.settings-config-title strong{display:block;color:var(--theme-text);font-size:16px}.settings-config-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.hospital-settings-save{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;white-space:nowrap;font-weight:700}.settings-config-body{padding:14px 20px 20px}.settings-config-notice{display:flex;align-items:center;gap:6px;margin-bottom:12px;padding:9px 11px;color:var(--theme-text-soft);border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface-soft);font-size:11px;line-height:1.5}.settings-config-notice>svg{flex:0 0 auto;color:var(--theme-accent)}.settings-config-notice.is-ready{color:var(--status-success-text);border-color:#a7dfc8;background:var(--status-success-bg)}.settings-config-notice.is-ready>svg{color:var(--status-success-text)}.settings-config-body .hospital-settings-table-wrap{border:1px solid var(--theme-border);border-radius:10px;overflow:hidden}.settings-config-body .hospital-settings-table{background:var(--theme-surface)}.settings-config-body .hospital-settings-table th{padding:10px 14px;background:var(--theme-surface-soft)}.settings-config-body .hospital-settings-table td{padding:10px 14px}.settings-config-body .hospital-settings-table .col-label{background:var(--theme-surface-soft)}.settings-config-body .hospital-settings-table .col-value input,.settings-config-body .cti-settings-input,.settings-config-body .cti-settings-select{max-width:420px;min-height:35px}.cti-settings-section .settings-config-body>.hospital-settings-table{border:1px solid var(--theme-border);border-radius:10px;overflow:hidden}.cti-settings-section .settings-config-body>.hospital-settings-table .col-label{background:var(--theme-surface-soft)}.cti-settings-section .cti-settings-help{margin:13px 0 0}@media (max-width: 560px){.settings-config-head{align-items:flex-start;flex-direction:column;padding:14px}.settings-config-body{padding:12px}.settings-config-title>div>span{line-height:1.45}}.system-page,.system-page-content{display:grid;gap:14px}.system-menu-panel{overflow:hidden;border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.system-menu-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 64%)}.system-menu-title{display:flex;align-items:center;gap:11px}.system-menu-title-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.system-menu-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.04em}.system-menu-title h2{margin:0;color:var(--theme-text);font-size:18px;line-height:1.25}.system-menu-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.system-menu-status{flex:0 0 auto;padding:5px 9px;color:var(--status-success-text);border-radius:var(--ui-radius-pill);background:var(--status-success-bg);font-size:11px;font-weight:800}.system-menu-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 20px}.system-menu-tab{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;color:var(--theme-text-soft);border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.system-menu-tab:hover{border-color:var(--theme-accent-border);background:var(--theme-surface-soft)}.system-menu-tab.is-active{color:var(--theme-text);border-color:var(--theme-accent);background:var(--theme-accent-soft);box-shadow:inset 0 0 0 1px var(--theme-accent)}.system-menu-tab-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;color:var(--theme-accent);border-radius:8px;background:var(--theme-accent-soft)}.system-menu-tab.is-active .system-menu-tab-icon{color:var(--theme-on-accent);background:var(--theme-accent)}.system-menu-tab>span:last-child{display:grid;min-width:0;gap:2px}.system-menu-tab strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.system-menu-tab small{overflow:hidden;color:var(--theme-text-soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.system-menu-footer{padding:8px 20px;color:var(--theme-text-soft);border-top:1px solid var(--theme-border);background:var(--theme-surface-soft);font-size:11px}.system-page .card{margin:0;border-radius:var(--ui-card-radius);background:var(--theme-surface)}.system-page .card>h2{display:flex;align-items:center;min-height:34px;margin:0 0 14px;padding:0 0 0 11px;color:var(--theme-text);border-left:4px solid var(--theme-accent);font-size:16px}.system-page .rbac-layout{gap:14px}.system-page .rbac-role-panel{display:grid;align-content:start;gap:12px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface-soft);padding:14px}.system-page .rbac-permission-panel{overflow:hidden;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface);padding:0}.rbac-panel-heading,.rbac-permission-title{display:flex;align-items:center;gap:9px}.rbac-panel-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;color:var(--theme-accent);border-radius:8px;background:var(--theme-accent-soft)}.rbac-panel-heading h3,.rbac-permission-title h3{margin:0;color:var(--theme-text);font-size:14px}.rbac-panel-heading p,.rbac-permission-title p{margin:2px 0 0;color:var(--theme-text-soft);font-size:11px}.rbac-add-card{display:grid;gap:8px;padding:10px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface)}.rbac-add-card>strong{color:var(--theme-text-soft);font-size:11px}.system-page .rbac-add-row{grid-template-columns:1fr 1fr;gap:6px;margin:0}.system-page .rbac-add-row input{min-width:0;padding:7px 9px;font-size:12px}.system-page .rbac-add-button{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-accent-soft);font-size:12px;font-weight:700}.system-page .rbac-add-button:hover:not(:disabled){color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent)}.system-page .rbac-role-list{gap:7px;max-height:52vh}.system-page .rbac-role-item,.system-page .permission-depth-item,.system-page .rbac-user-item,.system-page .session-item{border-color:var(--theme-border);background:var(--theme-surface);color:var(--theme-text)}.system-page .rbac-role-item{min-height:43px;border-radius:8px}.rbac-role-item-name{display:flex;align-items:center;gap:6px;min-width:0;padding:0;color:var(--theme-text)!important;background:transparent!important}.rbac-role-item-name small{color:var(--theme-accent);font-size:10px;font-weight:700}.system-page .rbac-role-item:hover,.system-page .permission-depth-item:hover{border-color:var(--theme-accent-border);background:var(--theme-surface-soft)}.system-page .rbac-role-item span{color:var(--theme-accent);background:var(--theme-accent-soft)}.system-page .rbac-role-item.active{border-color:var(--theme-accent);background:var(--theme-accent-soft)}.rbac-permission-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-bottom:1px solid var(--theme-border);background:var(--theme-surface-soft)}.system-page .rbac-head-actions{flex-wrap:wrap;justify-content:flex-end}.system-page .rbac-head-actions input{min-width:160px;padding:7px 10px}.rbac-save-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent);font-weight:700}.rbac-role-summary{display:grid;grid-template-columns:1.4fr repeat(2,minmax(130px,.8fr));gap:8px;padding:12px 14px;border-bottom:1px solid var(--theme-border)}.rbac-role-summary>div{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface)}.rbac-role-summary-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;color:var(--theme-accent);border-radius:7px;background:var(--theme-accent-soft)}.rbac-role-summary>div>span:nth-child(2){display:grid;min-width:0;gap:1px}.rbac-role-summary small{color:var(--theme-text-soft);font-size:10px}.rbac-role-summary strong{overflow:hidden;color:var(--theme-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rbac-role-summary em{margin-left:auto;padding:2px 6px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);font-size:10px;font-style:normal;font-weight:700}.system-page .permission-depth-layout{grid-template-columns:minmax(390px,1.15fr) minmax(260px,.85fr);gap:12px;margin:0;padding:14px;background:var(--theme-surface)}.system-page .permission-depth-panel{border-color:var(--theme-border);background:var(--theme-surface)}.system-page .permission-depth-head{display:flex;align-items:center;gap:5px;color:var(--theme-text);border-color:var(--theme-border);background:var(--theme-surface-soft)}.system-page .permission-depth-head span{margin-left:auto;color:var(--theme-text-soft);font-size:10px;font-weight:600}.system-page .permission-depth-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px}.system-page .permission-depth-item{min-height:46px;padding:8px 10px}.system-page .permission-depth-checklist{padding:12px}.rbac-staff-empty{display:grid;place-items:center;align-content:center;min-height:200px;padding:24px;color:var(--theme-text-soft);text-align:center}.rbac-staff-empty>span{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:9px;color:var(--theme-accent);border-radius:50%;background:var(--theme-accent-soft)}.rbac-staff-empty strong{color:var(--theme-text);font-size:13px}.rbac-staff-empty p{max-width:210px;margin:5px 0 0;font-size:11px;line-height:1.55}.system-page .session-item{border-radius:10px}.system-page .empty-note{color:var(--theme-text-soft)}.system-security-layout{display:grid;gap:14px}.system-page .security-section{overflow:hidden;padding:0}.system-page .security-section>h2{display:none}.security-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))}.security-section-title{display:flex;align-items:center;gap:10px}.security-section-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:10px;background:var(--theme-surface)}.security-section-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.security-section-title h2{margin:0;color:var(--theme-text);font-size:16px}.security-section-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.security-state-badge,.security-otp-badge{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 9px;border-radius:var(--ui-radius-pill);font-size:11px;font-weight:800}.security-state-badge,.security-otp-badge.is-enabled{color:var(--status-success-text);background:var(--status-success-bg)}.security-otp-badge.is-disabled{color:var(--status-warning-text);background:var(--status-warning-bg)}.security-section-body{padding:14px 18px 18px}.security-action-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.security-action-row button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;font-size:12px;font-weight:700}.security-action-primary{color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent)}.security-action-primary:hover:not(:disabled){border-color:var(--theme-accent-strong);background:var(--theme-accent-strong)}.security-action-secondary{color:var(--theme-text);background:var(--theme-surface)}.security-action-secondary:hover:not(:disabled){color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-accent-soft)}.security-action-danger,.security-session-revoke{color:var(--status-danger-text);border-color:#f1c6c6;background:var(--status-danger-bg)}.security-action-danger:hover:not(:disabled),.security-session-revoke:hover:not(:disabled){color:var(--theme-on-accent);border-color:var(--status-danger-text);background:var(--status-danger-text)}.security-action-row button:disabled,.security-session-revoke:disabled{cursor:not-allowed;opacity:.48}.security-session-info{display:flex;align-items:baseline;gap:6px;margin:15px 0 8px}.security-session-info strong{color:var(--theme-accent);font-size:15px}.security-session-info span{color:var(--theme-text-soft);font-size:11px}.system-page .session-list{display:grid;gap:8px;margin:0}.system-page .session-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:12px;border-radius:10px}.session-device{display:flex;align-items:center;gap:9px;min-width:0}.session-device-icon,.security-status-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--theme-accent);border-radius:8px;background:var(--theme-accent-soft)}.session-device-icon{width:34px;height:34px}.session-device>div{display:grid;min-width:0;gap:3px}.session-device-title{display:flex;align-items:center;gap:6px}.session-device-title strong{overflow:hidden;color:var(--theme-text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.session-device-title span{padding:2px 6px;border-radius:var(--ui-radius-pill);font-size:10px;font-weight:700}.session-device-title .is-active{color:var(--status-success-text);background:var(--status-success-bg)}.session-device-title .is-inactive{color:var(--theme-text-soft);background:var(--theme-surface-soft)}.session-device>div>span{overflow:hidden;color:var(--theme-text-soft);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.session-meta{grid-column:1 / 2;color:var(--theme-text-soft);font-size:11px}.security-session-revoke{grid-column:2;grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;gap:5px;align-self:center;min-height:31px;font-size:11px;font-weight:700}.security-otp-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.security-otp-status-grid>div{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.security-status-icon{width:32px;height:32px}.security-otp-status-grid>div>span:last-child{display:grid;min-width:0;gap:2px}.security-otp-status-grid small{color:var(--theme-text-soft);font-size:10px}.security-otp-status-grid strong{color:var(--theme-text);font-size:12px}.security-otp-actions{margin-top:13px}.security-otp-code-field{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 8px;color:var(--theme-text-soft);border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface);font-size:11px;font-weight:700}.security-otp-code-field input{width:88px;min-height:28px;padding:4px 2px;border:0;border-radius:0;background:transparent;font-size:12px;letter-spacing:.08em}.security-otp-code-field input:focus{outline:none}.security-otp-setup{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:13px;padding:14px;border:1px solid var(--theme-accent-border);border-radius:12px;background:var(--theme-accent-soft)}.security-otp-setup-copy{display:grid;min-width:0;gap:6px}.security-otp-setup-copy strong{color:var(--theme-text);font-size:13px}.security-otp-setup-copy p{margin:0;color:var(--theme-text-soft);font-size:11px;line-height:1.55}.security-otp-setup-copy code{display:block;max-width:720px;overflow:auto;padding:6px 8px;color:var(--theme-text-soft);border:1px solid var(--theme-accent-border);border-radius:6px;background:var(--theme-surface);font:10px/1.45 Consolas,Courier New,monospace;white-space:pre-wrap;word-break:break-all}.security-otp-setup img{flex:0 0 auto;padding:7px;border:1px solid var(--theme-accent-border);border-radius:10px;background:var(--theme-surface)}.security-empty-state{display:grid;place-items:center;align-content:center;min-height:132px;margin-top:8px;padding:22px;color:var(--theme-text-soft);border:1px dashed var(--theme-border);border-radius:10px;background:var(--theme-surface-soft);text-align:center}.security-empty-state>span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:7px;color:var(--theme-accent);border-radius:50%;background:var(--theme-accent-soft)}.security-empty-state strong{color:var(--theme-text);font-size:12px}.security-empty-state p{margin:4px 0 0;font-size:11px}.security-empty-state.is-compact{min-height:110px;margin-top:13px}.system-audit-layout{display:grid;gap:14px}.system-page .audit-filter-section,.system-page .audit-result-section{overflow:hidden;padding:0}.system-page .audit-filter-section>h2,.system-page .audit-result-section>h2{display:none}.audit-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))}.audit-section-title{display:flex;align-items:center;gap:10px}.audit-section-icon,.audit-result-title-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--theme-accent);border-radius:10px;background:var(--theme-accent-soft)}.audit-section-icon{width:38px;height:38px;border:1px solid var(--theme-accent-border);background:var(--theme-surface)}.audit-section-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.audit-section-title h2{margin:0;color:var(--theme-text);font-size:16px}.audit-section-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.audit-head-count{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 9px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);font-size:11px;font-weight:800}.audit-filter-body{padding:15px 18px 18px}.audit-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.audit-filter-grid label{display:grid;gap:5px;min-width:0}.audit-filter-grid label>span{color:var(--theme-text-soft);font-size:11px;font-weight:700}.audit-filter-grid input{min-width:0;min-height:34px;padding:7px 9px;font-size:12px}.audit-limit-field{max-width:120px}.audit-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.audit-period-actions{display:inline-flex;align-items:center;gap:5px;color:var(--theme-text-soft)}.audit-period-actions button{min-height:30px;padding:4px 10px;color:var(--theme-text-soft);border-color:var(--theme-border);background:var(--theme-surface-soft);font-size:11px;font-weight:700}.audit-period-actions button:hover:not(:disabled){color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-accent-soft)}.audit-search-button,.audit-export-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;font-size:12px;font-weight:700}.audit-search-button{color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent)}.audit-search-button:hover:not(:disabled){border-color:var(--theme-accent-strong);background:var(--theme-accent-strong)}.audit-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--theme-border);background:var(--theme-surface-soft)}.audit-result-head>div{display:flex;align-items:center;gap:8px}.audit-result-title-icon{width:32px;height:32px}.audit-result-head strong{display:block;color:var(--theme-text);font-size:13px}.audit-result-head strong+span{display:block;margin-top:2px;color:var(--theme-text-soft);font-size:10px}.audit-export-button{color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-surface)}.audit-export-button:hover:not(:disabled){background:var(--theme-accent-soft)}.audit-export-button:disabled,.audit-search-button:disabled,.audit-period-actions button:disabled{cursor:not-allowed;opacity:.48}.audit-log-list{display:grid;gap:8px;padding:14px 18px 18px}.audit-log-item{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(260px,1.15fr);gap:8px 16px;padding:12px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface)}.audit-log-primary{display:flex;align-items:center;gap:9px;min-width:0}.audit-log-action{flex:0 0 auto;padding:4px 7px;color:var(--theme-accent);border-radius:6px;background:var(--theme-accent-soft);font-size:10px;font-weight:800}.audit-log-primary>div{display:grid;min-width:0;gap:3px}.audit-log-primary strong{overflow:hidden;color:var(--theme-text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.audit-log-primary strong+span{overflow:hidden;color:var(--theme-text-soft);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.audit-log-meta{display:flex;align-items:center;justify-content:flex-end;gap:9px 13px;flex-wrap:wrap;color:var(--theme-text-soft);font-size:11px}.audit-log-meta span{display:inline-flex;align-items:center;gap:4px}.audit-log-reason{grid-column:1 / -1;margin:0;padding-top:8px;color:var(--theme-text-soft);border-top:1px solid var(--theme-border);font-size:11px}.audit-log-detail{grid-column:1 / -1}.audit-log-detail summary{color:var(--theme-text-soft);font-size:11px;cursor:pointer}.audit-log-detail pre{max-height:180px;margin:7px 0 0;overflow:auto;padding:9px;color:var(--theme-text-soft);border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface-soft);font:10px/1.5 Consolas,Courier New,monospace;white-space:pre-wrap;word-break:break-word}.audit-empty-state{display:grid;place-items:center;align-content:center;min-height:220px;padding:28px;color:var(--theme-text-soft);background:var(--theme-surface);text-align:center}.audit-empty-state>span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:9px;color:var(--theme-accent);border-radius:50%;background:var(--theme-accent-soft)}.audit-empty-state strong{color:var(--theme-text);font-size:13px}.audit-empty-state p{margin:5px 0 0;font-size:11px}.system-ops-layout{display:grid;gap:14px}.system-page .ops-gate-section,.system-page .ops-cleanup-section{overflow:hidden;padding:0}.system-page .ops-gate-section>h2,.system-page .ops-cleanup-section>h2{display:none}.ops-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))}.ops-section-title{display:flex;align-items:center;gap:10px}.ops-section-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:10px;background:var(--theme-surface)}.ops-section-icon.is-warning{color:var(--status-warning-text);border-color:#f0c68c;background:var(--status-warning-bg)}.ops-section-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.ops-section-title h2{margin:0;color:var(--theme-text);font-size:16px}.ops-section-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.ops-required-badge,.ops-warning-badge{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 9px;border-radius:var(--ui-radius-pill);font-size:11px;font-weight:800}.ops-required-badge{color:var(--status-success-text);background:var(--status-success-bg)}.ops-warning-badge{color:var(--status-warning-text);background:var(--status-warning-bg)}.ops-gate-body,.ops-cleanup-body{padding:16px 18px 18px}.ops-policy-card{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;color:var(--theme-text-soft);border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.ops-policy-card>svg{flex:0 0 auto;margin-top:1px;color:var(--theme-accent)}.ops-policy-card strong{display:block;color:var(--theme-text);font-size:12px}.ops-policy-card p{margin:3px 0 0;font-size:11px;line-height:1.55}.ops-policy-card code{color:var(--theme-accent-strong);font:10px/1.4 Consolas,Courier New,monospace}.ops-gate-actions{display:flex;align-items:flex-end;gap:8px;margin-top:12px}.ops-otp-field{display:grid;gap:5px;width:min(260px,100%)}.ops-otp-field span,.ops-execute-card label>span{color:var(--theme-text-soft);font-size:11px;font-weight:700}.ops-otp-field input{min-height:35px;font-size:12px}.ops-run-button,.ops-preview-button,.ops-delete-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:35px;color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent);font-size:12px;font-weight:700}.ops-run-button:hover:not(:disabled),.ops-preview-button:hover:not(:disabled){border-color:var(--theme-accent-strong);background:var(--theme-accent-strong)}.ops-run-button:disabled,.ops-preview-button:disabled,.ops-delete-button:disabled{cursor:not-allowed;opacity:.48}.ops-result{margin-top:13px;padding:12px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.ops-result.is-success{border-color:#a7dfc8;background:var(--status-success-bg)}.ops-result.is-failure{border-color:#f0c6c6;background:var(--status-danger-bg)}.ops-result-summary{display:flex;align-items:center;gap:7px}.ops-result-summary strong{color:var(--theme-text);font-size:12px}.ops-result-summary span{margin-left:auto;color:var(--theme-text-soft);font-size:10px}.ops-result.is-success .ops-result-summary>svg{color:var(--status-success-text)}.ops-result.is-failure .ops-result-summary>svg{color:var(--status-danger-text)}.ops-result details{margin-top:8px}.ops-result summary{color:var(--theme-text-soft);font-size:11px;cursor:pointer}.ops-result pre{max-height:180px;margin:7px 0 0;overflow:auto;padding:9px;color:var(--theme-text-soft);border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface);font:10px/1.5 Consolas,Courier New,monospace;white-space:pre-wrap;word-break:break-word}.ops-cleanup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:0 0 14px;list-style:none}.ops-cleanup-steps li{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface-soft)}.ops-cleanup-steps li>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;color:var(--theme-on-accent);border-radius:50%;background:var(--theme-accent);font-size:11px;font-weight:800}.ops-cleanup-steps strong,.ops-cleanup-steps small{display:block}.ops-cleanup-steps strong{color:var(--theme-text);font-size:11px}.ops-cleanup-steps small{margin-top:2px;color:var(--theme-text-soft);font-size:10px}.ops-cleanup-form-card{display:grid;gap:11px;padding:13px;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-surface)}.system-page .ops-cleanup-grid{grid-template-columns:110px minmax(0,1fr);gap:8px 12px;margin:0}.system-page .ops-cleanup-grid label{display:inline-flex;align-items:center;gap:5px;color:var(--theme-text-soft);font-size:11px}.system-page .ops-cleanup-grid label svg{color:var(--theme-accent)}.ops-preview-button{justify-self:start}.system-page .ops-cleanup-preview{gap:10px;margin-top:13px;padding:13px;border-color:var(--theme-accent-border);background:var(--theme-accent-soft)}.system-page .ops-cleanup-summary{gap:8px}.system-page .ops-cleanup-summary strong{color:var(--theme-text);font-size:13px}.system-page .ops-cleanup-summary span{padding:3px 7px;color:var(--theme-text-soft);border:1px solid var(--theme-border);border-radius:var(--ui-radius-pill);background:var(--theme-surface);font-size:10px}.system-page .ops-cleanup-impact>div{display:grid;gap:2px;padding:8px;background:var(--theme-surface);text-align:center}.ops-cleanup-impact span{color:var(--theme-text-soft);font-size:10px}.ops-cleanup-impact strong{color:var(--theme-text);font-size:15px}.system-page .ops-cleanup-list{background:var(--theme-surface)}.system-page .ops-cleanup-list-row{grid-template-columns:minmax(110px,.7fr) minmax(0,1.5fr) auto;align-items:center;background:var(--theme-surface)}.ops-cleanup-list-row span:first-child{display:grid;gap:2px}.ops-cleanup-list-row strong{color:var(--theme-text)}.ops-cleanup-list-row small{color:var(--theme-text-soft)}.ops-cleanup-list-row .is-ready,.ops-cleanup-list-row .is-excluded{padding:3px 7px;border-radius:var(--ui-radius-pill);font-size:10px;font-weight:700}.ops-cleanup-list-row .is-ready{color:var(--status-success-text);background:var(--status-success-bg)}.ops-cleanup-list-row .is-excluded{color:var(--status-warning-text);background:var(--status-warning-bg)}.ops-execute-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:13px;padding:13px;border:1px solid #f0c6c6;border-radius:11px;background:var(--status-danger-bg)}.ops-execute-card label{display:grid;gap:5px;min-width:0}.ops-execute-card input{min-height:35px;font-size:12px}.ops-execute-card>div{display:flex;align-items:center;gap:10px}.ops-execute-card p{display:flex;align-items:flex-start;gap:4px;max-width:310px;margin:0;color:var(--status-danger-text);font-size:10px;line-height:1.45}.ops-delete-button{color:var(--theme-on-accent);border-color:var(--status-danger-text);background:var(--status-danger-text);white-space:nowrap}.ops-delete-button:hover:not(:disabled){filter:brightness(.92)}.ops-cleanup-message{margin:10px 0 0;color:var(--theme-text-soft);font-size:11px}@media (max-width: 900px){.ops-cleanup-steps,.ops-execute-card{grid-template-columns:1fr}.ops-execute-card>div{align-items:flex-start;flex-direction:column}}@media (max-width: 560px){.ops-section-head,.ops-gate-actions{align-items:flex-start;flex-direction:column}.ops-gate-body,.ops-cleanup-body{padding:12px}.system-page .ops-cleanup-grid{grid-template-columns:1fr}}@media (max-width: 1100px){.system-page .permission-depth-layout{grid-template-columns:1fr}.system-page .permission-depth-panel{min-height:260px}}@media (max-width: 900px){.system-menu-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.rbac-role-summary,.security-otp-status-grid{grid-template-columns:1fr}.security-otp-setup{align-items:flex-start;flex-direction:column}.audit-log-item{grid-template-columns:1fr}.audit-log-meta{justify-content:flex-start}}@media (max-width: 560px){.system-menu-head{align-items:flex-start;flex-direction:column}.system-menu-tabs{padding:12px}.system-menu-footer{padding-right:12px;padding-left:12px}.security-section-head{align-items:flex-start;flex-direction:column}.security-section-body{padding:12px}.system-page .session-item{grid-template-columns:1fr}.session-meta,.security-session-revoke{grid-column:auto;grid-row:auto}.security-session-revoke{justify-self:start}}.integration-test-panel{width:min(960px,100%);overflow:hidden;border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);background:var(--theme-surface);box-shadow:0 2px 8px #4b2e220a}.integration-test-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-surface-soft),var(--theme-surface))}.integration-test-title{display:flex;align-items:center;gap:10px}.integration-test-icon,.integration-test-card-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--theme-accent);background:var(--theme-accent-soft);border:1px solid var(--theme-accent-border);border-radius:10px}.integration-test-icon{width:38px;height:38px}.integration-test-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:700;letter-spacing:.03em}.integration-test-title h3{margin:0;color:var(--theme-text);font-size:18px;line-height:1.25}.integration-test-access{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 9px;border-radius:var(--ui-radius-pill);font-size:11px;font-weight:700}.integration-test-access.is-enabled{color:var(--status-success-text);background:var(--status-success-bg)}.integration-test-access.is-disabled{color:var(--status-warning-text);background:var(--status-warning-bg)}.integration-test-description{margin:0;padding:13px 20px;color:var(--theme-text-soft);border-bottom:1px solid var(--theme-border);background:var(--theme-surface-soft);font-size:12px;line-height:1.6}.integration-test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 20px}.integration-test-card{display:flex;flex-direction:column;min-width:0;min-height:226px;padding:14px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);transition:border-color .15s ease,box-shadow .15s ease}.integration-test-card:hover{border-color:var(--theme-accent-border);box-shadow:0 5px 14px #4b2e2212}.integration-test-card-head{display:flex;align-items:flex-start;gap:9px}.integration-test-card-icon{width:32px;height:32px;border-radius:8px}.integration-test-card h4{margin:0 0 3px;color:var(--theme-text);font-size:14px}.integration-test-card p{margin:0;color:var(--theme-text-soft);font-size:11px;line-height:1.45}.integration-result{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;min-height:68px;margin:14px 0;padding:10px;border:1px dashed var(--theme-border);border-radius:8px;background:var(--theme-surface-soft);color:var(--theme-text-soft);font-size:12px}.integration-result.is-empty{align-items:center;text-align:center}.integration-result-status{display:inline-flex;margin-bottom:3px;padding:2px 7px;border-radius:var(--ui-radius-pill);color:var(--theme-text-soft);background:var(--theme-surface);font-size:10px;font-weight:700}.integration-result.is-loading{flex-direction:row;align-items:center;justify-content:center;gap:7px;color:var(--theme-accent);border-color:var(--theme-accent-border)}.integration-result.is-ok{justify-content:flex-start;color:var(--status-success-text);border-style:solid;border-color:var(--status-success-text);background:var(--status-success-bg)}.integration-result.is-error{justify-content:flex-start;color:var(--status-danger-text);border-style:solid;border-color:var(--status-danger-text);background:var(--status-danger-bg)}.integration-result-head{display:flex;align-items:center;gap:5px;margin-bottom:6px;font-size:11px}.integration-result pre{max-height:92px;margin:0;overflow:auto;color:var(--theme-text-soft);font:10px/1.45 Consolas,Courier New,monospace;white-space:pre-wrap;word-break:break-word}.integration-test-run{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;border:1px solid var(--theme-accent);border-radius:8px;background:var(--theme-accent);color:var(--theme-on-accent);font-size:12px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease}.integration-test-run:hover:not(:disabled){border-color:var(--theme-accent-strong);background:var(--theme-accent-strong)}.integration-test-run:disabled{cursor:not-allowed;opacity:.52}.integration-test-run .is-spinning,.integration-result.is-loading svg{animation:integration-spin .8s linear infinite}.integration-test-note{display:flex;align-items:center;gap:6px;padding:11px 20px;border-top:1px solid var(--theme-border);color:var(--theme-text-soft);background:var(--theme-surface-soft);font-size:11px;line-height:1.5}@keyframes integration-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.integration-test-grid{grid-template-columns:1fr}.integration-test-card{min-height:0}}@media (max-width: 560px){.integration-test-head{align-items:flex-start;flex-direction:column}.integration-test-grid{padding:12px}.integration-test-description,.integration-test-note{padding-right:14px;padding-left:14px}}.sms-channel-check-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:4px 0}.sms-channel-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--theme-text);cursor:pointer}.sms-channel-check input{width:16px;height:16px}.sms-channel-hint{font-size:11px;color:#9a3412}.sms-channel-notice{padding:8px 10px;border:1px solid var(--theme-accent-border);border-radius:8px;background:var(--theme-accent-soft);font-size:12px;color:#9a3412;line-height:1.6}.sms-layout-review{grid-template-columns:420px minmax(0,1fr) 340px}@media (max-width: 1200px){.sms-layout-review{grid-template-columns:320px minmax(0,1fr)}.sms-layout-review .sms-preview-panel{grid-column:1 / -1}}@media (max-width: 900px){.sms-layout-review{grid-template-columns:1fr}}.sms-list-hint{font-size:11px;color:var(--theme-text-soft);margin-bottom:8px}.sms-list-item-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.sms-list-item-title strong{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-review-badge{flex:none;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700}.sms-review-badge-pending{background:#fef3c7;color:#92400e}.sms-review-badge-rejected{background:#fee2e2;color:#b91c1c}.sms-review-badge-approved{background:#dcfce7;color:#166534}.sms-review-detail-head{grid-column:1 / -1;display:flex;align-items:center;gap:10px;margin-bottom:4px}.sms-review-detail-head strong{font-size:14px;color:var(--theme-text)}.sms-review-body{white-space:pre-wrap;padding:10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff;font-size:13px;line-height:1.6;color:var(--theme-text);max-height:32vh;overflow-y:auto}.sms-review-note{padding:8px 10px;border:1px solid var(--theme-border);border-radius:8px;background:#fff7f2;font-size:12px;color:#9a3412}.sms-channel-tag{padding:1px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:700}.product-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.product-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.product-workspace-title{display:flex;align-items:center;gap:10px;min-width:0}.product-workspace-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.product-workspace-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.product-workspace-title h2{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:18px;line-height:1.25}.product-workspace-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.product-workspace-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.product-workspace-summary span{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;border-radius:var(--ui-radius-pill);background:var(--theme-surface);color:var(--theme-text-soft);font-size:11px;font-weight:700}.product-workspace-summary strong{color:var(--theme-accent);font-size:12px}.product-workspace-body{padding:14px}.product-workspace .catalog-master-layout{grid-template-columns:minmax(230px,.72fr) minmax(360px,1.16fr) minmax(390px,1.04fr);gap:12px}.product-workspace .catalog-master-panel{min-height:520px;padding:13px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.product-workspace .catalog-master-panel .section-head{min-height:34px;margin:0 0 9px;padding:0 0 9px;border-bottom:1px solid var(--theme-border)}.product-workspace .catalog-master-panel .section-head h3{display:flex;align-items:center;min-height:26px;margin:0;padding:0 0 0 9px;color:var(--theme-text)!important;border:0;border-left:3px solid var(--theme-accent);border-radius:0;background:transparent;font-size:14px}.product-workspace .catalog-master-panel .section-head>button,.product-workspace .catalog-detail-actions>button{min-height:31px;padding:5px 10px;font-size:12px;font-weight:700}.product-workspace .catalog-category-create{padding:8px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface-soft)}.product-workspace .catalog-category-create input{min-width:0;border-color:var(--theme-border);font-size:12px}.product-workspace .catalog-category-create button{color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent);font-weight:700}.product-workspace .catalog-master-count{padding:3px 7px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);font-size:10px}.product-workspace .catalog-master-panel>input{min-height:35px;padding:7px 10px;border-color:var(--theme-border);font-size:12px}.product-workspace .catalog-master-list{gap:7px;padding-top:2px;max-height:calc(100vh - 300px)}.product-workspace .catalog-master-item{min-height:43px;padding:9px 10px;border-color:var(--theme-border);border-radius:9px;transition:border-color .15s ease,background .15s ease,transform .15s ease}.product-workspace .catalog-master-item:hover{border-color:var(--theme-accent-border);background:var(--theme-surface-soft);transform:translateY(-1px)}.product-workspace .catalog-master-item.active{border-color:var(--theme-accent);background:var(--theme-accent-soft);box-shadow:inset 3px 0 0 var(--theme-accent)}.product-workspace .catalog-master-item.is-product{min-height:65px;padding:10px 12px}.product-workspace .catalog-master-item-meta{padding-top:5px;border-top:1px solid var(--theme-border);font-size:10px}.product-workspace .catalog-detail-panel{background:linear-gradient(180deg,var(--theme-surface-soft),var(--theme-surface) 34%)}.product-workspace .catalog-detail-grid{gap:8px 9px;align-content:start}.product-workspace .catalog-detail-grid label{display:flex;align-items:center;min-height:34px;border-color:var(--theme-border);background:var(--theme-surface);color:var(--theme-text-soft);font-size:11px;font-weight:700}.product-workspace .catalog-detail-grid input,.product-workspace .catalog-detail-grid select,.product-workspace .catalog-detail-grid textarea{border-color:var(--theme-border)}.product-workspace .catalog-detail-note{margin:3px 0 0;padding:8px 10px;border:1px solid var(--theme-accent-border);border-radius:8px;background:var(--theme-accent-soft);color:var(--theme-text-soft);font-size:11px;line-height:1.5}@media (max-width: 1300px){.product-workspace .catalog-master-layout{grid-template-columns:minmax(220px,.7fr) minmax(320px,1fr)}.product-workspace .catalog-detail-panel{grid-column:1 / -1;min-height:0}}@media (max-width: 700px){.product-workspace-hero{align-items:flex-start;flex-direction:column;padding:14px}.product-workspace-body{padding:12px}.product-workspace .catalog-master-layout{grid-template-columns:1fr}.product-workspace .catalog-master-panel{min-height:0}.product-workspace .catalog-detail-panel{grid-column:auto}}.drug-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.drug-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.drug-workspace-title{display:flex;align-items:center;gap:10px;min-width:0}.drug-workspace-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.drug-workspace-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.drug-workspace-title h2{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:18px;line-height:1.25}.drug-workspace-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.drug-workspace-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drug-workspace-summary span{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;color:var(--theme-text-soft);border-radius:var(--ui-radius-pill);background:var(--theme-surface);font-size:11px;font-weight:700}.drug-workspace-summary span:first-child,.drug-workspace-summary strong{color:var(--theme-accent)}.drug-workspace-body{display:grid;gap:14px;padding:14px}.drug-workspace .catalog-tab-head{justify-self:start;gap:4px;margin:0;padding:4px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.drug-workspace .catalog-tab-btn{height:32px;margin:0;padding:0 13px;border:0;border-radius:7px;color:var(--theme-text-soft);font-size:12px;font-weight:700}.drug-workspace .catalog-tab-btn.is-active{color:var(--theme-accent);border:0;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.drug-workspace .catalog-master-layout{grid-template-columns:minmax(230px,.72fr) minmax(360px,1.16fr) minmax(390px,1.04fr);gap:12px}.drug-workspace .catalog-master-panel{min-height:500px;padding:13px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.drug-workspace .catalog-master-panel .section-head{min-height:34px;margin:0 0 9px;padding:0 0 9px;border-bottom:1px solid var(--theme-border)}.drug-workspace .catalog-master-panel .section-head h3{display:flex;align-items:center;min-height:26px;margin:0;padding:0 0 0 9px;color:var(--theme-text)!important;border:0;border-left:3px solid var(--theme-accent);border-radius:0;background:transparent;font-size:14px}.drug-workspace .catalog-detail-actions>button{min-height:31px;padding:5px 10px;font-size:12px;font-weight:700}.drug-workspace .catalog-category-create{padding:8px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface-soft)}.drug-workspace .catalog-category-create input{min-width:0;border-color:var(--theme-border);font-size:12px}.drug-workspace .catalog-category-create button{color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent);font-weight:700}.drug-workspace .catalog-master-count{padding:3px 7px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);font-size:10px}.drug-workspace .catalog-master-panel>input{min-height:35px;padding:7px 10px;border-color:var(--theme-border);font-size:12px}.drug-workspace .catalog-master-list{gap:7px;padding-top:2px;max-height:calc(100vh - 335px)}.drug-workspace .catalog-master-item{min-height:43px;padding:9px 10px;border-color:var(--theme-border);border-radius:9px;transition:border-color .15s ease,background .15s ease,transform .15s ease}.drug-workspace .catalog-master-item:hover{border-color:var(--theme-accent-border);background:var(--theme-surface-soft);transform:translateY(-1px)}.drug-workspace .catalog-master-item.active{border-color:var(--theme-accent);background:var(--theme-accent-soft);box-shadow:inset 3px 0 0 var(--theme-accent)}.drug-workspace .catalog-master-item.is-product{min-height:65px;padding:10px 12px}.drug-workspace .catalog-master-item-meta{padding-top:5px;border-top:1px solid var(--theme-border);font-size:10px}.drug-workspace .catalog-detail-panel{background:linear-gradient(180deg,var(--theme-surface-soft),var(--theme-surface) 34%)}.drug-workspace .catalog-detail-grid{gap:8px 9px;align-content:start}.drug-workspace .catalog-detail-grid label{display:flex;align-items:center;min-height:34px;border-color:var(--theme-border);background:var(--theme-surface);color:var(--theme-text-soft);font-size:11px;font-weight:700}.drug-workspace .catalog-detail-grid input,.drug-workspace .catalog-detail-grid select{border-color:var(--theme-border)}.drug-workspace .catalog-detail-note{margin:3px 0 0;padding:8px 10px;border:1px solid var(--theme-accent-border);border-radius:8px;background:var(--theme-accent-soft);color:var(--theme-text-soft);font-size:11px;line-height:1.5}.drug-workspace .bundle-layout{grid-template-columns:minmax(280px,.72fr) minmax(550px,1.28fr);gap:12px}.drug-workspace .bundle-detail-panel{background:linear-gradient(180deg,var(--theme-surface-soft),var(--theme-surface) 34%)}.drug-workspace .bundle-meta-row{padding:10px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface-soft)}.drug-workspace .bundle-item-table{border-color:var(--theme-border)}.drug-workspace .bundle-item-table th{border-color:var(--theme-border);background:var(--theme-surface-soft);color:var(--theme-text-soft)}.drug-workspace .bundle-item-table td{border-color:var(--theme-border)}@media (max-width: 1300px){.drug-workspace .catalog-master-layout{grid-template-columns:minmax(220px,.7fr) minmax(320px,1fr)}.drug-workspace .catalog-detail-panel{grid-column:1 / -1;min-height:0}.drug-workspace .bundle-layout{grid-template-columns:1fr}}@media (max-width: 700px){.drug-workspace-hero{align-items:flex-start;flex-direction:column;padding:14px}.drug-workspace-body{padding:12px}.drug-workspace .catalog-master-layout{grid-template-columns:1fr}.drug-workspace .catalog-master-panel{min-height:0}.drug-workspace .catalog-detail-panel{grid-column:auto}.drug-workspace .catalog-tab-head{width:100%}}.penchart-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.penchart-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.penchart-workspace-title{display:flex;align-items:center;gap:10px;min-width:0}.penchart-workspace-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.penchart-workspace-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.penchart-workspace-title h2{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:18px;line-height:1.25}.penchart-workspace-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.penchart-workspace-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.penchart-workspace-summary span{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;color:var(--theme-text-soft);border-radius:var(--ui-radius-pill);background:var(--theme-surface);font-size:11px;font-weight:700}.penchart-workspace-summary strong{color:var(--theme-accent);font-size:12px}.penchart-workspace-body{padding:14px}.penchart-workspace .penchart-admin-layout{grid-template-columns:minmax(0,1.45fr) minmax(390px,.8fr);gap:12px}.penchart-workspace .catalog-master-panel{min-height:560px;padding:14px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.penchart-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 10px;padding:0 0 10px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.penchart-list-heading h3,.penchart-detail-heading h3{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:14px}.penchart-list-heading span,.penchart-detail-heading span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.penchart-list-heading>strong{padding:3px 7px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);font-size:10px}.penchart-workspace .penchart-admin-toolbar{margin:0 0 12px;padding:10px;border-color:var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.penchart-workspace .penchart-admin-toolbar select,.penchart-workspace .penchart-admin-toolbar input[type=search]{border-color:var(--theme-border);background:var(--theme-surface)}.penchart-workspace .penchart-gallery{padding:2px}.penchart-workspace .penchart-card{border-color:var(--theme-border);box-shadow:var(--ui-shadow-1)}.penchart-workspace .penchart-card-preview{background:var(--theme-surface-soft)}.penchart-workspace .catalog-detail-panel{background:linear-gradient(180deg,var(--theme-surface-soft),var(--theme-surface) 34%)}.penchart-workspace .penchart-detail-head{align-items:flex-start;min-height:42px;margin:0 0 12px;padding:0 0 10px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.penchart-workspace .catalog-detail-actions{justify-content:flex-end}.penchart-workspace .catalog-detail-actions>button{min-height:32px;padding:6px 11px;font-size:12px;font-weight:700}.penchart-workspace .penchart-preview-panel{padding:12px;border-color:var(--theme-border);border-radius:11px;background:var(--theme-surface)}.penchart-workspace .penchart-preview-head{margin-bottom:9px;padding:0 0 8px 8px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.penchart-workspace .penchart-preview-head strong{color:var(--theme-text)}.penchart-workspace .penchart-upload-dropzone{border-color:var(--theme-accent-border);background:var(--theme-accent-soft)}.penchart-workspace .penchart-admin-preview{min-height:300px;background:var(--theme-surface-soft)}@media (max-width: 1050px){.penchart-workspace .penchart-admin-layout{grid-template-columns:1fr}.penchart-workspace .catalog-master-panel{min-height:0}}@media (max-width: 700px){.penchart-workspace-hero{align-items:flex-start;flex-direction:column;padding:14px}.penchart-workspace-body{padding:12px}.penchart-workspace .penchart-admin-toolbar{align-items:stretch;flex-direction:column}.penchart-workspace .penchart-filter-field,.penchart-workspace .penchart-filter-field.is-search{flex:1 1 auto;min-width:0}.penchart-workspace .penchart-detail-head{align-items:flex-start;flex-direction:column}}.cti-management-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.cti-management-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.cti-management-title{display:flex;align-items:center;gap:10px;min-width:0}.cti-management-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.cti-management-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.cti-management-title h2{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:18px;line-height:1.25}.cti-management-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.cti-management-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cti-management-summary span{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;color:var(--theme-text-soft);border-radius:var(--ui-radius-pill);background:var(--theme-surface);font-size:11px;font-weight:700}.cti-management-summary strong{color:var(--theme-accent);font-size:12px}.cti-management-body{display:grid;gap:14px;padding:14px}.cti-management-filter-heading{min-height:38px;margin:0;padding:0 0 9px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.cti-management-filter-heading h3,.cti-history-head h3{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:14px}.cti-management-filter-heading .section-description{margin-top:3px;font-size:11px}.cti-management-workspace .management-filter-box{padding:13px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.cti-management-workspace .management-filter-topbar{margin-bottom:12px;padding:10px 12px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.cti-management-workspace .management-filter-radio-row{min-height:34px;padding:0 3px}.cti-management-workspace .management-filter-radio-row label{padding:5px 8px;border-radius:var(--ui-radius-pill);background:var(--theme-surface);color:var(--theme-text-soft);font-weight:700}.cti-management-workspace .management-filter-date-range{gap:6px;padding:4px 7px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface)}.cti-management-workspace .management-filter-date-range input{min-width:132px;border:0;background:transparent;font-size:12px}.cti-management-workspace .management-filter-quick-buttons button{min-height:31px;padding:5px 10px;color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-surface);font-size:12px;font-weight:700}.cti-management-workspace .management-filter-action-buttons button{min-height:32px;padding:5px 12px;color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent);font-size:12px;font-weight:700}.cti-management-workspace .management-filter-table{overflow:hidden;border-color:var(--theme-border);border-radius:10px}.cti-management-workspace .management-filter-table-head{padding:9px 8px;color:var(--theme-text-soft);background:var(--theme-surface-soft)}.cti-management-workspace .management-filter-table-cell{padding:8px;background:var(--theme-surface)}.cti-management-workspace .management-filter-table-cell select,.cti-management-workspace .management-filter-table-cell input{min-height:34px;border-color:var(--theme-border);font-size:12px}.cti-management-workspace .management-filter-search-btn{min-height:34px;border-radius:8px;background:var(--theme-accent);border-color:var(--theme-accent)}.cti-history-card{overflow:hidden;padding:13px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.cti-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 10px;padding:0 0 10px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.cti-history-head span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.cti-history-head strong{padding:3px 7px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);font-size:10px}.cti-management-workspace .management-general-table-wrap{border-color:var(--theme-border);border-radius:10px}.cti-management-workspace .management-general-table th{background:var(--theme-surface-soft);color:var(--theme-text-soft)}.cti-management-workspace .management-general-table td{border-color:var(--theme-border);font-size:12px}.cti-management-workspace .modal-pagination{margin:12px 0 0}@media (max-width: 900px){.cti-management-hero{align-items:flex-start;flex-direction:column;padding:14px}.cti-management-body{padding:12px}.cti-management-workspace .management-filter-topbar-right{align-items:flex-start;flex-direction:column}.cti-management-workspace .management-filter-date-range{width:100%}.cti-management-workspace .management-filter-date-range input{min-width:0;flex:1}.cti-history-head{align-items:flex-start;flex-direction:column}}.business-dashboard-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.business-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.business-dashboard-title{display:flex;align-items:center;gap:10px;min-width:0}.business-dashboard-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.business-dashboard-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.business-dashboard-title h2{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:18px;line-height:1.25}.business-dashboard-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.business-dashboard-workspace .management-dashboard-filters{padding:5px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface)}.business-dashboard-workspace .management-dashboard-date-range{padding:4px 8px;border-color:transparent;background:transparent}.business-dashboard-workspace .management-dashboard-date-range input{min-width:126px}.business-dashboard-workspace .management-dashboard-quick{padding:3px;border-color:transparent;background:var(--theme-surface-soft)}.business-dashboard-workspace .management-dashboard-quick>button{min-width:42px;height:28px;padding:0 8px;font-weight:700}.business-dashboard-workspace .management-dashboard-quick>button:hover{color:var(--theme-accent);border-color:var(--theme-accent-border)}.business-dashboard-body{display:grid;gap:16px;padding:16px}.business-dashboard-workspace .management-kpi-grid{gap:12px}.business-dashboard-workspace .management-kpi-card{min-height:76px;padding:13px 15px;border-color:var(--theme-border);border-radius:12px;box-shadow:var(--ui-shadow-1)}.business-dashboard-workspace .management-kpi-card.is-primary{min-height:104px;border-color:var(--theme-accent-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 88%)}.business-dashboard-workspace .management-kpi-card.is-primary strong{color:var(--theme-accent)}.business-dashboard-workspace .management-dashboard-top,.business-dashboard-workspace .management-dashboard-grid{gap:14px}.business-dashboard-workspace .management-dashboard-card{padding:15px;border-color:var(--theme-border);border-radius:12px;box-shadow:var(--ui-shadow-1)}.business-dashboard-workspace .management-dashboard-card .section-head{align-items:flex-start;min-height:34px;margin:0 0 10px;padding:0 0 9px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.business-dashboard-workspace .management-dashboard-card .section-head h3{margin:0;color:var(--theme-text);font-size:14px}.business-dashboard-workspace .management-period-toggle{border-color:var(--theme-border);background:var(--theme-surface-soft)}.business-dashboard-workspace .management-period-toggle>button.is-active{color:var(--theme-accent);border-color:var(--theme-accent-border)}.business-dashboard-workspace .management-chart{border-color:var(--theme-border);border-radius:10px;background:var(--theme-surface)}.business-dashboard-workspace .management-yoy-compare{border-color:var(--theme-border);background:var(--theme-surface-soft)}.business-dashboard-workspace .management-trend-table-wrap{border:1px solid var(--theme-border);border-radius:10px}.business-dashboard-workspace .management-trend-table thead th{background:var(--theme-surface-soft);color:var(--theme-text-soft)}.business-dashboard-workspace .management-rank-item{border-color:var(--theme-border);background:var(--theme-surface)}.business-dashboard-workspace .management-rank-index,.business-dashboard-workspace .management-rank-bar span{background:var(--theme-accent)}.business-dashboard-workspace .management-dashboard-grid.is-bottom{align-items:start}.business-dashboard-workspace .management-lead-source-card{align-self:start;height:auto}.business-dashboard-workspace .management-lead-source-card .management-rank-list{align-content:start}@media (max-width: 900px){.business-dashboard-hero{align-items:flex-start;flex-direction:column;padding:14px}.business-dashboard-workspace .management-dashboard-filters{width:100%;justify-content:flex-start}.business-dashboard-body{padding:12px}}@media (max-width: 620px){.business-dashboard-workspace .management-dashboard-filters{align-items:flex-start;flex-direction:column}.business-dashboard-workspace .management-dashboard-date-range{width:100%}.business-dashboard-workspace .management-dashboard-date-range input{min-width:0;flex:1}}.customer-management-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.customer-management-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.customer-management-title{display:flex;align-items:center;gap:10px;min-width:0}.customer-management-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.customer-management-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.customer-management-title h2{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:18px;line-height:1.25}.customer-management-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.customer-management-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.customer-management-summary span{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;color:var(--theme-text-soft);border-radius:var(--ui-radius-pill);background:var(--theme-surface);font-size:11px;font-weight:700}.customer-management-summary span:first-child{color:var(--theme-accent)}.customer-management-body{display:grid;gap:14px;padding:14px}.customer-management-filter-heading{min-height:38px;margin:0;padding:0 0 9px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.customer-management-filter-heading h3,.customer-list-head h3{margin:0;padding:0;color:var(--theme-text)!important;border:0;border-radius:0;background:transparent;font-size:14px}.customer-management-filter-heading .section-description{margin-top:3px;font-size:11px}.customer-management-workspace .management-tab-row{justify-self:start;gap:4px;margin:0;padding:4px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.customer-management-workspace .management-tab-row .tab-btn{min-height:32px;padding:5px 12px;color:var(--theme-text-soft);border:0;border-radius:7px;background:transparent;font-size:12px;font-weight:700}.customer-management-workspace .management-tab-row .tab-btn.active{color:var(--theme-accent);background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.customer-management-workspace .management-filter-box{padding:13px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.customer-management-workspace .management-filter-topbar{margin-bottom:12px;padding:10px 12px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.customer-management-workspace .management-filter-radio-row{min-height:34px;padding:0 3px}.customer-management-workspace .management-filter-radio-row label{padding:5px 8px;border-radius:var(--ui-radius-pill);background:var(--theme-surface);color:var(--theme-text-soft);font-weight:700}.customer-management-workspace .management-domestic-filter{padding:3px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface)}.customer-management-workspace .management-domestic-btn{min-height:29px;margin:0;padding:4px 10px;border:0;border-radius:6px;background:transparent;font-weight:700}.customer-management-workspace .management-domestic-btn.is-active{background:var(--theme-accent)}.customer-management-workspace .management-filter-date-range{gap:6px;padding:4px 7px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface)}.customer-management-workspace .management-filter-date-range input{min-width:132px;border:0;background:transparent;font-size:12px}.customer-management-workspace .management-filter-quick-buttons button{min-height:31px;padding:5px 10px;color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-surface);font-size:12px;font-weight:700}.customer-management-workspace .management-filter-table{overflow:hidden;border-color:var(--theme-border);border-radius:10px}.customer-management-workspace .management-filter-table-head{padding:9px 8px;color:var(--theme-text-soft);background:var(--theme-surface-soft)}.customer-management-workspace .management-filter-table-cell{padding:8px;background:var(--theme-surface)}.customer-management-workspace .management-filter-table-cell select,.customer-management-workspace .management-filter-table-cell input{min-height:34px;border-color:var(--theme-border);font-size:12px}.customer-management-workspace .management-filter-search-btn{min-height:34px;border-radius:8px;background:var(--theme-accent);border-color:var(--theme-accent)}.customer-list-card{overflow:hidden;padding:13px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.customer-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 10px;padding:0 0 10px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.customer-list-head span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.customer-list-head strong{padding:3px 7px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-accent-soft);font-size:10px}.customer-management-workspace .management-general-table-wrap{border-color:var(--theme-border);border-radius:10px}.customer-management-workspace .management-general-table th{background:var(--theme-surface-soft);color:var(--theme-text-soft)}.customer-management-workspace .management-general-table td{border-color:var(--theme-border);font-size:12px}.customer-management-workspace .modal-pagination{margin:12px 0 0}@media (max-width: 900px){.customer-management-hero{align-items:flex-start;flex-direction:column;padding:14px}.customer-management-body{padding:12px}.customer-management-workspace .management-filter-topbar-right{align-items:flex-start;flex-direction:column}.customer-management-workspace .management-filter-date-range{width:100%}.customer-management-workspace .management-filter-date-range input{min-width:0;flex:1}.customer-list-head{align-items:flex-start;flex-direction:column}}.sms-workspace{overflow:hidden;padding:0;border-radius:var(--ui-card-radius)}.sms-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.sms-workspace-title{display:flex;align-items:center;gap:10px;min-width:0}.sms-workspace-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.sms-workspace-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.sms-workspace-title h2{margin:0;padding:0;color:var(--theme-text)!important;background:transparent;border:0;border-radius:0;font-size:18px;line-height:1.25}.sms-workspace-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.sms-workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.sms-workspace-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;color:var(--theme-accent);border-radius:var(--ui-radius-pill);background:var(--theme-surface);font-size:11px;font-weight:800}.sms-workspace-actions>button{min-height:32px;padding:6px 11px;color:var(--theme-on-accent);border-color:var(--theme-accent);background:var(--theme-accent);font-size:12px;font-weight:700}.sms-workspace-body{display:grid;gap:14px;padding:14px}.sms-workspace .sms-tabs{display:inline-flex;justify-self:start;gap:4px;padding:4px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.sms-workspace .sms-tab{height:32px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:var(--theme-text-soft)}.sms-workspace .sms-tab.is-active{color:var(--theme-accent);background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.sms-workspace .sms-layout{gap:12px}.sms-workspace .sms-list-panel,.sms-workspace .sms-detail-panel,.sms-workspace .sms-preview-panel,.sms-workspace .sms-pending-panel,.sms-workspace .sms-send-config-panel{padding:13px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.sms-workspace .sms-layout-send>*{min-height:520px}.sms-workspace .sms-list-head,.sms-workspace .sms-preview-head,.sms-workspace .sms-send-config-head{min-height:30px;margin:0 0 10px;padding:0 0 9px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent);font-size:14px;font-weight:800;color:var(--theme-text)}.sms-workspace .sms-list-head strong,.sms-workspace .sms-preview-head strong{color:var(--theme-text);font-size:14px}.sms-workspace .sms-list-head span{color:var(--theme-accent);font-weight:700}.sms-workspace .sms-send-config{padding:12px;border-color:var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.sms-workspace .sms-recipient-summary{margin-bottom:10px;border-radius:10px}.sms-workspace .sms-detail-grid{gap:8px 9px}.sms-workspace .sms-detail-grid label{min-height:34px;border-color:var(--theme-border);background:var(--theme-surface-soft);color:var(--theme-text-soft);font-weight:700}.sms-workspace .sms-detail-grid textarea{min-height:360px;border-color:var(--theme-border)}.sms-workspace .sms-detail-actions{margin-top:10px}.sms-workspace .sms-detail-actions>button{min-height:36px;padding:7px 15px;font-weight:800}.sms-workspace .sms-phone-shell{width:min(280px,100%);height:560px}@media (max-width: 900px){.sms-workspace-hero{align-items:flex-start;flex-direction:column;padding:14px}.sms-workspace-body{padding:12px}.sms-workspace .sms-tabs{width:100%;overflow-x:auto}.sms-workspace .sms-tab{flex:0 0 auto}.sms-workspace .sms-layout-send>*{min-height:0}}.sms-review-toolbar{display:flex;justify-content:flex-end;margin-bottom:6px}.sms-review-sync-btn{height:28px;padding:0 12px;border:1px solid var(--theme-accent-border);border-radius:8px;background:#fff;font-size:12px;color:#9a3412;font-weight:700}.sms-review-sync-btn:hover{background:var(--theme-accent-soft)}.sms-review-sync-btn:disabled{opacity:.5}.msghub-auto-on{color:#166534}.msghub-auto-off{color:#9a3412}.payment-request-modal{overflow:hidden;border:1px solid #efc6b6;border-radius:16px;background:#fffaf7;box-shadow:0 24px 60px #5a352747}.payment-request-modal .payment-modal-head{min-height:64px;padding:0 16px;border-bottom:1px solid #efc6b6;background:linear-gradient(135deg,#f9896d,var(--theme-accent))}.payment-request-modal .payment-modal-head h3{padding:0;border:0;background:transparent;font-size:19px;letter-spacing:-.03em}.payment-request-modal .payment-modal-actions button{min-height:34px;padding:0 12px;border-radius:8px;border-color:#ffffff47;background:#ffffff29;color:#fff;font-weight:800}.payment-request-modal .payment-request-body{display:grid;gap:13px;padding:16px}.payment-request-modal .payment-request-summary{display:flex;align-items:stretch;justify-content:space-between;gap:12px;padding:0;border-color:#efc6b6;background:#fff;overflow:hidden}.payment-request-modal .payment-request-summary-target,.payment-request-modal .payment-request-summary-amount{display:grid;align-content:center;gap:4px;min-height:62px;padding:11px 14px}.payment-request-modal .payment-request-summary-target span,.payment-request-modal .payment-request-summary-amount span{color:var(--theme-text-soft);font-size:11px;font-weight:700}.payment-request-modal .payment-request-summary-target strong{color:var(--theme-text);font-size:17px}.payment-request-modal .payment-request-summary-amount{min-width:178px;text-align:right;border-left:1px solid #f0dfd8;background:#fff5f0}.payment-request-modal .payment-request-summary-amount em{color:#d74f2f;font-size:20px;font-style:normal;font-weight:900;letter-spacing:-.03em}.payment-request-modal .payment-request-method-section{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #efddd5;border-radius:11px;background:#fffdfc}.payment-request-modal .payment-request-section-label{color:#79584c;font-size:11px;font-weight:800;white-space:nowrap}.payment-request-modal .payment-request-methods{gap:6px}.payment-request-modal .payment-request-methods .payment-chip{min-width:55px;height:32px;justify-content:center;padding:0 12px;border-color:#ebd5cc;background:#fff7f3;color:#6f4b3e;font-weight:800}.payment-request-modal .payment-request-methods .payment-chip.is-active{border-color:var(--theme-accent);background:var(--theme-accent);color:#fff}.payment-request-modal .payment-request-preview{gap:11px;padding:12px;border-color:#ead6cd;border-radius:12px;background:#fff}.payment-request-modal .payment-request-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 9px 8px;border-bottom:1px solid #f0e1db;border-left:3px solid var(--theme-accent)}.payment-request-modal .payment-request-preview-head strong{color:var(--theme-text);font-size:13px}.payment-request-modal .payment-request-preview-head span{color:var(--theme-text-soft);font-size:11px}.payment-request-modal .payment-request-preview-row{min-height:48px;padding:8px 10px;background:#fffdfc}.payment-request-modal .payment-request-deduction-label,.payment-request-modal .payment-request-total-label{display:block;margin:1px 0 -3px;padding-left:8px;border-left:2px solid #f1b4a2}.payment-request-modal .payment-request-totals{gap:8px}.payment-request-modal .payment-request-preview-total{min-height:64px;padding:10px 11px;border-color:#ecdcd5;background:#fffaf8}.payment-request-modal .payment-request-preview-total.is-emphasis{border-color:#f0a98f;background:linear-gradient(135deg,#fff2ec,#ffe4d9)}.payment-request-modal .payment-request-preview-total.is-emphasis strong{color:#d84c2b;font-size:20px}.payment-request-modal .payment-apply-actions{min-height:68px;padding:12px 16px;border-top:1px solid #ead6cd;background:#fffdfc}.payment-request-modal .payment-apply-actions .payment-btn-wide{min-width:120px;height:36px;font-weight:800}@media (max-width: 620px){.payment-request-modal .payment-request-summary{display:grid;grid-template-columns:1fr}.payment-request-modal .payment-request-summary-amount{min-width:0;border-top:1px solid #f0dfd8;border-left:0;text-align:left}.payment-request-modal .payment-request-method-section{align-items:flex-start;flex-direction:column;gap:8px}}.modal-panel.payment-request-modal{padding:8px}.payment-request-modal .payment-modal-head{min-height:52px;padding:0 13px 0 15px;border:1px solid #efcfc2;border-radius:10px;background:#fff4ef}.payment-request-modal .payment-modal-head h3{color:var(--theme-text);font-size:17px}.payment-request-modal .payment-modal-head h3:before{content:"결제 확인";display:block;margin-bottom:1px;color:var(--theme-accent);font-size:10px;font-weight:800;letter-spacing:.04em}.payment-request-modal .payment-modal-actions button{min-height:30px;padding:0 10px;border-color:#edb5a3;border-radius:7px;background:#fff;color:var(--theme-accent);font-size:11px;box-shadow:none}.payment-request-modal .payment-request-body{gap:11px;padding:13px 14px 11px}.payment-request-modal .payment-request-summary-target,.payment-request-modal .payment-request-summary-amount{min-height:56px;padding:9px 13px}.payment-request-modal .payment-apply-actions{min-height:58px;padding:10px 14px;border-radius:0 0 10px 10px}.payment-request-modal .payment-apply-actions .payment-btn-wide{min-width:120px;height:34px}.payment-request-modal{background:#fffdfc}.payment-request-modal .payment-modal-head{min-height:58px;padding:0 15px;border-color:#efd4ca;background:linear-gradient(90deg,#fff6f2,#fffdfc)}.payment-request-modal .payment-modal-title{display:grid;gap:1px}.payment-request-modal .payment-modal-title>span{color:var(--theme-accent);font-size:10px;font-weight:800;letter-spacing:.04em}.payment-request-modal .payment-modal-head h3{color:var(--theme-text);font-size:17px;line-height:1.2}.payment-request-modal .payment-modal-head h3:before{content:none;display:none}.payment-request-modal .payment-request-body{gap:12px;padding:15px 16px 13px}.payment-request-modal .payment-request-summary{border-color:#f0d4c8;border-radius:12px}.payment-request-modal .payment-request-summary-target{background:#fff}.payment-request-modal .payment-request-summary-amount{background:#fff5f0}.payment-request-modal .payment-request-method-section{gap:10px;padding:1px 2px;border:0;border-radius:0;background:transparent}.payment-request-modal .payment-request-methods{padding:4px;border:1px solid #efddd5;border-radius:10px;background:#fff8f5}.payment-request-modal .payment-request-methods .payment-chip{min-width:58px;border:0;background:transparent}.payment-request-modal .payment-request-methods .payment-chip:hover:not(.is-active){background:#ffe7dd}.payment-request-modal .payment-request-preview{padding:13px;border-color:#edd8cf;border-radius:12px;box-shadow:0 6px 16px #5b3b2f09}.payment-request-modal .payment-request-preview-head{padding-bottom:10px}.payment-request-modal .payment-request-preview-row{border-color:#f1e2dc;background:#fffefd}.payment-request-modal .payment-request-deduction-label,.payment-request-modal .payment-request-total-label{margin-top:2px}.payment-request-modal .payment-request-preview-total{border-radius:10px;background:#fffdfc}.payment-request-modal .payment-request-preview-total.is-emphasis{box-shadow:0 6px 14px #e058311f}.payment-request-modal .payment-apply-actions{min-height:62px;background:#fff8f5}.payment-request-modal .payment-request-body{gap:8px;padding:12px 16px}.payment-request-modal .payment-request-preview-head{align-items:center;min-height:48px;padding-top:7px;padding-bottom:7px}.payment-request-modal .payment-request-preview-title{display:grid;gap:2px;min-width:0}.payment-request-modal .payment-request-preview-title>span{color:var(--theme-text-soft);font-size:10px}.payment-request-modal .payment-request-preview-head>.payment-request-method-section{display:flex;align-items:center;gap:7px;margin-left:auto;padding:0}.payment-request-modal .payment-request-preview-head .payment-request-section-label{color:#79584c;font-size:10px}.payment-request-modal .payment-request-preview-head .payment-request-methods{gap:2px;padding:3px;border-color:#efdcd3;border-radius:8px;background:#fff8f5}.payment-request-modal .payment-request-preview-head .payment-chip{min-width:46px;height:28px;padding:0 9px;border-radius:6px;font-size:11px}@media (max-width: 620px){.payment-request-modal .payment-request-preview-head{align-items:flex-start;flex-direction:column}.payment-request-modal .payment-request-preview-head>.payment-request-method-section{margin-left:0}}.patient-detail-workspace .detail-tab-row{display:inline-flex;align-items:center;gap:3px;width:fit-content;max-width:100%;margin:0 0 14px;padding:5px;border:1px solid #efcfc2;border-radius:11px;background:#fff1eb}.patient-detail-workspace .detail-tab-row .tab-btn{min-height:32px;padding:0 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#7a5547;font-size:12px;font-weight:800;box-shadow:none}.patient-detail-workspace .detail-tab-row .tab-btn:hover:not(:disabled):not(.active){border-color:#f2c5b6;background:#ffe3d8;color:#9a3412}.patient-detail-workspace .detail-tab-row .tab-btn.active{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent);box-shadow:0 5px 12px #e8624038}.patient-detail-workspace .detail-tab-row .tab-btn:disabled{opacity:.48}@media (max-width: 760px){.patient-detail-workspace .detail-tab-row{display:flex;width:100%;overflow-x:auto}.patient-detail-workspace .detail-tab-row .tab-btn{flex:0 0 auto}}.patient-detail-workspace .before-after-panel{min-height:520px;overflow:hidden;border:1px solid #ead6cd;border-radius:14px;background:#fff;box-shadow:0 10px 22px #5b3b2f0f}.patient-detail-workspace .before-after-head{min-height:60px;padding:14px 16px 13px 19px;border:0;border-bottom:1px solid #ead6cd;border-radius:0;background:linear-gradient(90deg,#fff7f3,#fff)}.patient-detail-workspace .before-after-head strong{display:flex;align-items:center;gap:8px;color:var(--theme-text);font-size:15px;font-weight:800}.patient-detail-workspace .before-after-head strong:before{content:"";width:3px;height:18px;border-radius:99px;background:var(--theme-accent)}.patient-detail-workspace .before-after-head>button{min-height:32px;padding:0 13px;border:1px solid var(--theme-accent);border-radius:8px;background:var(--theme-accent);color:var(--theme-on-accent);font-size:12px;font-weight:800}.patient-detail-workspace .before-after-head>button:disabled{border-color:#eaded9;background:#f4ece8;color:#c3aaa0}.patient-detail-workspace .before-after-gallery{padding:18px;border:0;border-radius:0;background:linear-gradient(180deg,#fffdfc,#fff8f4)}.patient-detail-workspace .before-after-empty{display:grid;place-items:center;min-height:390px;padding:26px;border:1px dashed #edc9bb;border-radius:12px;background:#ffffffc2}.patient-detail-workspace .before-after-empty-content{display:grid;justify-items:center;gap:9px;max-width:380px;text-align:center;color:var(--theme-text-soft);font-size:12px;line-height:1.6}.patient-detail-workspace .before-after-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid var(--theme-accent-border);border-radius:16px;background:var(--theme-accent-soft);color:var(--theme-accent)}.patient-detail-workspace .before-after-empty-content strong{color:var(--theme-text);font-size:15px}.patient-detail-workspace .before-after-empty-content button{min-height:34px;margin-top:3px;padding:0 14px;border:1px solid var(--theme-accent);border-radius:8px;background:var(--theme-accent);color:var(--theme-on-accent);font-size:12px;font-weight:800}.patient-detail-workspace .before-after-empty-content button:disabled{opacity:.55;cursor:not-allowed}.patient-detail-workspace .before-after-card{border-color:#ead6cd;border-radius:12px;box-shadow:0 6px 15px #5b3b2f0d}.patient-detail-workspace .before-after-card-head{padding:10px 12px;border-bottom-color:#ead6cd;background:#fff7f3}.patient-detail-workspace .before-after-card-date{color:var(--theme-text);font-weight:800}.patient-detail-workspace .chart-editor-panel,.patient-detail-workspace .patient-history-panel{min-height:570px;padding:16px;border:1px solid #ead6cd;border-radius:14px;background:linear-gradient(180deg,#fff,#fffdfc);box-shadow:0 10px 22px #5b3b2f0f}.patient-detail-workspace .chart-editor-panel .section-head,.patient-detail-workspace .patient-history-panel .section-head{margin:0 0 14px;padding:0 0 11px 10px;border-bottom:1px solid #ead8d0;border-left:3px solid var(--theme-accent)}.patient-detail-workspace .chart-editor-panel .section-head h2,.patient-detail-workspace .patient-history-panel .section-head h3{padding:0;border:0;border-radius:0;background:transparent;color:var(--theme-text);font-size:16px}.patient-detail-workspace .chart-editor-card{height:480px;min-height:480px;max-height:none;border-color:#ead6cd;border-radius:12px;background:#fff}.patient-detail-workspace .chart-toolbar{padding:10px 12px;background:#fff7f3;border-bottom-color:#ead6cd}.patient-detail-workspace .chart-editor-surface{background:#fffefd}@media (max-width: 760px){.patient-detail-workspace .before-after-panel{min-height:0}.patient-detail-workspace .before-after-gallery{min-height:300px;padding:12px}.patient-detail-workspace .before-after-empty{min-height:260px}}.modal-panel.appointment-slot-preview-modal{width:min(760px,calc(100vw - 32px));max-height:min(76vh,720px);padding:8px;border:1px solid #efd2c6;border-radius:16px;background:#fffdfc;box-shadow:0 24px 60px #54362a40}.appointment-slot-preview-modal .payment-modal-head{min-height:80px;padding:13px 15px;border:1px solid #efd5cb;border-radius:10px;background:linear-gradient(100deg,#fff4ef,#fffdfc 74%)}.appointment-slot-preview-headline{gap:3px}.appointment-slot-preview-headline h3{display:grid;gap:2px;color:var(--theme-text);font-size:17px;line-height:1.25}.appointment-slot-preview-headline h3:before{content:"예약 현황";color:var(--theme-accent);font-size:10px;font-weight:800;letter-spacing:.05em}.appointment-slot-preview-headline p{color:var(--theme-text-soft)}.appointment-slot-preview-headline p:first-of-type{display:flex;align-items:center;gap:5px;font-size:12px}.appointment-slot-preview-headline p:first-of-type strong{color:var(--theme-text);font-size:13px}.appointment-slot-preview-headline p:last-of-type{color:#8a6759;font-size:10px}.appointment-slot-preview-modal .payment-modal-actions button{min-height:32px;padding:0 12px;border-color:#efb7a6;border-radius:8px;background:#fff;color:var(--theme-accent);font-size:11px;font-weight:800;box-shadow:none}.appointment-slot-preview-modal .appointment-slot-preview-filter-tabs{gap:6px;padding:12px 16px 0;background:transparent}.appointment-slot-preview-modal .appointment-slot-preview-filter-tab{min-height:30px;padding:0 11px;border-color:#ecdcd4;border-radius:8px;background:#fff8f5;font-size:11px}.appointment-slot-preview-modal .appointment-slot-preview-filter-tab.active{border-color:#f0bca9;background:#fff0ea;color:#bd492b}.appointment-slot-preview-modal .appointment-slot-preview-list{gap:10px;padding:12px 16px 16px;background:linear-gradient(180deg,#fffdfc,#fff8f5)}.appointment-slot-preview-modal .appointment-slot-preview-item{gap:10px;padding:13px 14px;border-color:#eddfd9;border-radius:12px;box-shadow:0 5px 14px #5b3b2f0a}.appointment-slot-preview-modal .appointment-slot-preview-item.is-selected{border-color:#efb39d;background:#fff9f6;box-shadow:0 8px 18px #e862401a}.appointment-slot-preview-modal .appointment-slot-preview-name{font-size:15px}.appointment-slot-preview-modal .appointment-slot-preview-meta{gap:5px}.appointment-slot-preview-modal .appointment-slot-preview-meta span{min-height:24px;padding:0 8px;background:#f7f3f1;font-size:11px}.appointment-slot-preview-modal .appointment-slot-preview-badge{min-height:25px;padding:0 8px;font-size:11px}.appointment-slot-preview-modal .appointment-slot-preview-detail-grid,.appointment-slot-preview-modal .appointment-slot-preview-memo-grid{gap:8px}.appointment-slot-preview-modal .appointment-slot-preview-detail,.appointment-slot-preview-modal .appointment-slot-preview-memo-box{padding:9px 10px;border-color:#eee1db;border-radius:9px}.appointment-slot-preview-modal .appointment-slot-preview-detail{background:#fafbfc}.appointment-slot-preview-modal .appointment-slot-preview-memo-box{background:#fffdfc}@media (max-width: 620px){.modal-panel.appointment-slot-preview-modal{max-height:min(84vh,720px);padding:6px}.appointment-slot-preview-modal .payment-modal-head{align-items:flex-start;min-height:0}.appointment-slot-preview-modal .appointment-slot-preview-filter-tabs,.appointment-slot-preview-modal .appointment-slot-preview-list{padding-left:10px;padding-right:10px}}.appointment-management-card{overflow:hidden;border-color:#ead6cd;border-radius:14px;background:#fff;box-shadow:0 10px 22px #5b3b2f0f}.appointment-management-card .appointment-toolbar{display:flex;align-items:center;gap:10px;min-height:64px;margin:0 0 10px;padding:10px 12px;border:1px solid #ead6cd;border-radius:11px;background:linear-gradient(90deg,#fff7f3,#fffdfc 62%)}.appointment-toolbar-title{display:grid;gap:1px;min-width:84px;padding:0 11px 0 3px;border-right:1px solid #eddcd4}.appointment-toolbar-title span{color:var(--theme-accent);font-size:10px;font-weight:800;letter-spacing:.04em}.appointment-toolbar-title strong{color:var(--theme-text);font-size:15px}.appointment-date-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.appointment-date-actions input{min-width:128px;height:34px;border-color:#e8d4cc;border-radius:8px;background:#fff}.appointment-date-actions button{min-height:34px;padding:0 11px;border-radius:8px;font-size:12px;font-weight:800}.appointment-management-card .appointment-view-tabs,.appointment-management-card .appointment-theme-tabs{display:flex;gap:3px;padding:3px;border:1px solid #ecd9d1;border-radius:9px;background:#fff8f5}.appointment-management-card .appointment-view-tabs{margin-left:auto}.appointment-management-card .appointment-view-tabs .tab-btn,.appointment-management-card .appointment-theme-tabs .tab-btn{min-height:28px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#79584c;font-size:11px;font-weight:800;box-shadow:none}.appointment-management-card .appointment-view-tabs .tab-btn.active,.appointment-management-card .appointment-theme-tabs .tab-btn.active{background:var(--theme-accent);color:#fff;box-shadow:0 4px 10px #e8624033}.appointment-management-card .appointment-day-board-scroll{border-color:#dfe5ed;border-radius:11px;background:#f7f9fc}.appointment-management-card .appointment-day-board{min-width:100%;border:0;background:#f7f9fc}.appointment-management-card .appointment-grid-cell{border-color:#dfe5ed;background:#ffffffe6}.appointment-management-card .appointment-grid-head{min-height:38px;background:#fff4ed;color:#3d302b;font-size:12px}.appointment-management-card .appointment-grid-time{display:grid;place-items:center;background:#fff8f5;color:#55433b;font-size:12px}.appointment-management-card .appointment-grid-cell:not(.appointment-grid-head):not(.appointment-grid-time):hover{background:#fff5f0}@media (max-width: 900px){.appointment-management-card .appointment-toolbar{align-items:flex-start;flex-wrap:wrap}.appointment-management-card .appointment-view-tabs{margin-left:0}}@media (max-width: 620px){.appointment-management-card .appointment-toolbar{gap:8px;padding:10px}.appointment-toolbar-title{width:100%;padding:0 0 8px;border-right:0;border-bottom:1px solid #eddcd4}.appointment-date-actions{width:100%}.appointment-date-actions input{flex:1 1 130px}}.modal-panel.header-create-patient-modal{width:min(900px,94vw);max-height:min(82vh,760px);padding:8px;overflow:hidden;border:1px solid #efd2c6;border-radius:16px;background:#fffdfc;box-shadow:0 24px 60px #54362a40}.header-create-patient-modal .patient-modal-header{align-items:center;min-height:72px;padding:12px 15px;border:1px solid #efd5cb;border-radius:10px;background:linear-gradient(100deg,#fff4ef,#fffdfc 74%)}.header-create-patient-modal .patient-modal-header h3{display:grid;gap:2px;color:var(--theme-text);font-size:17px;line-height:1.2}.header-create-patient-modal .patient-modal-header h3:before{content:"고객 관리";color:var(--theme-accent);font-size:10px;font-weight:800;letter-spacing:.05em}.header-create-patient-modal .patient-modal-header p{margin-top:3px;color:var(--theme-text-soft);font-size:11px}.header-create-patient-modal .patient-modal-actions{gap:7px}.header-create-patient-modal .modal-action-btn{min-height:34px;height:34px;padding:0 13px;border-radius:8px;font-size:12px;font-weight:800}.header-create-patient-modal .patient-modal-body{padding:12px 8px 8px;overflow:auto;background:linear-gradient(180deg,#fffdfc,#fff8f5)}.header-create-patient-modal .patient-modal-split{gap:12px}.header-create-patient-modal .patient-modal-section{padding:14px;border:1px solid #ead8d1;border-radius:13px;background:#fff;box-shadow:0 6px 16px #5b3b2f09}.header-create-patient-modal .patient-modal-section h4{display:flex;align-items:center;gap:7px;margin-bottom:13px;padding-bottom:10px;border-bottom:1px solid #efe1dc;color:var(--theme-text);font-size:14px}.header-create-patient-modal .patient-modal-section h4:before{content:"";width:3px;height:17px;border-radius:99px;background:var(--theme-accent)}.header-create-patient-modal .patient-modal-section:first-child h4:after{content:"필수 정보를 먼저 입력하세요";margin-left:auto;color:#9a6b5b;font-size:10px;font-weight:600}.header-create-patient-modal .patient-modal-section:nth-child(2) h4:after{content:"선택 입력";margin-left:auto;padding:3px 7px;border-radius:999px;background:#fff3ee;color:var(--theme-accent);font-size:10px;font-weight:800}.header-create-patient-modal .patient-modal-grid{gap:10px 12px}.header-create-patient-modal .patient-modal-field{gap:5px}.header-create-patient-modal .patient-modal-field span{color:#715549;font-size:11px;font-weight:800}.header-create-patient-modal .patient-modal-section:first-child .patient-modal-field:first-child>span:after{content:" *";color:#dc4f2d}.header-create-patient-modal .patient-modal-field input,.header-create-patient-modal .patient-modal-field select,.header-create-patient-modal .patient-modal-field textarea{border-color:#ead6ce;border-radius:8px;background:#fffefd}.header-create-patient-modal .patient-modal-field input:focus,.header-create-patient-modal .patient-modal-field select:focus,.header-create-patient-modal .patient-modal-field textarea:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px #e862401f}.header-create-patient-modal .patient-modal-field textarea{min-height:118px}.header-create-patient-modal .patient-modal-consent{gap:9px;padding:11px;border-color:#eddad1;border-radius:10px;background:#fff8f5}.header-create-patient-modal .patient-modal-consent-title{color:#79584c;font-size:11px;font-weight:800}.header-create-patient-modal .patient-consent-row{gap:8px}.header-create-patient-modal .patient-consent-item{min-height:34px;padding:6px 8px;border:1px solid #efe0d9;border-radius:8px;background:#fff;font-size:11px;font-weight:700}@media (max-width: 760px){.modal-panel.header-create-patient-modal{max-height:min(88vh,760px);padding:6px}.header-create-patient-modal .patient-modal-header{align-items:flex-start}.header-create-patient-modal .patient-modal-body{padding:10px 4px 4px}.header-create-patient-modal .patient-modal-section{padding:12px}}.front-desk-shell{gap:14px;padding:0}.front-notice-panel{overflow:hidden;padding:10px;border:1px solid #ead6cd;border-radius:14px;background:linear-gradient(180deg,#fffdfc,#fff8f5);box-shadow:0 8px 20px #5b3b2f0d}.front-notice-head{min-height:38px;padding:0 2px 8px 9px;border-bottom:1px solid #eeded7;border-left:3px solid var(--theme-accent)}.front-notice-head strong{font-size:15px}.front-notice-box{border-color:#ead8d1;border-radius:10px;background:#fff}.front-notice-subhead{padding:9px 10px;background:#fff5f0;color:#6f4f43;font-size:11px}.front-notice-item{gap:7px;padding:11px 10px 9px}.front-notice-text{min-height:42px;font-size:13px;font-weight:700}.front-notice-compose{padding:9px;background:#fff9f6}.front-notice-input{min-height:70px;border-color:#ecd8cf;border-radius:8px;font-size:12px}.front-main-board{gap:12px}.front-toolbar{min-height:58px;padding:8px 10px;border-color:#ead6cd;border-radius:12px;background:linear-gradient(90deg,#fff7f3,#fffdfc 70%);box-shadow:0 6px 16px #5b3b2f09}.front-toolbar-left{gap:11px}.front-toolbar-title{display:grid;gap:1px;flex:0 0 auto;min-width:104px;padding:0 11px 0 2px;border-right:1px solid #ecdcd4}.front-toolbar-title span{color:var(--theme-accent);font-size:9px;font-weight:800;letter-spacing:.07em}.front-toolbar-title strong{color:var(--theme-text);font-size:14px;line-height:1.2}.front-part-filters{gap:3px;padding:3px;border:1px solid #ecd9d1;border-radius:9px;background:#fff8f5}.front-part-chip{min-height:27px;padding:0 9px;border:0;border-radius:6px;background:transparent;font-size:11px}.front-part-chip:hover:not(:disabled):not(.is-active){background:#ffe8df;color:#9a3412}.front-toolbar-right{gap:6px}.front-toolbar-date{min-width:144px;min-height:30px;border-color:#ead8d1;border-radius:8px;background:#fff;font-size:12px}.front-toolbar-nav,.front-toolbar-today{min-height:30px;min-width:30px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:800}.front-queue-grid{gap:12px;padding:0 1px 4px}.front-queue-column{border-color:#ead8d1;border-radius:12px;background:#fff;box-shadow:0 6px 16px #5b3b2f09}.front-queue-head{min-height:34px;padding:7px 10px;border-bottom:1px solid rgba(111,79,67,.1)}.front-queue-head h3{font-size:12px}.front-queue-head span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ffffff94;font-size:11px}.front-queue-list{gap:8px;padding:8px;background:linear-gradient(180deg,#fffefd,#fffaf8)}.front-queue-card{gap:5px;padding:9px;border-color:#eadbd4;border-radius:9px;box-shadow:0 4px 12px #5b3b2f0d}.front-queue-card:hover{border-color:#efb6a4;box-shadow:0 7px 16px #e862401c;transform:translateY(-1px)}.front-queue-card-name{font-size:14px}.front-queue-card-meta,.front-queue-card-label{font-size:11px}.front-queue-empty{min-height:100%;border-color:#efd8ce;border-radius:9px;background:#fffdfc;font-size:11px}@media (max-width: 1100px){.front-toolbar{align-items:flex-start;flex-wrap:wrap}.front-toolbar-right{margin-left:auto}}@media (max-width: 760px){.front-toolbar-title{width:100%;padding:0 0 8px;border-right:0;border-bottom:1px solid #ecdcd4}.front-toolbar-left{width:100%;align-items:flex-start;flex-direction:column}.front-toolbar-right{width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap}}html,body,#root{min-height:100%}body{min-height:100dvh;overflow-x:hidden;overflow-y:auto}#root,.app-shell,.content{min-height:100dvh}.content{min-width:0}@media (max-width: 1180px),(max-height: 820px){.app-shell{align-items:stretch}.content{overflow:visible}.workspace{min-height:0}.front-desk-shell{min-height:0;max-height:none;height:auto;overflow:visible}.front-main-board{min-height:0;overflow:visible}.front-queue-grid{height:auto;max-height:none;overflow:visible}.appointment-management-card{min-height:calc(100dvh - 104px);height:auto}.appointment-management-card .appointment-day-board-scroll{height:min(70dvh,680px);min-height:420px;max-height:none}}@media (max-width: 1500px){.patient-detail-workspace .consult-panel{grid-template-columns:minmax(0,1fr)}}@media (min-width: 901px) and (max-width: 1500px){.patient-detail-workspace .consult-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.statistics-page{display:grid;gap:12px;min-width:0;padding:12px;background:#fff;border:1px solid var(--theme-border);border-radius:var(--ui-card-radius);box-shadow:var(--ui-shadow-1)}.statistics-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:2px 2px 4px;border-bottom:1px solid #eee4de}.statistics-breadcrumb{margin-bottom:4px;font-size:11px;font-weight:700;color:var(--theme-text-soft)}.statistics-page-head h2{margin:0;font-size:18px;color:var(--theme-text);line-height:1.2}.statistics-current-range{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid #e8ddd7;border-radius:999px;background:#fffaf7;color:#7a6860;font-size:12px;font-weight:700;white-space:nowrap}.statistics-tabs-wrap{max-width:100%;overflow-x:auto;border-bottom:1px solid #e8ddd7}.statistics-primary-tabs{display:flex;align-items:center;gap:0;min-width:max-content}.statistics-primary-tabs>button{min-height:36px;padding:0 13px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--theme-text-soft);font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.statistics-primary-tabs>button:hover{color:var(--theme-text);background:var(--theme-surface-soft)}.statistics-primary-tabs>button.is-active{color:var(--theme-accent-strong);border-bottom-color:var(--theme-accent);background:var(--theme-accent-soft)}.statistics-secondary-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:0 2px}.statistics-secondary-tabs>button{height:30px;padding:0 12px;border:1px solid var(--theme-border);border-radius:999px;background:var(--theme-surface);color:var(--theme-text-soft);font-size:12px;font-weight:800;cursor:pointer}.statistics-secondary-tabs>button:hover{border-color:var(--theme-accent-border);background:var(--theme-surface-soft);color:var(--theme-text)}.statistics-secondary-tabs>button.is-active{border-color:var(--theme-accent);background:var(--theme-accent-soft);color:var(--theme-accent-strong)}.statistics-filter-panel{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--theme-border);background:var(--theme-surface-soft);min-width:0}.statistics-quick-group{display:inline-flex;align-items:center;gap:4px;padding-right:4px;border-right:1px solid var(--theme-border)}.statistics-quick-group>button{height:32px;padding:0 10px;border:1px solid var(--theme-border);border-radius:6px;background:var(--theme-surface);color:var(--theme-text);font-size:12px;font-weight:800;cursor:pointer}.statistics-quick-group>button:hover{border-color:var(--theme-accent-border);background:var(--theme-accent-soft);color:var(--theme-accent-strong)}.statistics-quick-group>button.is-active{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent);box-shadow:0 4px 10px #e862402e}.statistics-filter-field{display:grid;grid-template-columns:auto minmax(130px,150px);align-items:center;min-height:32px;border:1px solid var(--theme-border);background:var(--theme-surface)}.statistics-filter-field span{display:inline-flex;align-items:center;align-self:stretch;padding:0 10px;border-right:1px solid var(--theme-border);background:#f3ede7;color:var(--theme-text-soft);font-size:12px;font-weight:800;white-space:nowrap}.statistics-filter-field input,.statistics-filter-field select{width:100%;min-width:0;height:30px;border:0;padding:0 10px;background:#fff;color:var(--theme-text);font-size:12px;outline:none}.statistics-filter-field.is-period{grid-template-columns:auto minmax(84px,100px)}.statistics-filter-actions{display:inline-flex;align-items:center;gap:6px;margin-left:0;padding-left:8px;border-left:1px solid var(--theme-border)}.statistics-filter-actions>button{height:32px;padding:0 14px;border-radius:6px;border:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-text);font-size:12px;font-weight:900;cursor:pointer}.statistics-filter-actions>button:hover:not(:disabled){border-color:var(--theme-accent-border);background:var(--theme-accent-soft);color:var(--theme-accent-strong);filter:none}.statistics-filter-actions>button.is-primary{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-on-accent)}.statistics-filter-actions>button.is-primary:hover:not(:disabled){border-color:var(--theme-accent-strong);background:var(--theme-accent-strong);color:var(--theme-on-accent)}.statistics-panel-body{display:grid;gap:10px;min-width:0}.statistics-kpi-grid{display:flex;gap:0;flex-wrap:wrap;padding:8px 10px;border:1px solid #d7dee9;background:#fbfcff}.statistics-kpi-grid .management-kpi-card{min-height:0;flex:0 1 auto;display:inline-flex;flex-direction:row;align-items:center;gap:8px;padding:0 13px;border:0;border-right:1px solid #d7dee9;border-radius:0;background:transparent;box-shadow:none}.statistics-kpi-grid .management-kpi-card:last-child{border-right:0}.statistics-kpi-grid .management-kpi-card span{font-size:11px;text-transform:none;letter-spacing:0;color:#64748b}.statistics-kpi-grid .management-kpi-card strong{font-size:13px;color:var(--theme-text);letter-spacing:0}.statistics-content{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.statistics-chart-card{padding:12px}.statistics-chart-card,.statistics-table-card{min-width:0}.statistics-chart-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.statistics-chart-grid.has-two{grid-template-columns:minmax(0,1fr) minmax(320px,.55fr)}.statistics-chart-box{display:grid;gap:8px;min-width:0;padding:10px 12px 12px;border:1px solid #e3d4cc;border-radius:12px;background:#fffdfa}.statistics-chart-title{font-size:11px;font-weight:800;color:var(--theme-text-soft)}.statistics-chart{height:300px;border:1px solid #e8ddd7;border-radius:12px;overflow:hidden}.statistics-ranking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}.statistics-ranking-box{display:grid;gap:8px;min-width:0;padding:8px 10px 10px;border:1px solid #e3d4cc;border-radius:8px;background:#fffdfa}.statistics-ranking-list{display:grid;gap:6px;min-width:0}.statistics-ranking-row{display:grid;grid-template-columns:minmax(96px,.42fr) minmax(76px,auto) minmax(120px,1fr) 42px;align-items:center;gap:8px;min-width:0;padding:2px 0 6px;border-bottom:1px solid #efe3dc;color:var(--theme-text);font-size:12px;font-weight:800}.statistics-ranking-row:last-child{border-bottom:0}.statistics-ranking-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statistics-ranking-row strong{text-align:right;font-size:12px;color:#4f423c;letter-spacing:0}.statistics-ranking-track{position:relative;height:12px;overflow:hidden;border-radius:999px;background:#f0eee9}.statistics-ranking-track i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--theme-accent);box-shadow:inset 0 -1px #5d362429}.statistics-ranking-row em{color:var(--theme-text-soft);font-size:11px;font-style:normal;text-align:right}.statistics-loading{display:flex;align-items:center;justify-content:center;min-height:360px;padding:40px 0}.statistics-pie3d-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0}.statistics-pie3d{height:380px;min-height:380px;background:linear-gradient(180deg,#fff,#fff8f4);box-shadow:inset 0 -10px 18px #5e3d2b12}.statistics-pie3d canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 14px 10px rgba(31,41,55,.14))}.statistics-table-card{padding:0;border-radius:6px;overflow:hidden}.statistics-table-head{margin:0!important;padding:9px 12px!important;background:#fff;border-bottom:1px solid #d7dee9!important}.statistics-table-head h3{font-size:14px!important}.statistics-export-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:0}.statistics-export-actions input{width:180px;height:30px;border-color:#d7dee9;border-radius:4px}.statistics-export-actions button{height:30px;border-radius:4px;border-color:var(--theme-accent);color:var(--theme-accent-strong);background:var(--theme-surface)}.statistics-export-actions button:hover:not(:disabled){background:var(--theme-accent-soft);border-color:var(--theme-accent-strong);color:var(--theme-accent-strong)}.statistics-export-actions button:disabled{border-color:var(--theme-border);color:var(--theme-text-soft);background:#f3ede7}.statistics-table-wrap{width:100%;max-width:100%;overflow:auto;border:0}.statistics-table{min-width:960px;font-size:12px}.statistics-table thead th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#0f172a;border-bottom:1px solid #d7dee9}.statistics-table thead th.is-group{background:#f3ede7;color:#5f514b;text-align:center;font-weight:900}.statistics-table thead tr:nth-child(2) th{background:#fbf7f3;top:30px}.statistics-table thead th[rowspan="2"]{vertical-align:middle}.statistics-table th,.statistics-table td{border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:8px 10px}.statistics-table th:last-child,.statistics-table td:last-child{border-right:0}.statistics-pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-top:1px solid #e2e8f0;background:#fff;font-size:12px;color:var(--theme-text-soft)}.statistics-pager button{height:26px;padding:0 10px;border-radius:6px;font-size:11px;font-weight:700}@media (max-width: 1280px){.statistics-page{padding:10px}.statistics-kpi-grid{overflow-x:auto;flex-wrap:nowrap}.statistics-chart-grid.has-two,.statistics-ranking-grid{grid-template-columns:minmax(0,1fr)}.statistics-filter-actions{margin-left:0}}@media (max-width: 900px){.statistics-page-head{align-items:flex-start;flex-direction:column}.statistics-current-range{width:100%;justify-content:center;border-radius:6px}.statistics-filter-panel{display:grid;grid-template-columns:minmax(0,1fr)}.statistics-quick-group{border-right:0;padding-right:0;overflow-x:auto}.statistics-filter-field,.statistics-filter-field.is-period{grid-template-columns:72px minmax(0,1fr)}.statistics-filter-actions{display:grid;grid-template-columns:1fr 1fr;padding-left:0;padding-top:8px;border-left:0;border-top:1px solid #e2e8f0}.statistics-chart{height:240px}.statistics-ranking-row{grid-template-columns:minmax(84px,.5fr) minmax(70px,auto) minmax(80px,1fr) 38px}.statistics-pie3d-layout{grid-template-columns:minmax(0,1fr)}.statistics-pie3d{height:300px;min-height:300px}.statistics-loading{min-height:300px}.statistics-table{min-width:820px}.statistics-table-head{align-items:flex-start;flex-direction:column}.statistics-export-actions{justify-content:flex-start;width:100%}.statistics-export-actions input{width:min(100%,260px)}}.statistics-workspace{overflow:hidden;gap:0;padding:0}.statistics-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--theme-border);background:linear-gradient(135deg,var(--theme-accent-soft),var(--theme-surface) 62%)}.statistics-workspace-title{display:flex;align-items:center;gap:10px;min-width:0}.statistics-workspace-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;color:var(--theme-accent);border:1px solid var(--theme-accent-border);border-radius:11px;background:var(--theme-surface)}.statistics-workspace-title p{margin:0 0 2px;color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.03em}.statistics-workspace-title h2{margin:0;color:var(--theme-text);font-size:18px;line-height:1.25}.statistics-workspace-title>div>span{display:block;margin-top:3px;color:var(--theme-text-soft);font-size:11px}.statistics-workspace .statistics-current-range{min-height:30px;color:var(--theme-accent);border-color:var(--theme-accent-border);background:var(--theme-surface);font-size:11px}.statistics-workspace-body{display:grid;gap:14px;padding:14px}.statistics-workspace .statistics-tabs-wrap{padding:4px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.statistics-workspace .statistics-primary-tabs{gap:4px}.statistics-workspace .statistics-primary-tabs>button{min-height:32px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--theme-text-soft)}.statistics-workspace .statistics-primary-tabs>button.is-active{color:var(--theme-accent);border:0;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.statistics-workspace .statistics-secondary-tabs{padding:0}.statistics-workspace .statistics-filter-panel{padding:12px;border-color:var(--theme-border);border-radius:12px;background:var(--theme-surface-soft);box-shadow:var(--ui-shadow-1)}.statistics-workspace .statistics-quick-group{padding:3px;border:1px solid var(--theme-border);border-radius:8px;background:var(--theme-surface)}.statistics-workspace .statistics-quick-group>button{height:30px;border:0;border-radius:6px;background:transparent;color:var(--theme-text-soft)}.statistics-workspace .statistics-quick-group>button.is-active{color:var(--theme-on-accent);background:var(--theme-accent);box-shadow:none}.statistics-workspace .statistics-filter-field{border-color:var(--theme-border);border-radius:8px;overflow:hidden}.statistics-workspace .statistics-filter-field span{background:var(--theme-surface)}.statistics-workspace .statistics-filter-actions{border-left:0;padding-left:0}.statistics-workspace .statistics-filter-actions>button{height:34px;border-radius:8px;font-weight:800}.statistics-workspace .statistics-kpi-grid{gap:0;padding:9px 10px;border-color:var(--theme-border);border-radius:10px;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.statistics-workspace .statistics-kpi-grid .management-kpi-card{min-height:28px;padding:0 14px}.statistics-workspace .statistics-kpi-grid .management-kpi-card span{color:var(--theme-text-soft)}.statistics-workspace .statistics-kpi-grid .management-kpi-card strong{color:var(--theme-text);font-size:14px}.statistics-workspace .statistics-panel-body{gap:14px}.statistics-workspace .statistics-chart-card,.statistics-workspace .statistics-table-card{border-color:var(--theme-border);border-radius:12px;box-shadow:var(--ui-shadow-1)}.statistics-workspace .statistics-chart-card{padding:14px}.statistics-workspace .statistics-chart-card .section-head{min-height:34px;margin:0 0 10px;padding:0 0 9px 9px;border-bottom:1px solid var(--theme-border);border-left:3px solid var(--theme-accent)}.statistics-workspace .statistics-chart-card .section-head h3{color:var(--theme-text);font-size:14px}.statistics-workspace .statistics-chart-box{padding:12px;border-color:var(--theme-border);background:var(--theme-surface)}.statistics-workspace .statistics-chart-title{padding-left:8px;border-left:3px solid var(--theme-accent);color:var(--theme-text-soft)}.statistics-workspace .statistics-chart{border-color:var(--theme-border);background:var(--theme-surface)}.statistics-workspace .statistics-table-card{padding:0;overflow:hidden}.statistics-workspace .statistics-table-head{padding:12px 14px!important;background:var(--theme-surface);border-bottom-color:var(--theme-border)!important}.statistics-workspace .statistics-table-head h3{padding-left:8px;border-left:3px solid var(--theme-accent);color:var(--theme-text)}.statistics-workspace .statistics-table thead th{background:var(--theme-surface-soft);color:var(--theme-text-soft);border-color:var(--theme-border)}.statistics-workspace .statistics-table td{border-color:var(--theme-border)}@media (max-width: 900px){.statistics-workspace-hero{align-items:flex-start;flex-direction:column;padding:14px}.statistics-workspace .statistics-current-range{width:100%;justify-content:center}.statistics-workspace-body{padding:12px}}.statistics-workspace{background:var(--theme-surface)}.statistics-workspace-body{gap:12px}.statistics-workspace .statistics-tabs-wrap{justify-self:start;width:auto;max-width:100%}.statistics-workspace .statistics-tabs-wrap,.statistics-workspace .statistics-secondary-tabs{box-sizing:border-box;min-height:42px}.statistics-workspace .statistics-primary-tabs>button,.statistics-workspace .statistics-secondary-tabs>button{height:32px;min-height:32px}.statistics-workspace .statistics-secondary-tabs{justify-self:start;gap:4px;padding:4px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.statistics-workspace .statistics-secondary-tabs>button{border:0;border-radius:7px;background:transparent;color:var(--theme-text-soft)}.statistics-workspace .statistics-secondary-tabs>button.is-active{color:var(--theme-accent);border:0;background:var(--theme-surface);box-shadow:var(--ui-shadow-1)}.statistics-workspace .statistics-filter-panel{gap:6px;padding:9px}.statistics-workspace .statistics-filter-field{min-height:30px}.statistics-workspace .statistics-filter-field input,.statistics-workspace .statistics-filter-field select{height:29px}.statistics-workspace .statistics-kpi-grid{padding:0;overflow:hidden;background:var(--theme-surface)}.statistics-workspace .statistics-kpi-grid .management-kpi-card{min-height:48px;gap:4px;padding:7px 14px}.statistics-workspace .statistics-kpi-grid .management-kpi-card span{font-size:10px;font-weight:700}.statistics-workspace .statistics-kpi-grid .management-kpi-card strong{font-size:15px;font-weight:800}.statistics-workspace .statistics-chart-card,.statistics-workspace .statistics-table-card{box-shadow:none}.statistics-workspace .statistics-chart-card{padding:13px;background:var(--theme-surface)}.statistics-workspace .statistics-chart-card .section-head,.statistics-workspace .statistics-table-head{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:44px;min-height:44px;margin:0 0 10px!important;padding:0 12px 0 10px!important;border-top:0!important;border-right:0!important;border-bottom:1px solid var(--theme-border)!important;border-left:3px solid var(--theme-accent)!important;background:transparent!important}.statistics-workspace .statistics-chart-card .section-head h3,.statistics-workspace .statistics-table-head h3{display:block;margin:0;padding:0!important;color:var(--theme-text)!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:14px!important;line-height:1.2}.statistics-workspace .statistics-chart-grid{gap:0}.statistics-workspace .statistics-chart-box{gap:7px;padding:0;border:0;border-radius:0;background:transparent}.statistics-workspace .statistics-chart-title{margin:0;padding:0 0 0 9px;border-left:3px solid var(--theme-accent-border);color:var(--theme-text-soft);font-size:11px}.statistics-workspace .statistics-chart{height:275px;padding:8px 6px 4px;border-radius:10px;background:#fff}.statistics-workspace .statistics-pie3d{height:315px;min-height:315px}.statistics-workspace .statistics-ranking-grid{gap:10px}.statistics-workspace .statistics-ranking-box{padding:10px;border-color:var(--theme-border);border-radius:10px;background:var(--theme-surface-soft)}.statistics-workspace .statistics-table-card{padding:13px;background:var(--theme-surface)}.statistics-workspace .statistics-table-head{margin-bottom:10px!important}.statistics-workspace .statistics-table-head .statistics-export-actions{align-self:center;min-height:32px}.statistics-workspace .statistics-table-head .statistics-export-actions>button{height:30px;min-height:30px;display:inline-flex;align-items:center;justify-content:center}.statistics-workspace .statistics-table-wrap{overflow:auto;border:1px solid var(--theme-border);border-radius:10px 10px 0 0;background:var(--theme-surface)}.statistics-workspace .statistics-table th,.statistics-workspace .statistics-table td{padding:7px 10px}.statistics-workspace .statistics-table tbody tr:hover td{background:var(--theme-accent-soft)}.statistics-workspace .statistics-pager{padding:9px;border:1px solid var(--theme-border);border-top:0;border-radius:0 0 10px 10px;background:var(--theme-surface-soft)}@media (max-width: 900px){.statistics-workspace .statistics-chart{height:230px}.statistics-workspace .statistics-pie3d{height:270px;min-height:270px}}
