@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.w-100{width:calc(var(--spacing) * 100)}.flex-shrink{flex-shrink:1}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{overflow-x:hidden}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}body{font-family:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color:#1c1917;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01", "ss03";background:#fafaf9;font-size:14px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-family:inherit;font-weight:700}button{cursor:pointer;font-family:inherit}a{color:#0f766e;text-decoration:none}a:hover{text-decoration:none}.text-link{color:#0f766e;text-decoration:none;transition:color .15s}.text-link:hover{color:#115e59;text-decoration:underline}input,textarea,select{color:inherit;font-family:inherit;font-size:14px}@media (max-width:768px){input,textarea,select{font-size:16px}}.topbar{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(14px);background:#ffffffd9;border-bottom:1px solid #e7e5e4;position:sticky;top:0;box-shadow:0 1px 3px #0f172a0a,0 1px 2px #0f172a05}.topbar-inner{padding:12px 22px;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-left:calc(22px + env(safe-area-inset-left,0px));padding-right:calc(22px + env(safe-area-inset-right,0px));align-items:center;gap:12px;display:flex}.brand{color:inherit;align-items:center;gap:12px;display:flex}.brand-icon{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#064e3b 100%);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative;box-shadow:0 4px 12px #0f766e52,0 1px 3px #0f766e2e,inset 0 1px #ffffff2e}.brand-icon:after{content:"";pointer-events:none;background:linear-gradient(#ffffff29 0%,#0000 50%);border-radius:11px;position:absolute;inset:0}.brand-text h1{color:#0f1419;letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1.1}.brand-text p{color:#78716c;letter-spacing:.02em;margin:3px 0 0;font-size:11px;font-weight:500}@media (max-width:720px){.brand-text p{display:none}}.topnav{background:#f5f5f4;border:1px solid #ececec;border-radius:11px;flex:1;gap:4px;max-width:fit-content;margin-left:22px;padding:4px;display:flex}.topnav-link{color:#57534e;border-radius:8px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .18s;display:flex;position:relative}.topnav-link svg{transition:transform .18s}.topnav-link:hover{color:#115e59;background:#ffffffb3}.topnav-link:hover svg{transform:scale(1.05)}.topnav-link.active{color:#115e59;background:#fff;font-weight:600;box-shadow:0 1px 3px #0f766e2e,0 0 0 1px #0f766e1f}.topnav-link.active svg{color:#0f766e}@media (max-width:720px){.topnav-link span{display:none}}.topbar-actions{align-items:center;gap:8px;display:flex}.icon-btn{color:#44403c;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.icon-btn:hover{background:#f5f5f4}.avatar{color:#fff;background:linear-gradient(135deg,#14b8a6 0%,#0f766e 100%);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 6px #0f766e40,inset 0 1px #ffffff2e}.user-menu{position:relative}.dropdown{z-index:40;background:#fff;border:1px solid #e7e5e4;border-radius:8px;min-width:180px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000014}.dropdown-header{color:#1c1917;border-bottom:1px solid #e7e5e4;padding:10px 14px;font-size:13px;font-weight:500}.dropdown-item{color:#1c1917;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 14px;font-size:13px;display:block}.dropdown-item:hover{background:#f5f5f4;text-decoration:none}.btn{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0f766e;box-shadow:0 2px 6px #0f766e40}.btn-primary:hover{color:#fff;background:linear-gradient(135deg,#115e59 0%,#134e4a 100%);border-color:#134e4a;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 10px #0f766e59}.btn-secondary{color:#44403c;background:#fff;border-color:#d6d3d1}.btn-secondary:hover{color:#44403c;background:#fafaf9;text-decoration:none}.btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.btn-danger:hover{background:#b91c1c}.btn-ghost{color:#44403c;background:0 0;border-color:#0000}.btn-ghost:hover{background:#f5f5f4}.btn-block{justify-content:center;width:100%;padding:10px}.btn-lg{padding:10px 20px;font-size:14px}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-inner,.admin-inner{max-width:1200px;margin:0 auto;padding:24px 20px 40px}@media (max-width:640px){.dashboard-inner,.admin-inner{padding:16px 12px 40px}}.page-head{margin-bottom:24px}.page-title{color:#1c1917;font-size:26px}.page-sub{color:#78716c;margin-top:4px;font-size:13px}.stat-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}@media (max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:18px;transition:all .18s;box-shadow:0 1px 3px #0f172a0a}.stat-card:not(.loading):hover{border-color:#c7e5e1;box-shadow:0 4px 12px #0f766e14,0 1px 3px #0f766e0a}.stat-card.loading .stat-value{color:#d6d3d1}.stat-title{text-transform:uppercase;letter-spacing:.08em;color:#78716c;font-size:11px;font-weight:600}.stat-value{color:#115e59;font-feature-settings:"tnum";letter-spacing:-.01em;margin-top:6px;font-size:30px;font-weight:700}.stat-note{color:#a8a29e;margin-top:2px;font-size:11px}.stat-card.clickable{cursor:pointer;transition:all .15s}.stat-card.clickable:hover{border-color:#0f766e;transform:translateY(-1px);box-shadow:0 4px 12px #0f766e14}.income-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}@media (max-width:700px){.income-grid{grid-template-columns:1fr}}.income-card{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#064e3b 100%);border-radius:14px;padding:20px 22px;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f766e40,0 2px 4px #0f766e26,inset 0 1px #ffffff1f}.income-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff14 0%,#0000 70%);width:200px;height:200px;position:absolute;top:-50%;right:-20%}.income-title{opacity:.8;font-size:12px;font-weight:500}.income-value{font-feature-settings:"tnum";letter-spacing:-.01em;margin-top:6px;font-size:26px;font-weight:700}.income-breakdown{opacity:.75;margin-top:4px;font-size:11px}.missed-box{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:18px;padding:14px 18px}.missed-title{color:#991b1b;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.missed-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.missed-item{color:#1c1917;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:background .12s;display:inline-flex}.missed-item:hover{background:#fef2f2}.card-section{background:#fff;border:1px solid #e7e5e4;border-radius:14px;padding:22px;box-shadow:0 4px 12px #0f172a0a,0 1px 3px #0f172a08}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{color:#1c1917;font-size:18px}.appt-list{gap:8px;margin-top:10px;display:grid}.appt-item{cursor:pointer;background:#fafaf9;border:1px solid #e7e5e4;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;transition:all .12s;display:flex}.appt-item:hover{background:#fff;border-color:#0f766e;transform:translate(2px)}.appt-time{color:#854d0e;background:#fef3c7;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.appt-time.afternoon{color:#1e40af;background:#dbeafe}.appt-name{flex:1;font-weight:500}.appt-meta{color:#78716c;font-size:12px}.appt-type{color:#57534e;text-transform:uppercase;background:#e7e5e4;border-radius:3px;padding:2px 6px;font-size:10px}.appt-type.first{color:#166534;background:#dcfce7}.appt-type.return{color:#854d0e;background:#fef3c7}.layout{min-height:calc(100vh - 57px);display:flex}.sidebar{background:#fff;border-right:1px solid #e7e5e4;flex-direction:column;flex-shrink:0;width:300px;height:calc(100vh - 57px);display:flex;position:sticky;top:57px;overflow:hidden}.sidebar-search{border-bottom:1px solid #e7e5e4;padding:12px;position:relative}.sidebar-search svg{color:#a8a29e;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.sidebar-search input{background:#fff;border:1px solid #d6d3d1;border-radius:6px;width:100%;padding:8px 10px 8px 34px}.sidebar-search input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.sidebar-meta{color:#78716c;border-bottom:1px solid #f5f5f4;padding:8px 14px;font-size:11px}.sidebar-list{flex:1;overflow-y:auto}.sidebar-footer{background:#fafaf9;border-top:1px solid #e7e5e4;padding:12px}.patient-item{text-align:left;cursor:pointer;background:0 0;border-top:none;border-bottom:1px solid #f5f5f4;border-left:2px solid #0000;border-right:none;align-items:center;gap:10px;width:100%;padding:10px 14px;transition:background .12s,border-color .12s;display:flex}.patient-item:hover{background:#fafaf9}.patient-item.active{background:linear-gradient(90deg,#f0fdfa 0%,#ccfbf1 100%);border-left-width:3px;border-left-color:#0f766e}.patient-item-avatar{color:#57534e;background:#e7e5e4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.patient-item.active .patient-item-avatar{color:#fff;background:#0f766e}.patient-item-info{flex:1;min-width:0}.patient-item-name{color:#1c1917;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.patient-item-sub{color:#78716c;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.patient-item-visits{color:#57534e;background:#e7e5e4;border-radius:10px;flex-shrink:0;padding:2px 6px;font-size:10px}.patient-item.active .patient-item-visits{color:#065f46;background:#a7f3d0}.empty-hint{text-align:center;color:#a8a29e;padding:20px 16px;font-size:13px}.backdrop{z-index:20;background:#1c191766;display:none;position:fixed;inset:0}.main{flex:1;min-width:0}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 57px);padding:32px;display:flex}.empty-icon{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#134e4a 100%);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:20px;display:flex;box-shadow:0 8px 24px #115e5933}.empty-state h2{color:#1c1917;font-size:26px}.empty-state p{color:#78716c;margin:8px 0 24px}.patient-view{max-width:1100px;margin:0 auto;padding:20px 16px 40px}.patient-header{background:linear-gradient(135deg,#fff 0%,#f0fdfa 100%);border:1px solid #c7e5e1;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;padding:22px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f766e14,0 2px 4px #0f766e0a,0 0 0 1px #0f766e0a}.patient-header:before{content:"";background:linear-gradient(90deg,#0f766e 0%,#14b8a6 50%,#0f766e 100%);height:4px;position:absolute;top:0;left:0;right:0}.patient-header-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.patient-close{color:#57534e;cursor:pointer;background:#ffffffd9;border:1px solid #e7e5e4;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:16px;font-weight:600;line-height:1;transition:all .15s;display:flex}.patient-close:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca;transform:scale(1.05)}.card-no-label{letter-spacing:.1em;text-transform:uppercase;color:#0f766e;font-size:10px;font-weight:600}.card-no{font-family:var(--font-mono), ui-monospace, "SF Mono", Consolas, monospace;color:#57534e;margin-top:2px;font-size:14px}.patient-name{color:#1c1917;margin-top:6px;font-size:22px}.patient-meta{color:#78716c;margin:4px 0 0;font-size:13px}.patient-tabs{scrollbar-width:thin;border-bottom:2px solid #e7e5e4;gap:2px;margin-bottom:18px;display:flex;overflow-x:auto}.patient-tabs::-webkit-scrollbar{height:3px}.patient-tabs::-webkit-scrollbar-thumb{background:#d6d3d1;border-radius:3px}.ptab{white-space:nowrap;color:#78716c;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:11px 16px;font-size:13.5px;font-weight:500;transition:all .18s;display:flex}.ptab:hover{color:#115e59;background:#0f766e0a;border-radius:6px 6px 0 0}.ptab.active{color:#115e59;background:linear-gradient(#0000 0%,#0f766e0d 100%);border-bottom-color:#0f766e;font-weight:600}.patient-panel{background:#fff;border:1px solid #e7e5e4;border-radius:14px;padding:26px;display:none;box-shadow:0 4px 12px #0f172a0a,0 1px 3px #0f172a08}.patient-panel.active{display:block}@media (max-width:640px){.patient-panel{border-radius:12px;padding:18px}}.visits-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.visits-list{flex-direction:column;gap:8px;display:flex}.visit-card{cursor:pointer;background:#fafaf9;border:1px solid #e7e5e4;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;transition:all .12s;display:flex}.visit-card:hover{background:#fff;border-color:#0f766e}.visit-card.scheduled{background:#fffbeb;border-left:3px solid #f59e0b}.visit-date{color:#1c1917;min-width:100px;font-size:13px;font-weight:600;font-family:var(--font-mono), ui-monospace, "SF Mono", Consolas, monospace}.visit-info{flex:1;min-width:0}.visit-diag{color:#57534e;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.visit-actions{gap:6px;display:flex}.visit-editor{background:#fff;border:1px solid #c7e5e1;border-radius:16px;margin-bottom:18px;padding:24px;position:relative;box-shadow:0 8px 24px #0f766e14,0 2px 4px #0f766e0d,0 0 0 1px #0f766e0a}.visit-editor:before{content:"";background:linear-gradient(90deg,#0f766e 0%,#14b8a6 50%,#0f766e 100%);border-top-left-radius:16px;border-top-right-radius:16px;height:4px;position:absolute;top:0;left:0;right:0}.visit-editor-head{border-bottom:1px solid #e7e5e4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;display:flex}.visit-editor-head h3{color:#115e59;font-size:19px}.visit-tabs{background:#f1efed;border:1px solid #e7e5e4;border-radius:10px;gap:2px;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.vtab{color:#57534e;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 14px;font-size:12.5px;font-weight:500;transition:all .18s}.vtab:hover{color:#115e59;background:#fff9}.vtab.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);font-weight:600;box-shadow:0 2px 6px #0f766e40,0 1px 2px #0f766e26}.vpanel{display:none}.vpanel.active{display:block}.section-head{border-bottom:1px solid #e7e5e4;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:10px;display:flex}.section-head-icon{color:#0f766e;background:#f0fdfa;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.section-head h3{color:#1c1917;font-size:17px}.section-head p{color:#78716c;margin:2px 0 0;font-size:11px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.form-grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.form-grid-full{grid-column:1/-1}@media (max-width:640px){.form-grid,.form-grid-3{grid-template-columns:1fr}}.field{display:block}.field>span,.field-label{text-transform:uppercase;letter-spacing:.08em;color:#57534e;margin-bottom:5px;font-size:10px;font-weight:600;display:block}.field input[type=text],.field input[type=number],.field input[type=tel],.field input[type=date],.field input[type=time],.field input[type=datetime-local],.field input[type=email],.field input[type=password],.field textarea,.field select,.input-std{background:#fff;border:1px solid #d6d3d1;border-radius:8px;width:100%;padding:9px 12px;font-size:16px;transition:all .15s}.field textarea{resize:vertical;min-height:68px}.field input:hover,.field textarea:hover,.field select:hover,.input-std:hover{border-color:#a8a29e}.field input:focus,.field textarea:focus,.field select:focus,.input-std:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e26}.radio-group{flex-wrap:wrap;gap:16px;padding:6px 0;display:flex}.radio-label{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}.radio-label input[type=radio]{accent-color:#0f766e;width:16px;height:16px}.segmented{background:#f1efed;border:1px solid #e7e5e4;border-radius:10px;gap:4px;padding:4px;display:flex}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label{text-align:center;color:#57534e;cursor:pointer;border-radius:7px;flex:1;padding:8px 12px;font-size:13px;font-weight:500;transition:all .18s}.segmented label:hover{color:#115e59;background:#fff9}.segmented input:checked+label{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);font-weight:600;transform:translateY(-.5px);box-shadow:0 2px 6px #0f766e40,0 1px 2px #0f766e26}.reg-group{align-items:center;gap:6px;display:flex}.reg-group select{flex-shrink:0;width:70px;padding:8px 6px}.reg-group input{font-family:var(--font-mono), ui-monospace, "SF Mono", Consolas, monospace;letter-spacing:.05em;flex:1}.check-list{gap:2px;display:grid}.check-list-2{grid-template-columns:repeat(2,1fr);column-gap:16px}@media (max-width:640px){.check-list-2{grid-template-columns:1fr}}.check-item{cursor:pointer;align-items:flex-start;gap:8px;padding:5px 0;display:flex;position:relative}.check-item input{opacity:0;position:absolute}.check-box{background:#fff;border:2px solid #d6d3d1;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;transition:background .12s,border-color .12s;display:flex}.check-item input:checked+.check-box{background:#0f766e;border-color:#0f766e}.check-item input:checked+.check-box:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;transform:rotate(45deg)translateY(-1px)}.check-text{color:#44403c;font-size:13.5px;line-height:1.4}.pill-group{flex-wrap:wrap;gap:8px;display:flex}.pill{color:#44403c;cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .18s}.pill:hover:not(.active){color:#0f766e;background:#f0fdfa;border-color:#0f766e}.pill.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0f766e;box-shadow:0 2px 6px #0f766e4d}.med-searchbox{margin-bottom:10px;position:relative}.med-searchbox input{border:1px solid #d6d3d1;border-radius:8px;width:100%;padding:9px 14px 9px 34px}.med-searchbox svg{color:#a8a29e;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.med-list-container{background:#fff;border:1px solid #e7e5e4;border-radius:8px;max-height:260px;overflow-y:auto}.med-option{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f5f5f4;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex}.med-option:last-child{border-bottom:none}.med-option:hover{background:#f5f5f4}.med-option.selected{color:#115e59;background:#f0fdfa}.med-option-name{flex:1;font-size:13px;font-weight:500}.med-option-cn{color:#78716c;font-size:12px}.med-option-price{color:#0f766e;white-space:nowrap;font-size:12px;font-weight:600}.selected-meds-title{text-transform:uppercase;letter-spacing:.08em;color:#57534e;justify-content:space-between;align-items:center;margin:18px 0 8px;font-size:11px;font-weight:600;display:flex}.meds-total-sum{color:#115e59;text-transform:none;font-feature-settings:"tnum";letter-spacing:-.01em;font-size:16px;font-weight:700}.selected-meds-wrap{flex-direction:column;display:flex}.selected-meds-header{z-index:5;color:#44403c;text-transform:uppercase;letter-spacing:.04em;background:#f5f5f4;border:1px solid #e7e5e4;border-bottom:2px solid #d6d3d1;border-radius:8px 8px 0 0;grid-template-columns:1fr;gap:8px;margin-bottom:-1px;padding:10px 12px 8px;font-size:11px;font-weight:700;display:grid;position:sticky;top:0}.selected-meds-header-name{display:none}.selected-meds-header-cols{grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.4fr);gap:6px;display:grid}.selected-meds-header-cols>div{padding:0 4px}@media (max-width:700px){.selected-meds-header{display:none}}.selected-med{background:#fff;border:1px solid #e7e5e4;border-radius:8px;margin-bottom:10px;padding:12px;overflow:hidden}.selected-meds-wrap .selected-med:first-of-type{border-top-left-radius:0;border-top-right-radius:0}.selected-med-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.selected-med-name{font-size:13.5px;font-weight:500}.selected-med-cn{color:#78716c;font-size:12px}.selected-med-remove{cursor:pointer;color:#a8a29e;background:0 0;border:none;border-radius:4px;padding:4px}.selected-med-remove:hover{color:#dc2626;background:#fef2f2}.selected-med-inputs{grid-template-columns:minmax(0,1.8fr) minmax(0,1.6fr) minmax(0,1.8fr) minmax(0,1.1fr) minmax(0,1.3fr);gap:6px;display:grid}.qty-stepper{align-items:stretch;gap:2px;min-width:0;display:flex}.qty-stepper input{text-align:center;flex:1;min-width:0;padding:7px 4px!important}.qty-btn{color:#57534e;cursor:pointer;background:#fafaf9;border:1px solid #d6d3d1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:24px;padding:0 4px;font-size:13px;font-weight:700;transition:all .1s;display:flex}.qty-btn-frac{color:#0f766e;min-width:28px;font-size:10px}.qty-btn:hover{color:#0f766e;background:#f0fdfa;border-color:#0f766e}.qty-btn:active{background:#ccfbf1;transform:scale(.95)}.selected-med-inputs>*{min-width:0}.selected-med-inputs input{background:#fff;border:1px solid #d6d3d1;border-radius:6px;width:100%;padding:7px 10px;font-size:13px;transition:border-color .12s,box-shadow .12s}.selected-med-inputs input:hover{border-color:#a8a29e}.selected-med-inputs input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}@media (max-width:700px){.selected-med-inputs{grid-template-columns:1fr 1fr}}.selected-med-amount{color:#115e59;text-align:right;font-feature-settings:"tnum";letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;align-self:center;font-weight:600;overflow:hidden}.diag-wrapper{position:relative}.diag-dropdown{z-index:50;background:#fff;border:1px solid #e7e5e4;border-radius:8px;max-height:260px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #00000014}.diag-item{cursor:pointer;border-bottom:1px solid #f5f5f4;padding:8px 12px;font-size:13px}.diag-item:last-child{border-bottom:none}.diag-item:hover{background:#f0fdfa}.diag-item-cn{color:#78716c;margin-left:6px;font-size:11px}.diag-item-code{color:#0f766e;min-width:50px;font-family:var(--font-mono);text-align:center;background:#ccfbf1;border-radius:4px;margin-right:8px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.diag-item-add{color:#854d0e;cursor:pointer;background:#fefce8;border-top:1px solid #fef3c7;padding:8px 12px;font-size:13px}.days-toolbar{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.days-list{flex-direction:column;gap:10px;display:flex}.day-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;transition:all .18s;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.day-card:hover{border-color:#c7e5e1;box-shadow:0 4px 12px #0f766e0f}.day-card.expanded{border-color:#c7e5e1;box-shadow:0 4px 12px #0f766e14}.day-header{cursor:pointer;background:#fafaf9;border-bottom:1px solid #0000;align-items:center;gap:10px;padding:12px 14px;transition:background .12s;display:flex}.day-header:hover{background:#f5f5f4}.day-card.expanded .day-header{border-bottom-color:#e7e5e4}.day-chevron{color:#78716c;flex-shrink:0;transition:transform .15s}.day-card.expanded .day-chevron{transform:rotate(90deg)}.day-date{color:#1c1917;margin-right:8px;font-size:14px;font-weight:600}.day-summary{color:#78716c;flex:1;font-size:12px}.day-remove{color:#a8a29e;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px}.day-remove:hover{color:#dc2626;background:#fef2f2}.day-body{padding:16px 18px;display:none}.day-card.expanded .day-body{display:block}.day-subhead{text-transform:uppercase;letter-spacing:.08em;color:#57534e;justify-content:space-between;align-items:center;margin:16px 0 6px;font-size:11px;font-weight:600;display:flex}.day-subhead:first-child{margin-top:0}.np-table-wrapper{margin:0 -6px;padding:0 6px;overflow-x:auto}.np-table{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}.np-table th{text-align:left;color:#57534e;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e7e5e4;padding:8px 6px;font-size:11px;font-weight:600}.np-table td{vertical-align:middle;border-bottom:1px solid #f5f5f4;padding:4px}.np-table td input,.np-table td select{background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:6px 8px;font-size:13px}.np-table td input:hover,.np-table td select:hover{background:#fff;border-color:#e7e5e4}.np-table td input:focus,.np-table td select:focus{background:#fff;border-color:#0f766e;outline:none;box-shadow:0 0 0 2px #0f766e1a}.np-num{color:#a8a29e;text-align:center;width:34px;font-weight:600}.np-col-date{width:140px}.np-col-dur{width:90px}.np-col-bp{width:80px}.np-col-actions{text-align:center;width:40px}.np-remove-row{color:#a8a29e;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.np-remove-row:hover{color:#dc2626;background:#fef2f2}.sheet-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px;display:grid}.sheet-thumb{aspect-ratio:1;cursor:pointer;background:#f5f5f4;border:1px solid #e7e5e4;border-radius:8px;position:relative;overflow:hidden}.sheet-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.sheet-thumb:hover img{transform:scale(1.05)}.sheet-thumb-remove{color:#dc2626;cursor:pointer;opacity:0;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.sheet-thumb:hover .sheet-thumb-remove{opacity:1}.sheet-upload{aspect-ratio:1;color:#78716c;cursor:pointer;background:#fafaf9;border:2px dashed #d6d3d1;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;transition:all .15s;display:flex}.sheet-upload:hover{color:#0f766e;background:#f0fdfa;border-color:#0f766e}.sheet-upload input{display:none}.sheet-upload svg{margin-bottom:4px}.sheet-upload span{text-align:center;font-size:11px;font-weight:500}.lightbox{z-index:200;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:100%;max-height:100%}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:34px;display:flex;position:absolute;top:16px;right:20px}.lightbox-close:hover{background:#ffffff26}.payment-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.payment-row{background:#fafaf9;border:1px solid #e7e5e4;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.payment-method{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.payment-method.card{color:#1e40af;background:#dbeafe}.payment-method.cash{color:#166534;background:#dcfce7}.payment-method.bank{color:#854d0e;background:#fef3c7}.payment-category{letter-spacing:.03em;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.payment-category.cat-exam{color:#3730a3;background:#e0e7ff}.payment-category.cat-massage{color:#9f1239;background:#fce7f3}.payment-category.cat-medicine{color:#065f46;background:#d1fae5}.payment-amount{color:#115e59;font-feature-settings:"tnum";letter-spacing:-.01em;font-size:14px;font-weight:700}.payment-when{color:#78716c;flex:1;font-size:12px}.payment-note{color:#44403c;font-size:12px;font-style:italic}.payment-totals{background:#f0fdfa;border-radius:8px;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;padding:14px;display:grid}.ptot-label{text-transform:uppercase;letter-spacing:.08em;color:#115e59;font-size:11px;font-weight:600}.ptot-value{color:#115e59;font-feature-settings:"tnum";letter-spacing:-.01em;font-size:22px;font-weight:700}.consent-box{color:#44403c;background:#fafaf9;border-radius:8px;padding:16px;font-size:13.5px;line-height:1.6}.finance-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.finance-stat-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:16px}.finance-stat-card.balance{color:#fff;background:linear-gradient(135deg,#dc2626 0%,#991b1b 100%);border:none}.finance-stat-card.interest{color:#fff;background:linear-gradient(135deg,#d97706 0%,#92400e 100%);border:none}.finance-stat-card.closed{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border:none}.finance-stat-card .finance-stat-label{opacity:.9;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.finance-stat-card .finance-stat-value{letter-spacing:-.02em;margin-top:4px;font-size:28px;font-weight:800}.finance-stat-card .finance-stat-meta{opacity:.85;margin-top:2px;font-size:12px}.loan-list{flex-direction:column;gap:10px;display:flex}.loan-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #e7e5e4;border-radius:12px;width:100%;padding:14px;transition:all .15s}.loan-card:hover{border-color:#0f766e;transform:translateY(-1px);box-shadow:0 4px 12px #0f766e1a}.loan-card.closed{opacity:.65}.loan-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.loan-card-lender{color:#1c1917;font-size:15px;font-weight:700}.loan-card-purpose{color:#78716c;margin-top:2px;font-size:12px}.loan-card-body{border-top:1px solid #f5f5f4;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;padding-top:12px;display:grid}.loan-stat-label{color:#78716c;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.loan-stat-value{color:#1c1917;margin-top:2px;font-size:16px;font-weight:700}.loan-stat-value.primary{color:#dc2626;font-size:18px}.loan-stat-sub{color:#a8a29e;margin-top:1px;font-size:11px}.loan-detail-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:4px;display:grid}.loan-stat-card{background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;padding:12px}.loan-stat-card.primary{background:#fef2f2;border-color:#fecaca}.loan-stat-card .loan-stat-value{font-size:18px}.loan-stat-card.primary .loan-stat-value{color:#dc2626;font-size:20px}.consent-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:14px;display:grid}.consent-col{min-width:0}@media (max-width:900px){.consent-grid{grid-template-columns:1fr;gap:16px}}.modal-backdrop{z-index:100;background:#1c191780;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:auto;box-shadow:0 20px 40px #0003}.modal.modal-wide{max-width:1100px}.modal.modal-fullscreen{max-width:96vw;max-height:96vh}.modal-body{padding:24px}.modal-icon{color:#dc2626;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:14px;display:flex}.modal-icon.info{color:#1e40af;background:#dbeafe}.modal h3{margin-bottom:6px;font-size:18px}.modal p{color:#57534e;white-space:pre-line;margin:0 0 14px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.admin-tabs{background:#fff;border:1px solid #e7e5e4;border-radius:12px;gap:4px;margin-bottom:20px;padding:5px;display:flex;overflow-x:auto;box-shadow:0 1px 3px #00000008}.admin-tab{color:#57534e;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:500;transition:all .18s}.admin-tab:hover{color:#115e59;background:#f0fdfa}.admin-tab.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);font-weight:600;box-shadow:0 2px 6px #0f766e4d}.admin-panel{display:none}.admin-panel.active{display:block}.data-table{border-collapse:collapse;background:#fff;border:1px solid #e7e5e4;border-radius:10px;width:100%;overflow:hidden}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#57534e;background:#fafaf9;border-bottom:1px solid #e7e5e4;padding:10px 12px;font-size:11px;font-weight:600}.data-table td{color:#1c1917;vertical-align:middle;border-bottom:1px solid #f5f5f4;padding:10px 12px;font-size:13px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:#fafaf9}.data-table .row-actions{justify-content:flex-end;gap:4px;display:flex}.badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-admin,.badge-role-admin{color:#991b1b;background:#fef2f2}.badge-doctor,.badge-role-doctor{color:#1e40af;background:#dbeafe}.badge-role-registrar{color:#166534;background:#f0fdf4}.badge-role-analyst{color:#92400e;background:#fef3c7}.badge-role-seller{color:#86198f;background:#fdf4ff}.badge-role-masseur{color:#155e75;background:#ecfeff}.badge-ok{color:#166534;background:#dcfce7}.badge-off{color:#78716c;background:#f5f5f4}.auth-page{background:linear-gradient(135deg,#fafaf9 0%,#e7e5e4 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:#fff;border-radius:14px;width:100%;max-width:380px;padding:32px 28px;box-shadow:0 12px 32px #0000000f}.auth-logo{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 14px;display:flex}.auth-title{text-align:center;font-size:22px}.auth-sub{text-align:center;color:#78716c;margin:4px 0 22px;font-size:13px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form .field{flex-direction:column;gap:5px;display:flex}.auth-form .field span{color:#57534e;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.auth-form input{border:1px solid #d6d3d1;border-radius:8px;padding:10px 12px}.auth-form input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.alert{border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.alert-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.alert-warn{color:#854d0e;background:#fefce8;border:1px solid #fde68a}.alert-ok{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.save-status{color:#78716c;white-space:nowrap;font-size:12px}.save-status.saving{color:#0f766e}.save-status.saved{color:#047857}.save-status.error{color:#dc2626}.wh-tabs{background:#f1efed;border:1px solid #e7e5e4;border-radius:10px;gap:4px;width:fit-content;margin-bottom:16px;padding:4px;display:flex}.wh-tab{cursor:pointer;color:#57534e;background:0 0;border:none;border-radius:7px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .18s}.wh-tab.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);font-weight:600;box-shadow:0 2px 6px #0f766e40}.wh-tab:hover:not(.active){color:#115e59;background:#ffffffb3}.wh-panel{display:none}.wh-panel.active{display:block}.sig-wrap{grid-template-columns:1fr 1fr;gap:16px;margin-top:10px;display:grid}@media (max-width:760px){.sig-wrap{grid-template-columns:1fr}}.sig-box{background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;padding:14px}.sig-box h4{color:#57534e;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:13px;display:flex}.sig-status{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.sig-status.signed{color:#166534;background:#dcfce7}.sig-status.empty{color:#854d0e;background:#fef3c7}.sig-canvas-wrap{aspect-ratio:3;touch-action:none;background:#fff;border:2px dashed #d6d3d1;border-radius:8px;min-height:140px;position:relative;overflow:hidden}.sig-canvas-wrap.has-sig{border-style:solid;border-color:#0f766e}.sig-canvas-wrap canvas{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;width:100%;height:100%;display:block}.sig-canvas-wrap img.sig-img{object-fit:contain;width:100%;height:100%;padding:8px;position:absolute;inset:0}.sig-placeholder{color:#a8a29e;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.sig-buttons{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.sig-buttons .btn{flex:1;min-width:80px}@media (max-width:760px){.sig-canvas-wrap{aspect-ratio:4;min-height:90px}.sig-canvas-wrap img.sig-img{padding:4px}}.sig-signer{border-top:1px dashed #e7e5e4;margin-top:12px;padding-top:12px}.sig-signer-label{color:#57534e;margin-bottom:6px;font-size:12px;font-weight:500}.sig-guardian-fields{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.sig-guardian-fields input{background:#fff;border:1px solid #d6d3d1;border-radius:6px;padding:8px 10px;font-size:13px}.sig-guardian-fields input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.sig-guardian-fields[hidden]{display:none}@media (max-width:500px){.sig-guardian-fields{grid-template-columns:1fr}}.pos-grid{grid-template-columns:1fr 380px;gap:16px;display:grid}@media (min-width:1001px){.pos-grid{height:calc(100vh - 240px);min-height:480px}}@media (display-mode:standalone) and (min-width:1001px){.pos-grid{height:calc(100vh - env(safe-area-inset-top,0px) - 240px)}}@media (max-width:1000px){.pos-grid{grid-template-columns:1fr}}.pos-products{background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:14px}@media (min-width:1001px){.pos-products{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}}.pos-search{margin-bottom:12px}.pos-search-input{background:#fafaf9;border:1px solid #e7e5e4;border-radius:8px;width:100%;padding:10px 14px;font-size:15px}.pos-search-input:focus{background:#fff;border-color:#0f766e;outline:none}.pos-category-chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.pos-cat-chip{cursor:pointer;color:#57534e;background:#fff;border:1px solid #e7e5e4;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.pos-cat-chip:hover:not(:disabled){color:#0f766e;border-color:#0f766e}.pos-cat-chip:disabled{opacity:.4;cursor:not-allowed}.pos-cat-chip.active{color:#fff;background:#0f766e;border-color:#0f766e;box-shadow:0 2px 6px #0f766e2e}.pos-cat-chip .pos-cat-icon{font-size:16px;line-height:1}.pos-cat-chip .pos-cat-label{font-weight:600}.pos-cat-chip .pos-cat-count{background:#0000000f;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.pos-cat-chip.active .pos-cat-count{background:#ffffff38}.pos-products-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.pos-product-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #e7e5e4;border-radius:10px;flex-direction:column;padding:8px;transition:all .12s;display:flex}.pos-product-card:hover:not(:disabled){border-color:#0f766e;transform:translateY(-1px);box-shadow:0 2px 8px #0f766e1f}.pos-product-card:active:not(:disabled){transform:translateY(0)}.pos-product-card:disabled,.pos-product-card.out{opacity:.5;cursor:not-allowed}.pos-product-img{aspect-ratio:1;background:#f5f5f4;border-radius:6px;margin-bottom:8px;position:relative;overflow:hidden}.pos-product-img img{object-fit:cover;width:100%;height:100%}.pos-product-img-placeholder{color:#d6d3d1;justify-content:center;align-items:center;width:100%;height:100%;font-size:32px;display:flex}.pos-product-stock{color:#fff;background:#0f766e;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:4px;right:4px}.pos-product-stock.low{background:#f59e0b}.pos-product-stock.out{background:#dc2626;font-size:10px}.pos-product-name{color:#1c1917;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:34px;margin-bottom:4px;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.pos-product-price{color:#0f766e;margin-top:auto;font-size:14px;font-weight:700}.pos-cart{background:#fff;border:1px solid #e7e5e4;border-radius:12px;flex-direction:column;min-height:0;padding:14px;display:flex}@media (min-width:1001px){.pos-cart{height:100%;max-height:100%}}@media (max-width:1000px){.pos-cart{max-height:none}}.pos-cart-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.pos-cart-head h3{margin:0;font-size:16px}.pos-cart-empty{text-align:center;color:#a8a29e;background:#fafaf9;border-radius:8px;padding:30px 14px;font-size:13px}.pos-cart-list{-webkit-overflow-scrolling:touch;flex:1;min-height:100px;max-height:340px;overflow-y:auto}@media (min-width:1001px){.pos-cart-list{max-height:none}}.pos-cart-line{border-bottom:1px dashed #f0efee;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:8px 0;display:grid}.pos-cart-line:last-child{border-bottom:none}.pos-cart-line-name{color:#1c1917;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.pos-cart-line-qty{align-items:center;gap:2px;display:flex}.pos-cart-line-qty button{cursor:pointer;background:#fff;border:1px solid #e7e5e4;border-radius:4px;width:26px;height:26px;font-weight:700}.pos-cart-line-qty button:hover:not(:disabled){background:#f5f5f4}.pos-cart-line-qty button:disabled{opacity:.4;cursor:not-allowed}.pos-cart-line-qty input{text-align:center;border:1px solid #e7e5e4;border-radius:4px;width:44px;padding:4px;font-size:13px;font-weight:600}.pos-cart-line-price{color:#0f766e;text-align:right;min-width:70px;font-size:13px;font-weight:700}.pos-cart-line-rm{color:#a8a29e;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}.pos-cart-line-rm:hover{color:#dc2626}.pos-cart-payment{border-top:1px solid #e7e5e4;margin-top:10px;padding:10px 0}.pos-payment-label{color:#57534e;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600}.pos-payment-options{grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px;display:grid}.pos-payment-options-grid{grid-template-columns:repeat(3,1fr)}@media (min-width:480px){.pos-payment-options-grid{grid-template-columns:repeat(5,1fr)}}.pos-payment-btn{cursor:pointer;background:#fafaf9;border:1px solid #e7e5e4;border-radius:6px;padding:8px 4px;font-size:11px;font-weight:500;transition:all .12s}.pos-payment-btn:hover{background:#f5f5f4}.pos-payment-btn.active{color:#fff;background:#0f766e;border-color:#0f766e}.pos-payment-btn.credit.active{background:#b45309;border-color:#b45309}.pos-credit-picker{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-bottom:8px;padding:10px}.pos-credit-label{color:#92400e;text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.pos-credit-edit-btn{color:#92400e;cursor:pointer;background:#fff;border:1px solid #fde68a;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.pos-credit-edit-btn:hover{background:#fef3c7}.pos-credit-select{background:#fff;border:1px solid #fde68a;border-radius:6px;width:100%;margin-top:6px;padding:8px 10px;font-size:13px}.pos-credit-select:focus{border-color:#b45309;outline:none}.pos-credit-empty{color:#92400e;padding:6px 0;font-size:12px;font-style:italic}.pos-credit-leaf{color:#166534;background:#dcfce7;border-radius:4px;margin-top:6px;padding:6px 8px;font-size:12px}.pos-cart-note{border:1px solid #e7e5e4;border-radius:6px;width:100%;padding:6px 10px;font-size:12px}.pos-cart-total{border-top:2px solid #0f766e;justify-content:space-between;align-items:baseline;margin-top:10px;padding:10px 0;display:flex}.pos-cart-total span{color:#57534e;font-size:13px}.pos-cart-total strong{color:#0f766e;font-size:22px;font-weight:800}.pos-cart-checkout{width:100%;margin-top:10px;padding:14px;font-size:15px}.pos-flash{text-align:center;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px;font-weight:600}.pos-flash.ok{color:#166534;background:#dcfce7;border:1px solid #86efac}.pos-flash.err{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.data-table tr.clickable-row{transition:background .12s}.data-table tr.clickable-row:hover{background:#f5f5f4}.data-table tr.row-warn{background:#fffbeb}.data-table tr.row-warn td{border-color:#fde68a}.data-table td>input[type=text],.data-table td>input[type=number],.data-table td>input[type=date],.data-table td>select{color:#1c1917;background:#fff;border:1px solid #d6d3d1;border-radius:6px;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.data-table td>input:focus,.data-table td>select:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.data-table td>input:hover:not(:focus),.data-table td>select:hover:not(:focus){border-color:#a8a29e}.stock-panel{padding:4px}.stock-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:16px;display:grid}.stock-stat{background:#fff;border:1px solid #e7e5e4;border-radius:10px;padding:12px 14px}.stock-stat.warn{background:#fffbeb;border-color:#fde68a}.stock-stat-label{color:#78716c;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:600}.stock-stat-value{color:#1c1917;font-size:20px;font-weight:700}.stock-row-low{background:#fffbeb}.expenses-panel,.restock-panel,.stockcount-panel,.report-panel{flex-direction:column;gap:16px;padding:4px;display:flex}.expense-form-card,.expense-list-card,.restock-form-card,.restock-history{background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:14px}.restock-row-clickable{cursor:pointer;transition:background .12s}.restock-row-clickable:hover{background:#fffbeb}.prod-picker{width:100%;position:relative}.prod-picker-input{background:#fff;border:1px solid #d6d3d1;border-radius:6px;width:100%;padding:7px 10px;font-size:13px}.prod-picker-input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.prod-picker-list{z-index:9999;background:#fff;border:1px solid #e7e5e4;border-radius:8px;max-height:260px;overflow-y:auto;box-shadow:0 8px 24px #00000026}.prod-picker-item{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #f5f5f4;width:100%;padding:8px 10px;font-size:13px;display:block}.prod-picker-item:last-child{border-bottom:none}.prod-picker-item:hover,.prod-picker-item.active{background:#f0fdfa}.prod-picker-item.selected{background:#ccfbf1;font-weight:600}.prod-picker-lx{color:#a8a29e;margin-left:6px;font-size:11px}.prod-picker-empty{text-align:center;color:#a8a29e;padding:16px 10px;font-size:12px}.expense-list-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.expense-total{color:#57534e;font-size:13px}.expense-total strong{color:#dc2626}.report-periods{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (max-width:720px){.report-periods{grid-template-columns:1fr}}.report-period-card{cursor:pointer;text-align:left;color:#fff;border:2px solid #0000;border-radius:14px;flex-direction:column;gap:8px;padding:20px 22px;transition:all .15s;display:flex;box-shadow:0 4px 16px #00000014}.report-period-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000024}.report-period-card.today{background:linear-gradient(135deg,#0f766e,#14b8a6)}.report-period-card.week{background:linear-gradient(135deg,#1e40af,#3b82f6)}.report-period-card.month{background:linear-gradient(135deg,#c2410c,#f59e0b)}.report-period-label{opacity:.92;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.report-period-value{letter-spacing:-.01em;font-size:30px;font-weight:800;line-height:1.1}@media (max-width:480px){.report-period-value{font-size:24px}}.report-period-meta{opacity:.85;font-size:12px}.report-range-label{color:#57534e;font-size:13px;font-weight:600}.report-range{background:#fff;border:1px solid #e7e5e4;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.report-range label{color:#57534e;align-items:center;gap:6px;font-size:13px;display:flex}.report-range input[type=date]{border:1px solid #e7e5e4;border-radius:6px;padding:6px 10px}.report-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.report-stat{background:#fff;border:1px solid #e7e5e4;border-radius:10px;padding:14px}.report-stat-label{color:#78716c;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600}.report-stat-value{color:#1c1917;font-size:22px;font-weight:800}.report-stat.income{border-left:4px solid #0f766e}.report-stat.income .report-stat-value{color:#0f766e}.report-stat.expense{border-left:4px solid #dc2626}.report-stat.expense .report-stat-value{color:#dc2626}.report-stat.net{border-left:4px solid #1e40af}.report-stat.net .report-stat-value{color:#1e40af}.report-stat.net-neg{border-left:4px solid #dc2626}.report-stat.net-neg .report-stat-value{color:#dc2626}.report-stat.profit{background:#fffbeb;border-left:4px solid #f59e0b}.report-stat.profit .report-stat-value{color:#f59e0b}.report-section{background:#fff;border:1px solid #e7e5e4;border-radius:10px;padding:14px}.report-section h3{margin:0 0 12px;font-size:15px}.name-cyr-btn{color:#0f766e;cursor:pointer;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;flex-shrink:0;min-width:36px;height:36px;padding:0 10px;font-size:13px;font-weight:700;transition:all .15s}.name-cyr-btn:hover:not(:disabled){background:#ccfbf1;border-color:#5eead4}.name-cyr-btn:disabled{opacity:.5;cursor:not-allowed}.name-cyr-btn.busy{color:#92400e;background:#fef3c7;border-color:#fcd34d}.name-input-wrap{align-items:stretch;gap:6px;display:flex}.name-input-wrap input{flex:1;min-width:0}.body-picker{padding:4px}.body-picker-views{grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;display:grid}.body-picker-view{text-align:center}.body-picker-label{color:#57534e;margin-bottom:6px;font-size:13px;font-weight:600}.body-svg{aspect-ratio:1;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e7e5e4;border-radius:10px;width:100%;max-width:520px;height:auto}.body-svg:hover{background:#fafaf9}.body-picker-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}@media (max-width:600px){.body-picker-views{grid-template-columns:1fr}}.body-point-btn{color:#0f766e;cursor:pointer;background:#f0fdfa;border:1px solid #99f6e4;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:600;transition:all .12s}.body-point-btn:hover{background:#ccfbf1;border-color:#5eead4}.body-point-btn.has-marks{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.body-point-btn.has-marks:hover{background:#bfdbfe}.audit-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.audit-filter{background:#fff;border:1px solid #e7e5e4;border-radius:8px;min-width:140px;padding:7px 12px;font-size:13px}.badge.audit-action-create{color:#166534;background:#dcfce7}.badge.audit-action-update{color:#1e40af;background:#dbeafe}.badge.audit-action-delete{color:#991b1b;background:#fef2f2}.badge.audit-action-restore{color:#92400e;background:#fef3c7}.toggle-row{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;align-items:flex-start;gap:12px;margin-top:10px;padding:12px 14px;transition:background .15s;display:flex}.toggle-row:hover{background:#f5f5f4}.toggle-row input[type=checkbox]{cursor:pointer;accent-color:#0f766e;flex-shrink:0;width:20px;height:20px;margin-top:1px}.toggle-row input[type=checkbox]:disabled{cursor:not-allowed}.toggle-row .toggle-label{color:#1c1917;flex-direction:column;gap:2px;font-size:14px;display:flex}.toggle-row .toggle-label strong{font-weight:600}.toggle-row .toggle-label em{color:#78716c;font-size:12px;font-style:normal}.toggle-row-sm{padding:8px 12px}.toggle-row-sm .toggle-label{font-size:13px}.toggle-subgroup{border-left:2px solid #e7e5e4;margin-top:8px;margin-left:14px;padding-left:14px;transition:opacity .15s}.attendance-box{border:1px solid #0000;border-radius:10px;margin-bottom:16px;padding:12px 14px;transition:all .15s}.attendance-box.attended{background:#f0fdf4;border-color:#86efac}.attendance-box.scheduled{background:#fff7ed;border-color:#fed7aa}.attendance-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.attendance-check input[type=checkbox]{cursor:pointer;accent-color:#0f766e;width:20px;height:20px}.attendance-icon{font-size:22px;line-height:1}.attendance-title{color:#1c1917;font-size:14px;font-weight:600}.attendance-box.attended .attendance-title{color:#166534}.attendance-box.scheduled .attendance-title{color:#9a3412}.attendance-sub{color:#78716c;margin-top:2px;font-size:11px}.attend-badge{letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.attend-badge.yes{color:#166534;background:#dcfce7}.attend-badge.no{color:#c2410c;background:#fff7ed}.type-filter-tabs{background:#f1efed;border:1px solid #e7e5e4;border-radius:10px;gap:4px;padding:4px;display:inline-flex}.type-tab{cursor:pointer;color:#57534e;background:0 0;border:none;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .18s}.type-tab:hover:not(.active){color:#115e59;background:#ffffffb3}.type-tab.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);font-weight:600;box-shadow:0 2px 6px #0f766e40}.month-chips{grid-template-columns:repeat(12,1fr);gap:6px;display:grid}@media (max-width:900px){.month-chips{grid-template-columns:repeat(6,1fr)}}@media (max-width:480px){.month-chips{grid-template-columns:repeat(4,1fr)}}.month-chip{cursor:pointer;text-align:center;color:#57534e;background:#fff;border:1px solid #e7e5e4;border-radius:8px;padding:10px 6px;font-size:12px;font-weight:500;transition:all .12s;position:relative}.month-chip:hover{color:#0f766e;background:#f0fdfa;border-color:#0f766e}.month-chip.active{color:#fff;background:#0f766e;border-color:#0f766e}.month-chip .chip-count{font-feature-settings:"tnum";letter-spacing:-.01em;margin-top:2px;font-size:16px;font-weight:700;display:block}.month-chip.active .chip-count{color:#fff}.month-chip.has-items{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.month-chip.has-items:hover{background:#ffedd5}.month-chip.has-items.active{color:#fff;background:#c2410c;border-color:#c2410c}.mobile-sidebar-toggle{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #e7e5e4;border-radius:8px;align-items:center;gap:8px;width:calc(100% - 24px);max-width:400px;margin:10px 12px 0;padding:10px 14px;font-size:14px;font-weight:500;display:none;box-shadow:0 1px 2px #0000000a}.mobile-sidebar-toggle:hover{background:#f0fdfa}@media (max-width:900px){.sidebar{z-index:25;width:85%;max-width:340px;height:calc(100vh - 57px);transition:transform .2s;position:fixed;top:57px;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 20px #00000026}.sidebar.open{transform:translate(0)}.backdrop.open{display:block}.mobile-sidebar-toggle{display:inline-flex}}.public-layout{background:linear-gradient(#f0fdfa 0%,#fafaf9 30% 100%);min-height:100vh}.book-page{max-width:720px;margin:0 auto;padding:28px 16px 60px}.book-card{background:#fff;border:1px solid #e7e5e4;border-radius:18px;padding:28px;box-shadow:0 4px 20px #0f172a0f,0 1px 3px #0f172a0a}@media (max-width:600px){.book-card{border-radius:14px;padding:18px 14px}}.book-header{text-align:center;margin-bottom:22px}.book-brand{background:linear-gradient(135deg,#f0fdfa 0%,#ccfbf1 100%);border:1px solid #ccfbf1;border-radius:999px;align-items:center;gap:12px;margin-bottom:18px;padding:8px 14px;display:inline-flex}.book-brand-icon{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:flex;box-shadow:0 2px 6px #0f766e4d}.book-brand h1{color:#0f1419;font-size:16px;line-height:1.1}.book-brand p{color:#57534e;margin-top:2px;font-size:11px}.book-title{color:#1c1917;letter-spacing:-.02em;margin-bottom:6px;font-size:26px}.book-sub{color:#57534e;font-size:14px}.book-loading,.book-empty,.book-error{text-align:center;color:#57534e;padding:40px 20px;font-size:14px}.book-empty .muted{color:#a8a29e;margin-top:8px;font-size:13px}.book-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;font-size:13px}.book-form{flex-direction:column;gap:22px;display:flex;position:relative}.book-section{border:none;margin:0;padding:0}.book-section legend{color:#1c1917;letter-spacing:-.01em;margin-bottom:12px;font-size:14px;font-weight:600}.date-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.date-chip{cursor:pointer;background:#fff;border:1.5px solid #e7e5e4;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;transition:all .15s;display:flex}.date-chip:hover{background:#f0fdfa;border-color:#0f766e}.date-chip.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0f766e;box-shadow:0 2px 8px #0f766e4d}.date-chip-dow{opacity:.85;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.date-chip-day{letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1}.date-chip-month{opacity:.75;font-size:10px}.slot-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.slot-chip{cursor:pointer;background:#fff;border:1.5px solid #e7e5e4;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;transition:all .15s;display:flex}.slot-chip:hover:not(:disabled){background:#f0fdfa;border-color:#0f766e}.slot-chip:disabled{opacity:.45;cursor:not-allowed;background:#fafaf9}.slot-chip.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0f766e;box-shadow:0 2px 10px #0f766e4d}.slot-icon{font-size:28px;line-height:1}.slot-name{font-size:15px;font-weight:600}.slot-meta{opacity:.85;font-size:12px}.field-row{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.field-row:last-child{margin-bottom:0}.field-row>.field{flex:140px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field label{color:#44403c;font-size:12px;font-weight:500}.field input,.field select,.field textarea{color:#1c1917;background:#fff;border:1px solid #d6d3d1;border-radius:9px;padding:10px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.field textarea{resize:vertical;font-family:inherit}.radio-row{gap:8px;display:flex}.radio-chip{cursor:pointer;background:#fff;border:1.5px solid #e7e5e4;border-radius:9px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;transition:all .15s;display:flex}.radio-chip:hover{border-color:#0f766e}.radio-chip:has(input:checked){color:#0f766e;background:#f0fdfa;border-color:#0f766e;font-weight:600}.radio-chip input{accent-color:#0f766e;margin:0}.cancer-block{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-top:10px;padding:12px 14px;font-size:13px;line-height:1.5}.book-summary{background:linear-gradient(135deg,#f0fdfa 0%,#ecfdf5 100%);border:1px solid #ccfbf1;border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.summary-row{color:#57534e;justify-content:space-between;font-size:13px;display:flex}.summary-row strong{color:#1c1917}.summary-row.total{border-top:1px dashed #99f6e4;padding-top:8px;font-size:15px}.summary-row.total strong{color:#0f766e;font-size:17px}.agree-row{color:#57534e;cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex}.agree-row input{accent-color:#0f766e;flex-shrink:0;margin-top:2px}.book-note{color:#78716c;text-align:center;margin-top:4px;font-size:12px;line-height:1.5}.pay-card{padding:22px}.pay-header{text-align:center;border-bottom:1px solid #f5f5f4;margin-bottom:18px;padding:8px 0 16px}.pay-amount{color:#0f766e;letter-spacing:-.02em;font-size:36px;font-weight:800;line-height:1}.pay-meta{color:#57534e;margin-top:6px;font-size:14px}.pay-timer{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;margin-top:14px;padding:6px 14px;font-size:13px;display:inline-block}.pay-timer strong{font-family:var(--font-mono), monospace;font-weight:700}.pay-timer.urgent{color:#991b1b;background:#fee2e2;border-color:#fecaca}.pay-section{margin-bottom:18px}.pay-section-title{color:#44403c;margin-bottom:10px;font-size:13px;font-weight:600}.pay-bank-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (min-width:480px){.pay-bank-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:720px){.pay-bank-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.pay-bank-link{color:#1c1917;text-align:center;word-break:break-word;background:#fff;border:1.5px solid #e7e5e4;border-radius:10px;flex-direction:column;align-items:center;gap:6px;min-height:80px;padding:12px 8px;font-size:12px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.pay-bank-link:hover,.pay-bank-link:active{color:#0f766e;background:#f0fdfa;border-color:#0f766e;text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 8px #0f766e26}.pay-bank-link img{object-fit:contain;flex-shrink:0;width:32px;height:32px}.pay-toggle{color:#0f766e;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:10px;font-size:13px;font-weight:500}.pay-toggle:hover{text-decoration:underline}.pay-qr-wrap{background:#fff;border:1px solid #e7e5e4;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.pay-qr{background:#fff;border-radius:8px;width:240px;height:240px}.pay-qr-hint{color:#78716c;text-align:center;font-size:12px}.pay-status{text-align:center;min-height:30px}.pay-poll-indicator{color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:500;display:inline-flex}.pay-pulse{background:#0f766e;border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse}@keyframes pulse{50%{opacity:.5}}.pay-status-msg{color:#92400e;text-align:left;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.5}.payment-method-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:540px){.payment-method-grid{grid-template-columns:1fr}}.payment-method-btn{cursor:pointer;background:#fff;border:1.5px solid #e7e5e4;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;font-family:inherit;transition:all .15s;display:flex}.payment-method-btn:hover:not(:disabled){background:#f0fdfa;border-color:#0f766e;transform:translateY(-1px);box-shadow:0 4px 12px #0f766e1f}.payment-method-btn:disabled{opacity:.45;cursor:not-allowed}.payment-method-btn.primary{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0f766e;box-shadow:0 2px 10px #0f766e4d}.payment-method-btn.primary:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#115e59 0%,#134e4a 100%);border-color:#0f766e}.payment-method-icon{font-size:28px;line-height:1}.payment-method-name{letter-spacing:-.01em;font-size:16px;font-weight:600}.payment-method-sub{opacity:.85;font-size:12px}.bank-card{background:linear-gradient(135deg,#f0fdfa 0%,#ecfdf5 100%);border:1px solid #ccfbf1;border-radius:12px;margin-bottom:18px;padding:16px}.bank-header{border-bottom:1px dashed #99f6e4;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.bank-icon{font-size:28px;line-height:1}.bank-label{color:#57534e;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.bank-value{color:#1c1917;word-break:break-all;margin-top:2px;font-size:15px;font-weight:600}.bank-value.mono{font-family:var(--font-mono), monospace;letter-spacing:.02em}.bank-row{justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.bank-row+.bank-row{border-top:1px dashed #99f6e4}.bank-row.highlight{background:#fef3c7;border:1.5px solid #fde68a;border-radius:8px;margin-top:6px;padding:12px}.bank-row-info{flex:1;min-width:0}.must{color:#fff;background:#dc2626;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:9px}.bank-copy{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #0f766e;border-radius:8px;flex-shrink:0;padding:8px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.bank-copy:hover{background:#f0fdfa}.bank-copy.copied{color:#fff;background:#0f766e}.bank-instructions{background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;margin-bottom:18px;padding:14px 16px}.bank-instructions h4{color:#1c1917;margin-bottom:8px;font-size:13px}.bank-instructions ol{color:#44403c;margin:0;padding-left:18px;font-size:13px;line-height:1.7}.bank-instructions strong{color:#0f766e}.book-success{text-align:center;padding:40px 28px}.success-icon{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 18px;font-size:38px;font-weight:700;display:flex;box-shadow:0 6px 20px #0f766e4d}.book-success h1{color:#1c1917;letter-spacing:-.02em;margin-bottom:18px;font-size:24px}.success-detail{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:10px;flex-direction:column;gap:6px;margin:0 auto 18px;padding:12px 22px;display:inline-flex}.success-detail div{color:#57534e;justify-content:space-between;gap:14px;font-size:14px;display:flex}.success-detail strong{color:#1c1917}.book-success p{color:#57534e;max-width:400px;margin:0 auto 8px;font-size:14px;line-height:1.6}.book-success p.muted{color:#a8a29e;font-size:13px}.settings-panel{max-width:560px}.settings-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:22px;box-shadow:0 1px 3px #0f172a0a}.settings-card-title{color:#1c1917;margin-bottom:4px;font-size:17px}.settings-card-sub{color:#78716c;margin-bottom:18px;font-size:13px;line-height:1.5}.settings-section-title{color:#57534e;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(90deg,#f5f5f4,#0000);border-left:4px solid #0f766e;border-radius:4px;margin:28px 0 12px;padding:10px 14px;font-size:13px;font-weight:700}.settings-section-title:first-child{margin-top:0}.settings-section-title.danger{color:#991b1b;background:linear-gradient(90deg,#fef2f2,#0000);border-left-color:#dc2626}.settings-subtabs{background:#f5f5f4;border-radius:10px;flex-wrap:wrap;gap:4px;margin-bottom:18px;padding:6px;display:flex}.settings-subtab{cursor:pointer;color:#57534e;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;min-width:110px;padding:10px 14px;font-size:14px;font-weight:600;transition:all .15s}.settings-subtab:hover:not(.active){color:#1c1917;background:#fff9}.settings-subtab.active{color:#0f766e;background:#fff;box-shadow:0 1px 3px #00000014}.settings-subtab.danger.active,.settings-subtab.danger:hover:not(.active){color:#991b1b}.price-input-wrap{max-width:320px;margin-bottom:14px;position:relative}.price-input{color:#0f766e;letter-spacing:-.01em;background:#fff;border:1.5px solid #d6d3d1;border-radius:10px;width:100%;padding:16px 44px 16px 18px;font-size:24px;font-weight:700;transition:border-color .15s,box-shadow .15s}.price-input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 4px #0f766e1f}.price-input-unit{color:#78716c;pointer-events:none;font-size:18px;font-weight:600;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.price-preview{color:#57534e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:8px;margin-bottom:14px;padding:8px 14px;font-size:13px;display:inline-block}.price-preview strong{color:#0f766e;font-size:15px}.price-actions{align-items:center;gap:8px;display:flex}.price-msg{border-radius:8px;margin-top:12px;padding:9px 12px;font-size:13px;font-weight:500}.price-msg.ok{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.price-msg.err{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.settings-meta{color:#a8a29e;border-top:1px dashed #e7e5e4;margin-top:14px;padding-top:12px;font-size:11px}.bank-form{flex-direction:column;gap:12px;max-width:460px;display:flex}.bank-form .field input{color:#1c1917;background:#fff;border:1px solid #d6d3d1;border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.bank-form .field input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.sms-placeholders{background:#fafaf9;border:1px solid #e7e5e4;border-radius:8px;grid-template-columns:auto 1fr;gap:6px 12px;margin-bottom:14px;padding:12px 14px;font-size:12px;display:grid}.sms-placeholders code{font-family:var(--font-mono), monospace;color:#0f766e;white-space:nowrap;background:#fff;border:1px solid #d6d3d1;border-radius:5px;padding:2px 8px;font-size:12px;font-weight:600}.sms-placeholders span{color:#57534e}.sms-textarea{color:#1c1917;resize:vertical;background:#fff;border:1.5px solid #d6d3d1;border-radius:9px;width:100%;margin-bottom:12px;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.55;transition:border-color .15s,box-shadow .15s}.sms-textarea:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.sms-preview-block{margin-bottom:14px}.sms-preview-label{color:#57534e;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.sms-length{color:#78716c;font-size:11px}.sms-length.warn{color:#c2410c;font-weight:600}.sms-preview-bubble{color:#075985;white-space:pre-wrap;word-break:break-word;background:#e0f2fe;border:1px solid #bae6fd;border-radius:14px 14px 14px 4px;max-width:360px;padding:12px 14px;font-size:13px;line-height:1.5}@media (max-width:540px){.price-input-wrap{max-width:none}}.reconcile-input{background:#fff;border:1px solid #e7e5e4;border-radius:12px;margin-bottom:16px;padding:16px;box-shadow:0 1px 3px #0f172a0a}.reconcile-input-label{color:#44403c;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.reconcile-textarea{width:100%;font-family:var(--font-mono), monospace;resize:vertical;color:#1c1917;background:#fafaf9;border:1px solid #d6d3d1;border-radius:8px;min-height:140px;padding:10px 12px;font-size:12px;line-height:1.5}.reconcile-textarea:focus{background:#fff;border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.reconcile-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.reconcile-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px;display:grid}.rec-stat{background:#fff;border:1px solid #e7e5e4;border-radius:10px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.rec-stat span{color:#78716c;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.rec-stat strong{color:#1c1917;font-size:18px}.rec-stat.ok{background:#f0fdf4;border-color:#bbf7d0}.rec-stat.ok strong{color:#166534}.rec-stat.warn{background:#fef3c7;border-color:#fde68a}.rec-stat.warn strong{color:#92400e}.rec-stat.err{background:#fef2f2;border-color:#fecaca}.rec-stat.err strong{color:#b91c1c}.reconcile-table .rec-desc{font-family:var(--font-mono), monospace;color:#57534e;word-break:break-all;max-width:320px;font-size:11px}.rec-tag{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.rec-tag.qpay{color:#1e40af;background:#dbeafe}.rec-tag.transfer{color:#115e59;background:#ccfbf1}.rec-tag.unknown{color:#6b7280;background:#f3f4f6}.rec-tag.ok{color:#065f46;background:#d1fae5}.rec-confirmed{background:#f0fdf4}.rec-err{color:#b91c1c;margin-top:4px;font-size:11px}.bookings-filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filter-chip{color:#57534e;cursor:pointer;background:#fff;border:1px solid #e7e5e4;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.filter-chip:hover{background:#fafaf9;border-color:#d6d3d1}.filter-chip.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0f766e;box-shadow:0 2px 6px #0f766e40}.filter-count{color:inherit;background:#0000000f;border-radius:999px;padding:1px 7px;font-size:11px}.filter-chip.active .filter-count{background:#ffffff38}.bookings-table-wrap{background:#fff;border:1px solid #e7e5e4;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.bookings-table{border-collapse:collapse;width:100%;font-size:13px}.bookings-table thead th{text-align:left;color:#78716c;text-transform:uppercase;letter-spacing:.04em;background:#fafaf9;border-bottom:1px solid #e7e5e4;padding:11px 14px;font-size:11px;font-weight:600}.bookings-table tbody td{vertical-align:middle;border-bottom:1px solid #f5f5f4;padding:12px 14px}.bookings-table tbody tr:last-child td{border-bottom:none}.booking-row.past td{opacity:.6}.booking-date{color:#1c1917;font-weight:600}.booking-slot{color:#57534e;margin-top:2px;font-size:12px}.booking-name{color:#1c1917;font-weight:500}.booking-src{border-radius:4px;margin-left:6px;padding:1px 5px;font-size:13px;display:inline-block}.booking-src.messenger{background:#e0f2fe}.booking-src.manual{background:#f5f5f4}.legal-page{background:#fafaf9;min-height:100vh;padding:32px 16px 60px}.legal-content{color:#1c1917;background:#fff;border:1px solid #e7e5e4;border-radius:14px;max-width:760px;margin:0 auto;padding:40px;line-height:1.7}.legal-content h1{letter-spacing:-.02em;margin-bottom:8px;font-size:28px;font-weight:800}.legal-content h2{color:#0f1419;margin:28px 0 10px;font-size:18px;font-weight:700}.legal-content h3{margin:18px 0 8px;font-size:16px;font-weight:600}.legal-content p,.legal-content ul,.legal-content ol{margin:8px 0;font-size:15px}.legal-content ul,.legal-content ol{padding-left:22px}.legal-content li{margin-bottom:4px}.legal-content a{color:#0f766e;text-decoration:underline}.legal-content a:hover{color:#064e3b}.legal-meta{color:#78716c;border-bottom:1px solid #f0efee;margin-bottom:18px;padding-bottom:14px;font-size:13px}@media (max-width:600px){.legal-content{border-radius:10px;padding:24px 18px}.legal-content h1{font-size:22px}.legal-content h2{font-size:16px}}.booking-note{color:#78716c;max-width:240px;margin-top:2px;font-size:12px}.booking-note-btn{color:#92400e;cursor:pointer;text-align:left;white-space:pre-wrap;word-break:break-word;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;max-width:280px;margin-top:4px;padding:4px 8px;font-weight:500;line-height:1.35;display:inline-block}.booking-note-btn:hover{background:#fde68a;border-color:#f59e0b}.booking-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.booking-method{color:#57534e;margin-top:4px;font-size:11px}.booking-status.status-pending,.booking-status.status-confirmed{color:#92400e;background:#fef3c7}.booking-status.status-expired{color:#991b1b;background:#fee2e2}.booking-status.status-paid{color:#065f46;background:#d1fae5}.booking-status.status-cancelled{color:#6b7280;background:#f3f4f6}.booking-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.booking-amount{color:#78716c;white-space:nowrap;font-size:12px}@media (max-width:900px){.bookings-table thead th:nth-child(4),.bookings-table tbody td:nth-child(4),.bookings-table thead th:nth-child(6),.bookings-table tbody td:nth-child(6){display:none}}.schedule-week-nav{flex-wrap:wrap;gap:6px;display:flex}.schedule-toolbar{background:#fff;border:1px solid #e7e5e4;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #0f172a0a}.schedule-week-label{color:#1c1917;letter-spacing:-.01em;font-size:14px;font-weight:600}.schedule-copy-msg{color:#0f766e;font-size:12px;font-weight:500}.schedule-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;display:grid}@media (max-width:1100px){.schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:700px){.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.schedule-grid{grid-template-columns:1fr}}.schedule-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;flex-direction:column;gap:10px;padding:14px;transition:box-shadow .15s,transform .15s;display:flex;box-shadow:0 1px 3px #0f172a0a}.schedule-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0f}.schedule-card.today{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e1f,0 1px 3px #0f172a0a}.schedule-card.past{opacity:.7;background:#fafaf9}.schedule-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.schedule-dow{color:#78716c;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.schedule-date{color:#1c1917;letter-spacing:-.01em;margin-top:2px;font-size:18px;font-weight:700}.schedule-badge{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-radius:10px;padding:3px 7px;font-size:10px;font-weight:600}.schedule-slot{flex-direction:column;gap:5px;display:flex}.schedule-slot label{color:#57534e;font-size:12px;font-weight:500}.schedule-input-row{align-items:center;gap:8px;display:flex}.schedule-input-row input{color:#1c1917;text-align:center;background:#fff;border:1px solid #d6d3d1;border-radius:7px;width:64px;padding:7px 9px;font-size:14px;font-weight:600;transition:border-color .15s,box-shadow .15s}.schedule-input-row input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.schedule-booked{color:#78716c;font-size:11px}.schedule-note{background:#fff;border:1px solid #d6d3d1;border-radius:7px;width:100%;padding:7px 9px;font-size:12px}.schedule-note:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.schedule-card-error{color:#dc2626;font-size:12px}.patients-directory-main{width:100%;max-width:1400px;margin:0 auto;padding:24px 22px 40px}.patients-directory{flex-direction:column;gap:16px;display:flex}.patients-toolbar{background:#fff;border:1px solid #e7e5e4;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex;box-shadow:0 1px 3px #0f172a0a}.patients-search{flex:1;min-width:220px;position:relative}.patients-search svg{color:#a8a29e;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.patients-search input{background:#fafaf9;border:1px solid #d6d3d1;border-radius:8px;width:100%;padding:9px 12px 9px 36px;transition:border-color .15s,box-shadow .15s,background .15s}.patients-search input:focus{background:#fff;border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.per-page{color:#57534e;align-items:center;gap:8px;font-size:13px;display:flex}.per-page label{white-space:nowrap}.per-page select{cursor:pointer;background:#fff;border:1px solid #d6d3d1;border-radius:7px;padding:7px 10px;font-size:13px}.per-page select:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.patients-table-wrap{background:#fff;border:1px solid #e7e5e4;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0f172a0a}.patients-table{border-collapse:collapse;width:100%;font-size:13px}.patients-table thead th{text-align:left;color:#78716c;text-transform:uppercase;letter-spacing:.04em;background:#fafaf9;border-bottom:1px solid #e7e5e4;padding:11px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.patients-table tbody td{vertical-align:middle;border-bottom:1px solid #f5f5f4;padding:12px 14px}.patients-table tbody tr:last-child td{border-bottom:none}.patients-row{cursor:pointer;transition:background .12s}.patients-row:hover{background:#fafaf9}.patients-row.active{background:linear-gradient(90deg,#f0fdfa 0%,#ecfdf5 100%)}.cell-card-no{font-family:var(--font-mono), monospace;color:#0f766e;font-size:12px;font-weight:600}.cell-name{align-items:center;gap:10px;min-width:0;display:flex}.cell-avatar{color:#57534e;background:#e7e5e4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:inline-flex}.patients-row.active .cell-avatar{color:#fff;background:#0f766e}.cell-name-text{color:#1c1917;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.cell-muted{color:#57534e;font-size:13px}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:4px 4px 8px;display:flex}.pagination-meta{color:#78716c;font-size:12px}.pagination-nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.page-btn{color:#44403c;cursor:pointer;background:#fff;border:1px solid #e7e5e4;border-radius:7px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 10px;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.page-btn:hover:not(:disabled):not(.active){background:#fafaf9;border-color:#d6d3d1}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0f766e;box-shadow:0 1px 3px #0f766e4d}.page-gap{color:#a8a29e;padding:0 6px;font-size:13px}@media (max-width:768px){.patients-directory-main{padding:14px 10px 32px}.patients-table thead th:nth-child(3),.patients-table tbody td:nth-child(3),.patients-table thead th:nth-child(4),.patients-table tbody td:nth-child(4),.patients-table thead th:nth-child(7),.patients-table tbody td:nth-child(7){display:none}.patients-table thead th,.patients-table tbody td{padding:10px 8px}}@page{size:A4 landscape;margin:1cm}.print-only{display:none}@media print{body{background:#fff}.no-print{display:none!important}.print-only{display:block!important}.empty-state,.visit-editor,.patient-view,.patients-directory{display:none!important}.layout{min-height:auto;display:block}.main{padding:0}.print-rx{padding:10mm;font-size:11px;line-height:1.4}.print-rx h1{text-align:center;margin-bottom:4px;font-size:16px}.print-rx .rx-sub{text-align:center;color:#555;margin-bottom:8px;font-size:10px}.print-rx .rx-kv{margin:2px 0}.print-rx table{border-collapse:collapse;width:100%;margin-top:8px;font-size:11px}.print-rx table th,.print-rx table td{text-align:left;border:1px solid #000;padding:3px 5px}.print-rx table th{background:#eee;font-size:10px}.print-rx .rx-total{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;font-size:13px;font-weight:700;display:flex}.print-card-container .print-sheet{page-break-after:always;grid-template-columns:1fr 1fr;gap:14px;font-size:10px;line-height:1.3;display:grid}.print-card-container .print-sheet:last-child{page-break-after:auto}.print-card-container .print-sheet>div{padding-right:8px}.print-card-container .print-sheet>div+div{border-left:1px dashed #999;padding-left:8px;padding-right:0}.print-card-container .print-sheet h2{text-align:center;margin:0 0 6px;font-size:14px}.print-card-container .print-sheet h3{background:#e7e5e4;border-bottom:1px solid #000;margin:6px 0 4px;padding:2px 4px;font-size:11px}.print-card-container table{border-collapse:collapse;width:100%;font-size:9px}.print-card-container table th,.print-card-container table td{text-align:left;border:1px solid #000;padding:2px 3px}.print-card-container table th{background:#f5f5f4}.print-card-container .kv{margin:1px 0}}@page rx{size:A5;margin:8mm}body.printing-rx{page:rx}@media print{body.printing-rx .print-card-container,body.printing-card .print-rx-container{display:none!important}}@page pay-report{size:A4 landscape;margin:8mm}body.printing-pay{page:pay-report}@media print{body.printing-pay{background:#fff}body.printing-pay .topbar,body.printing-pay .admin-tabs,body.printing-pay .page-head,body.printing-pay .finance-stats,body.printing-pay .pay-panel .no-print{display:none!important}body.printing-pay .layout{display:block}body.printing-pay .main,body.printing-pay .admin-page,body.printing-pay .admin-inner{margin:0;padding:0}body.printing-pay .pay-panel .print-area{padding:6mm;font-size:10px}body.printing-pay .pay-panel .print-area h2{margin:0 0 4px;font-size:15px}body.printing-pay .pay-panel .print-area h3{margin:10px 0 4px;font-size:12px}body.printing-pay .pay-panel .print-area table{border-collapse:collapse;width:100%;font-size:9px}body.printing-pay .pay-panel .print-area table th,body.printing-pay .pay-panel .print-area table td{text-align:left;vertical-align:top;border:1px solid #000;padding:2px 4px}body.printing-pay .pay-panel .print-area table th{background:#eee;font-weight:700}body.printing-pay .pay-panel .print-area .empty-hint{font-size:10px}}.stmt-grid{grid-template-columns:1.4fr 1fr;gap:18px;margin-bottom:18px;display:grid}@media (max-width:920px){.stmt-grid{grid-template-columns:1fr}}.stmt-card{background:#fff;border:1px solid #ececec;border-radius:14px;padding:22px;box-shadow:0 1px 3px #0f172a0a,0 4px 14px #0f172a0a}.stmt-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.stmt-card-title{color:#0f1419;letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.stmt-range-badge{color:#065f46;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid #a7f3d0;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}.stmt-row{margin-bottom:18px}.stmt-row:last-of-type{margin-bottom:22px}.stmt-label{color:#78716c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.stmt-year-tabs{flex-wrap:wrap;gap:8px;display:flex}.stmt-year-tab{color:#44403c;background:#fff;border:1px solid #e7e5e4;border-radius:9px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s}.stmt-year-tab:hover{color:#0f766e;border-color:#0f766e}.stmt-year-tab.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0000;box-shadow:0 4px 12px #0f766e47}.stmt-month-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (max-width:480px){.stmt-month-grid{grid-template-columns:repeat(3,1fr)}}.stmt-month-btn{color:#44403c;background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;padding:12px 8px;font-size:13px;font-weight:600;transition:all .15s}.stmt-month-btn:hover:not(:disabled){color:#0f766e;background:#fff;border-color:#0f766e}.stmt-month-btn.active{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border-color:#0000;box-shadow:0 4px 12px #0f766e47}.stmt-month-btn:disabled{opacity:.35;cursor:not-allowed}.stmt-format-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (max-width:480px){.stmt-format-row{grid-template-columns:1fr}}.stmt-format-btn{text-align:left;background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;transition:all .15s;display:flex}.stmt-format-btn:hover{background:#fff;border-color:#0f766e}.stmt-format-btn.active{background:#ecfdf5;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.stmt-format-label{color:#0f1419;font-size:13px;font-weight:700}.stmt-format-hint{color:#78716c;font-size:11px}.stmt-download-btn{color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#064e3b 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 20px;font-size:15px;font-weight:700;transition:transform .1s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 6px 18px #0f766e52,inset 0 1px #fff3}.stmt-download-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #0f766e66,inset 0 1px #ffffff38}.stmt-download-btn:active:not(:disabled){transform:translateY(0)}.stmt-download-btn:disabled{opacity:.7;cursor:not-allowed}.stmt-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite stmt-spin}@keyframes stmt-spin{to{transform:rotate(360deg)}}.stmt-empty{text-align:center;color:#a8a29e;background:#fafaf9;border-radius:10px;padding:24px;font-size:13px}.stmt-status{border:1px solid;border-radius:10px;margin-bottom:12px;padding:14px 16px}.stmt-status-row{align-items:center;gap:10px;font-size:14px;display:flex}.stmt-status-msg{color:#44403c;margin-top:6px;font-size:13px}.stmt-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.stmt-status-info{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.stmt-status-info .stmt-status-dot{background:#3b82f6;animation:1.4s ease-in-out infinite stmt-pulse}.stmt-status-warn{color:#92400e;background:#fffbeb;border-color:#fcd34d}.stmt-status-warn .stmt-status-dot{background:#f59e0b;animation:1.4s ease-in-out infinite stmt-pulse}.stmt-status-ok{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.stmt-status-ok .stmt-status-dot{background:#10b981}.stmt-status-err{color:#991b1b;background:#fef2f2;border-color:#fecaca}.stmt-status-err .stmt-status-dot{background:#ef4444}@keyframes stmt-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}.stmt-otp{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1px solid #fcd34d;border-radius:10px;margin-top:16px;padding:16px}.stmt-otp-row{gap:8px;display:flex}.stmt-otp-input{letter-spacing:.3em;text-align:center;background:#fff;border:2px solid #fcd34d;border-radius:10px;flex:1;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:22px;font-weight:700}.stmt-otp-input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 4px #f59e0b26}.stmt-otp-submit{color:#fff;background:linear-gradient(135deg,#d97706 0%,#b45309 100%);border:none;border-radius:10px;padding:0 22px;font-size:14px;font-weight:700;transition:transform .1s,box-shadow .15s,opacity .15s;box-shadow:0 4px 12px #d977064d}.stmt-otp-submit:hover:not(:disabled){transform:translateY(-1px)}.stmt-otp-submit:disabled{opacity:.5;cursor:not-allowed}.stmt-otp-hint{color:#92400e;margin:8px 0 0;font-size:12px}.stmt-captcha-img{max-width:200px;height:auto;image-rendering:pixelated;background:#fff;border:2px solid #fcd34d;border-radius:10px;margin:0 0 10px;display:block}.stmt-banner{border:1px solid;border-radius:10px;margin-top:14px;padding:12px 14px;font-size:13px}.stmt-banner.err{color:#991b1b;background:#fef2f2;border-color:#fecaca}.stmt-file-link{color:#065f46;text-align:center;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid #a7f3d0;border-radius:10px;margin-top:12px;padding:14px 16px;font-size:14px;font-weight:700;transition:transform .1s;display:block}.stmt-file-link:hover{transform:translateY(-1px)}.stmt-history{padding:22px}.stmt-history-list{margin:0;padding:0;list-style:none}.stmt-history-item{background:#fafaf9;border:1px solid #f0efee;border-radius:10px;align-items:center;gap:12px;margin-bottom:6px;padding:12px 14px;transition:background .15s;display:flex}.stmt-history-item:hover{background:#f5f5f4}.stmt-history-info{flex:1;min-width:0}.stmt-history-name{color:#0f1419;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.stmt-history-meta{color:#78716c;align-items:center;gap:10px;margin-top:4px;font-size:11px;display:flex}.stmt-history-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.stmt-history-dl{color:#0f766e;background:#fff;border:1px solid #e7e5e4;border-radius:8px;flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:600;transition:all .15s}.stmt-history-dl:hover{background:#ecfdf5;border-color:#0f766e}.page-padded{padding:32px}.shop-shell{background:#fafaf9;min-height:100vh}.shop-header{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);background:#ffffffeb;border-bottom:1px solid #e7e5e4;position:sticky;top:0}.shop-header-inner{justify-content:space-between;align-items:center;gap:14px;max-width:1100px;margin:0 auto;padding:14px 20px;display:flex}.shop-brand{color:inherit;align-items:center;gap:10px;display:flex}.shop-brand-icon{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#064e3b 100%);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.shop-brand h1{color:#0f1419;letter-spacing:-.01em;font-size:16px}.shop-brand p{color:#78716c;margin:2px 0 0;font-size:11px}.shop-cart-link{color:#0f766e;background:#fff;border:1px solid #e7e5e4;border-radius:9px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.shop-cart-link:hover{background:#ecfdf5;border-color:#0f766e}.shop-cart-badge{color:#fff;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.shop-main{max-width:1100px;margin:0 auto;padding:24px 20px 60px}.shop-empty{text-align:center;color:#78716c;padding:60px 20px}.shop-back{color:#0f766e;margin-bottom:14px;font-size:13px;display:inline-block}.shop-back:hover{text-decoration:underline}.shop-hero{text-align:center;padding:8px 0 28px}.shop-hero h2{color:#0f1419;letter-spacing:-.02em;font-size:26px}.shop-hero p{color:#78716c;margin:6px 0 0;font-size:14px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.shop-card{background:#fff;border:1px solid #ececec;border-radius:14px;transition:transform .15s,box-shadow .15s;overflow:hidden}.shop-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0f172a14}.shop-card-img-link{display:block}.shop-card-img{aspect-ratio:1;background:#fafaf9;justify-content:center;align-items:center;display:flex;overflow:hidden}.shop-card-img img{object-fit:cover;width:100%;height:100%}.shop-card-img-placeholder{color:#d6d3d1;font-size:60px}.shop-card-body{padding:14px}.shop-card-name{color:#0f1419;letter-spacing:-.01em;margin-bottom:4px;font-size:15px;font-weight:700;display:block}.shop-card-name:hover{color:#0f766e}.shop-card-price{color:#0f766e;font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:18px;font-weight:700}.shop-card-price span{color:#78716c;margin-left:2px;font-size:13px}.shop-card-desc{color:#57534e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:12px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.shop-card-add{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #0f766e;border-radius:8px;width:100%;padding:9px 12px;font-size:13px;font-weight:600;transition:all .15s}.shop-card-add:hover{color:#fff;background:#0f766e}.shop-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:36px;margin-top:16px;display:grid}@media (max-width:800px){.shop-detail{grid-template-columns:1fr;gap:20px}}.shop-detail-img{aspect-ratio:1;cursor:zoom-in;background:linear-gradient(135deg,#fff 0%,#f5f5f4 100%);border:1px solid #e7e5e4;border-radius:18px;justify-content:center;align-items:center;width:100%;padding:0;font-family:inherit;transition:box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.shop-detail-img:hover{box-shadow:0 12px 32px #0f172a1a}.shop-detail-img img{object-fit:cover;width:100%;height:100%}.shop-detail-img-placeholder{color:#d6d3d1;font-size:100px}.shop-detail-body{flex-direction:column;display:flex}.shop-detail-name{color:#0f1419;letter-spacing:-.02em;margin-bottom:10px;font-size:28px;font-weight:700;line-height:1.2}.shop-detail-price{color:#0000;font-variant-numeric:tabular-nums;letter-spacing:-.02em;background:linear-gradient(135deg,#0f766e 0%,#064e3b 100%);-webkit-background-clip:text;background-clip:text;align-items:baseline;gap:4px;margin-bottom:22px;font-size:32px;font-weight:800;display:inline-flex}.shop-detail-price span{color:#78716c;-webkit-text-fill-color:#78716c;background:0 0;margin-left:4px;font-size:18px}.shop-tabs{background:#fff;border:1px solid #e7e5e4;border-radius:14px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.shop-tab-list{scrollbar-width:none;background:#fafaf9;border-bottom:1px solid #e7e5e4;gap:0;display:flex;overflow-x:auto}.shop-tab-list::-webkit-scrollbar{display:none}.shop-tab{color:#78716c;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;padding:14px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:flex}.shop-tab:hover{color:#44403c;background:#0f766e0a}.shop-tab.active{color:#0f766e;background:#fff;border-bottom-color:#0f766e}.shop-tab-icon{font-size:16px}.shop-tab-label{letter-spacing:-.01em}.shop-tab-panel{color:#292524;min-height:120px;padding:18px 18px 20px;font-size:14px;line-height:1.7}.shop-tab-panel .rte-content,.shop-tab-panel .shop-section-html{color:#292524;font-size:14px}.shop-tab-panel ul,.shop-tab-panel ol{margin:4px 0;padding-left:22px}.shop-section{background:#fafaf9;border:1px solid #e7e5e4;border-radius:12px;margin-bottom:16px;padding:14px 16px}.shop-section.warn{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#fcd34d}.shop-section h3{color:#0f1419;margin-bottom:6px;font-size:13px;font-weight:700}.shop-section.warn h3{color:#92400e}.shop-section p{color:#44403c;white-space:pre-wrap;font-size:13px;line-height:1.6}.shop-qty-row{background:#fafaf9;border:1px solid #e7e5e4;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0 14px;padding:12px 14px;display:flex}.shop-qty-label{color:#78716c;font-size:13px;font-weight:600}.shop-qty{background:#fff;border:1px solid #e7e5e4;border-radius:10px;align-items:center;gap:0;display:inline-flex;overflow:hidden}.shop-qty button{cursor:pointer;color:#44403c;background:0 0;border:none;width:38px;height:38px;font-family:inherit;font-size:18px;font-weight:700}.shop-qty button:hover{color:#0f766e;background:#f5f5f4}.shop-qty input{text-align:center;color:#0f1419;background:#fff;border:none;border-left:1px solid #e7e5e4;border-right:1px solid #e7e5e4;width:56px;height:38px;font-size:16px;font-weight:700}.shop-qty input::-webkit-inner-spin-button{-webkit-appearance:none}.shop-qty input::-webkit-outer-spin-button{-webkit-appearance:none}.shop-qty-total{color:#44403c;margin-left:auto;font-size:14px}.shop-qty-total strong{color:#0f766e;font-weight:700}.shop-detail-actions{flex-direction:column;gap:10px;margin-top:6px;display:flex}.shop-detail-add,.shop-detail-buy{cursor:pointer;border-radius:12px;width:100%;padding:15px;font-family:inherit;font-size:15px;font-weight:700;transition:all .15s}.shop-detail-add{color:#0f766e;background:#fff;border:1.5px solid #0f766e}.shop-detail-add:hover{background:#ecfdf5;transform:translateY(-1px)}.shop-detail-buy{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#064e3b 100%);border:none;box-shadow:0 6px 18px #0f766e52}.shop-detail-buy:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f766e66}.shop-mobile-bar{display:none}@media (max-width:800px){.shop-detail-name{font-size:22px}.shop-detail-price{font-size:28px}.shop-tab{padding:12px 8px;font-size:12px}.shop-tab-icon{font-size:14px}.shop-tab-panel{padding:14px 14px 16px;font-size:14px}.shop-detail-img{border-radius:14px}.shop-main{padding:16px 14px 110px}.shop-mobile-bar{z-index:50;padding:10px 14px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);background:#fffffff5;border-top:1px solid #e7e5e4;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0f172a0f}.shop-mobile-bar-price{color:#0f766e;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:20px;font-weight:800}.shop-mobile-bar-price span{color:#78716c;margin-left:2px;font-size:14px;font-weight:600}.shop-mobile-bar-buy{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#064e3b 100%);border:none;border-radius:11px;flex:1;padding:13px 16px;font-family:inherit;font-size:15px;font-weight:700;box-shadow:0 4px 14px #0f766e4d}.shop-mobile-bar-buy:active{transform:translateY(1px)}}.checkout-title{color:#0f1419;letter-spacing:-.02em;margin-bottom:24px;font-size:28px;font-weight:700}.checkout-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:18px;display:grid}@media (max-width:900px){.checkout-grid{grid-template-columns:1fr}}.checkout-card{background:#fff;border:1px solid #ececec;border-radius:14px;margin-bottom:16px;padding:22px;box-shadow:0 1px 3px #0f172a0a,0 4px 12px #0f172a0a}.checkout-card:last-child{margin-bottom:0}.checkout-card h2{color:#0f1419;letter-spacing:-.01em;border-bottom:1px solid #f0efee;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;font-size:17px;font-weight:700;display:flex}.checkout-count{color:#fff;letter-spacing:.04em;background:#0f766e;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.shop-main .field{margin-bottom:14px}.shop-main .field:last-child{margin-bottom:0}.shop-main .field span{color:#57534e;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.shop-main .field input[type=text],.shop-main .field input[type=tel],.shop-main .field input[type=number],.shop-main .field input[type=url],.shop-main .field textarea,.shop-main .field select{color:#0f1419;background:#fafaf9;border:1.5px solid #e7e5e4;border-radius:10px;width:100%;padding:13px 14px;font-family:inherit;font-size:16px;transition:all .15s}.shop-main .field textarea{min-height:96px;line-height:1.55}.shop-main .field .checkout-textarea{min-height:110px;font-size:16px}.shop-main .field input:focus,.shop-main .field textarea:focus,.shop-main .field select:focus{background:#fff;border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.shop-main .field input[aria-invalid=true]{background:#fef2f2;border-color:#ef4444}.shop-main .field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #ef444426}.shop-main .field input::placeholder,.shop-main .field textarea::placeholder{color:#a8a29e}.shop-main .field .field-error{color:#dc2626;text-transform:none;letter-spacing:0;margin-top:6px;font-size:12px;font-weight:500;display:block}.shop-main .field .field-optional{color:#a8a29e;text-transform:none;letter-spacing:0;margin-left:4px;font-style:normal;font-weight:500}.shop-main .field .phone-mask{width:100%;height:50px;position:relative}.shop-main .field .phone-mask-input{letter-spacing:.12em;box-sizing:border-box;caret-color:#0f1419;z-index:1;background:#fafaf9;border:1.5px solid #e7e5e4;border-radius:10px;width:100%;height:100%;margin:0;padding:0 14px;transition:all .15s;position:absolute;inset:0;color:#0000!important;-webkit-text-fill-color:transparent!important;font:600 18px/50px ui-monospace,SFMono-Regular,Menlo,monospace!important}.shop-main .field .phone-mask-input::selection{background:#0f766e2e}.shop-main .field .phone-mask-input:focus{background:#fff;border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.shop-main .field .phone-mask.invalid .phone-mask-input{background:#fef2f2;border-color:#ef4444}.shop-main .field .phone-mask.invalid .phone-mask-input:focus{box-shadow:0 0 0 3px #ef444426}.shop-main .field .phone-mask .phone-mask-overlay{pointer-events:none;letter-spacing:.12em;color:#0f1419;text-transform:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2;background:0 0;margin:0;padding:0 14px;font:600 18px/50px ui-monospace,SFMono-Regular,Menlo,monospace;display:block;position:absolute;inset:0;overflow:hidden}.shop-main .field .phone-mask .phone-mask-typed,.shop-main .field .phone-mask .phone-mask-stars{font:inherit;letter-spacing:inherit;text-transform:none;margin:0;padding:0;font-style:normal;display:inline}.shop-main .field .phone-mask .phone-mask-typed{color:#0f1419}.shop-main .field .phone-mask .phone-mask-stars{color:#a8a29e;font-weight:400}.checkout-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><path fill='none' stroke='%2378716c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 5l4 4 4-4'/></svg>");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px!important}.checkout-items{margin:0;padding:0;list-style:none}.checkout-item{border-bottom:1px solid #f5f4f3;grid-template-columns:72px 1fr;align-items:start;gap:14px;padding:14px 0;display:grid}.checkout-item:first-child{padding-top:0}.checkout-item:last-child{border-bottom:none;padding-bottom:0}.checkout-item-img{background:#fafaf9;border:1px solid #f0efee;border-radius:10px;justify-content:center;align-items:center;width:72px;height:72px;font-size:28px;display:flex;overflow:hidden}.checkout-item-img img{object-fit:cover;width:100%;height:100%}.checkout-item-info{flex-direction:column;gap:8px;min-width:0;display:flex}.checkout-item-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.checkout-item-name{color:#0f1419;letter-spacing:-.01em;word-break:break-word;flex:1;min-width:0;font-size:14px;font-weight:700;line-height:1.35}.checkout-item-price{color:#78716c;font-variant-numeric:tabular-nums;font-size:12px}.checkout-item-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.checkout-item-total{color:#0f766e;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;font-size:16px;font-weight:800}.checkout-item-total span{color:#78716c;margin-left:2px;font-size:12px;font-weight:600}.checkout-item-remove{color:#a8a29e;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:14px;transition:all .15s;display:flex}.checkout-item-remove:hover{color:#ef4444;background:#fef2f2}@media (max-width:480px){.checkout-item{grid-template-columns:60px 1fr;gap:12px}.checkout-item-img{width:60px;height:60px}}.payment-options{flex-direction:column;gap:10px;display:flex}.payment-option{cursor:pointer;background:#fff;border:2px solid #e7e5e4;border-radius:12px;align-items:center;gap:14px;padding:16px 18px;transition:all .15s;display:flex}.payment-option:hover{background:#fafaf9;border-color:#d6d3d1}.payment-option.active{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.payment-option input{accent-color:#0f766e;flex-shrink:0;width:18px;height:18px}.payment-option-title{color:#0f1419;font-size:14px;font-weight:700}.payment-option-sub{color:#65a30d;margin-top:3px;font-size:12px;font-weight:500}.payment-option:not(.active) .payment-option-sub{color:#78716c}.checkout-summary{align-self:flex-start;position:sticky;top:88px;background:linear-gradient(135deg,#fafffd 0%,#ecfdf5 100%)!important;border-color:#a7f3d0!important}.checkout-line{color:#44403c;border-bottom:1px dashed #d1fae5;justify-content:space-between;align-items:baseline;padding:10px 0;font-size:14px;display:flex}.checkout-line:last-of-type{border-bottom:none}.checkout-line strong{font-variant-numeric:tabular-nums;font-weight:700}.checkout-line.discount,.checkout-line.discount strong{color:#065f46}.checkout-line.total{color:#0f1419;border-bottom:none;margin-top:10px;padding:16px 0 0;font-size:16px;font-weight:700;border-top:2px solid #0f766e!important}.checkout-line.total strong{color:#0f766e;letter-spacing:-.02em;font-size:28px}.checkout-submit{color:#fff;cursor:pointer;letter-spacing:.01em;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#064e3b 100%);border:none;border-radius:12px;width:100%;margin-top:18px;padding:16px;font-size:15px;font-weight:700;transition:all .15s;box-shadow:0 6px 18px #0f766e52,inset 0 1px #fff3}.checkout-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #0f766e66,inset 0 1px #fff3}.checkout-submit:active:not(:disabled){transform:translateY(0)}.checkout-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:12px;padding:12px 14px;font-size:14px;font-weight:500}.checkout-submit:disabled{color:#fafaf9;cursor:not-allowed;box-shadow:none;background:#d6d3d1}.checkout-help{color:#78716c;text-align:center;margin:10px 0 0;font-size:11px;font-style:italic}.order-status-card{background:#fff;border:1px solid #ececec;border-radius:14px;max-width:720px;margin:8px auto 0;padding:24px;box-shadow:0 1px 3px #0f172a0a,0 6px 18px #0f172a0f}.order-status-header{border-bottom:1px solid #f0efee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:14px;display:flex}.order-status-header h1{color:#0f1419;letter-spacing:-.02em;font-size:22px;font-weight:700}.order-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.order-status-pending{color:#92400e;background:#fef3c7}.order-status-paid{color:#065f46;background:#d1fae5}.order-status-shipped{color:#1e40af;background:#dbeafe}.order-status-delivered{color:#3730a3;background:#c7d2fe}.order-status-cancelled{color:#991b1b;background:#fee2e2}.order-status-expired{color:#6b7280;background:#f3f4f6}.order-pay-card{background:#fafaf9;border:1px solid #e7e5e4;border-radius:12px;margin:16px 0;padding:18px}.order-pay-card.transfer{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border-color:#93c5fd}.order-pay-card.qpay{background:linear-gradient(135deg,#fdf4ff 0%,#fae8ff 100%);border-color:#d8b4fe}.order-pay-card.success{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-color:#6ee7b7}.order-pay-card.warn{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:#fcd34d}.order-pay-card h2{color:#0f1419;letter-spacing:-.01em;margin-bottom:10px;font-size:16px;font-weight:700}.order-pay-help{color:#44403c;font-size:13px;line-height:1.6}.order-pay-row{border-bottom:1px dashed #0f172a14;justify-content:space-between;align-items:baseline;padding:8px 0;font-size:14px;display:flex}.order-pay-row:last-of-type{border-bottom:none}.order-pay-row strong{font-variant-numeric:tabular-nums;color:#0f1419;letter-spacing:-.01em;font-size:16px;font-weight:800}.order-pay-value{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.copy-btn{color:#44403c;cursor:pointer;white-space:nowrap;background:#ffffffb3;border:1px solid #0f172a1f;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.copy-btn:hover{color:#0f766e;background:#fff;border-color:#0f766e}.copy-btn:active{transform:scale(.96)}.order-summary{border-top:1px solid #f0efee;margin-top:20px;padding-top:16px}.order-summary h3{color:#0f1419;letter-spacing:-.01em;margin-bottom:12px;font-size:14px;font-weight:700}.order-info-row{justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:13px;display:flex}.order-info-row span{color:#78716c;flex-shrink:0}.order-info-row strong{color:#0f1419;text-align:right;word-break:break-word;font-weight:600}.order-info-row.total{border-top:1px solid #e7e5e4;margin-top:10px;padding-top:12px;font-size:15px}.order-info-row.total strong{color:#0f766e;font-size:17px;font-weight:800}.order-items{border-top:1px dashed #e7e5e4;border-bottom:1px dashed #e7e5e4;margin:0;padding:12px 0;list-style:none}.order-items li{grid-template-columns:1fr auto auto;align-items:baseline;gap:12px;padding:6px 0;font-size:13px;display:grid}.order-items li span:nth-child(2){color:#78716c;font-variant-numeric:tabular-nums}.order-items li span:nth-child(3){color:#0f766e;font-variant-numeric:tabular-nums}.order-help{color:#78716c;margin:8px 0;font-size:12px}.order-help code{background:#f5f4f3;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.order-qr{background:#fff;border:1px solid #e7e5e4;border-radius:12px;justify-content:center;align-items:center;max-width:260px;margin:14px auto;padding:14px;display:flex}.order-qr img{width:220px;height:220px;image-rendering:pixelated}.order-qpay-apps{margin-top:14px}.order-qpay-apps-label{color:#78716c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12px;font-weight:600}.order-qpay-apps-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;display:grid}.order-qpay-app{color:#44403c;text-align:center;background:#fff;border:1px solid #e7e5e4;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px;font-size:11px;text-decoration:none;transition:all .15s;display:flex}.order-qpay-app:hover{border-color:#d8b4fe;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}.order-qpay-app img{object-fit:contain;width:32px;height:32px}.order-qpay-app span{word-break:break-word;line-height:1.2}.order-check-btn{color:#0f766e;cursor:pointer;background:#fff;border:1.5px solid #0f766e;border-radius:10px;width:100%;margin-top:14px;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.order-check-btn:hover:not(:disabled){background:#ecfdf5}.order-check-btn:disabled{opacity:.6;cursor:not-allowed}.order-verify-msg{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.5}.orders-filter{background:#fff;border:1px solid #e7e5e4;border-radius:12px;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:6px;display:flex}.orders-filter-btn{cursor:pointer;color:#57534e;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.orders-filter-btn:hover{color:#0f1419;background:#fafaf9}.orders-filter-btn.active{color:#fff;background:#0f766e}.orders-filter-count{background:#00000014;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.orders-filter-btn.active .orders-filter-count{color:#fff;background:#ffffff38}.orders-list{flex-direction:column;gap:10px;display:flex}.order-card{background:#fff;border:1px solid #e7e5e4;border-radius:12px;transition:box-shadow .15s;overflow:hidden}.order-card:hover{box-shadow:0 4px 14px #0f172a0f}.order-card.status-pending{border-left:3px solid #f59e0b}.order-card.status-paid{border-left:3px solid #10b981}.order-card.status-shipped{border-left:3px solid #3b82f6}.order-card.status-delivered{border-left:3px solid #6366f1}.order-card.status-cancelled{opacity:.7;border-left:3px solid #ef4444}.order-card.status-expired{opacity:.7;border-left:3px solid #9ca3af}.order-card-head{cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.order-card-head-actions{align-items:center;gap:8px;display:flex}.lx-mini-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.lx-mini-badge.pushed{color:#065f46;background:#d1fae5}.lx-mini-badge.pushing{color:#92400e;background:#fef3c7}.lx-mini-badge.failed{color:#991b1b;background:#fee2e2}.payment-method-label{align-items:center;gap:6px;display:inline-flex}.paid-mini-badge{color:#065f46;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#d1fae5;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.order-card-id{align-items:center;gap:10px;display:flex}.order-card-id strong{color:#0f1419;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.order-card-meta{color:#57534e;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.order-card-meta .dot{color:#d6d3d1}.order-card-amount{color:#0f766e;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:15px;font-weight:800}.order-card-toggle{color:#a8a29e;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;display:flex}.order-card-body{border-top:1px solid #f5f4f3;padding:0 16px 16px}.order-card-grid{grid-template-columns:1fr 1fr;gap:12px 18px;padding:14px 0;display:grid}.order-card-grid-wide{grid-column:1/-1}.order-card-label{color:#78716c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;font-size:11px;font-weight:600}.order-card-grid div div:not(.order-card-label){color:#0f1419;word-break:break-word;font-size:14px}.order-card-grid code{background:#f5f4f3;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}.order-items-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:13px}.order-items-table th,.order-items-table td{text-align:left;border-bottom:1px solid #f5f4f3;padding:8px 10px}.order-items-table th{color:#78716c;text-transform:uppercase;letter-spacing:.04em;background:#fafaf9;font-size:11px;font-weight:600}.order-items-table td:nth-child(2),.order-items-table td:nth-child(3),.order-items-table td:nth-child(4),.order-items-table th:nth-child(2),.order-items-table th:nth-child(3),.order-items-table th:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}.order-items-table tfoot td{background:#fafaf9;border-top:2px solid #e7e5e4;padding-top:10px}.order-card-discount{color:#065f46;background:#ecfdf5;border-radius:6px;margin-top:8px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-block}@media (max-width:700px){.order-card-head{grid-template-columns:auto 1fr auto;gap:8px}.order-card-toggle{display:none}.order-card-meta{font-size:12px}.order-card-grid{grid-template-columns:1fr}.order-items-table{font-size:12px}.order-items-table th,.order-items-table td{padding:6px 4px}}.order-card-delivery{border-top:1px dashed #e7e5e4;margin-top:14px;padding-top:14px}.order-card-delivery-status{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.lx-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.lx-badge.none{color:#78716c;background:#f5f4f3}.lx-badge.pushing{color:#92400e;background:#fef3c7}.lx-badge.pushed{color:#065f46;background:#d1fae5}.lx-badge.failed{color:#991b1b;cursor:help;background:#fee2e2}.order-card-delivery-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.lx-msg{color:#44403c;font-size:12px}.lx-error{color:#991b1b;word-break:break-word;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:6px;padding:8px 10px;font-size:12px}.lx-debug{color:#57534e;margin-top:8px;font-size:12px}.lx-debug summary{cursor:pointer;-webkit-user-select:none;user-select:none}.lx-debug ul{flex-direction:column;gap:3px;margin:0;padding:6px 0 0;list-style:none;display:flex}.lx-debug a{color:#0f766e;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px}.lx-debug a:hover{text-decoration:underline}.shop-settings{flex-direction:column;gap:16px;display:flex}.sms-tpl-meta{color:#78716c;font-variant-numeric:tabular-nums;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.sms-tpl-placeholders{color:#44403c;background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:14px;padding:12px 14px;font-size:12px;display:flex}.sms-tpl-placeholders strong{color:#78716c;text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:11px}.sms-tpl-placeholders code{color:#0f766e;background:#fff;border:1px solid #e7e5e4;border-radius:4px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11.5px;font-weight:600}.sms-tpl-preview{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:1px solid #a7f3d0;border-radius:10px;margin-top:14px;padding:14px 16px}.sms-tpl-preview-label{color:#065f46;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px;font-weight:600}.sms-tpl-preview-text{color:#064e3b;word-break:break-word;font-family:ui-monospace,SFMono-Regular,monospace;font-size:14px;line-height:1.55}.sms-tpl-msg{font-size:13px;font-weight:600}.sms-tpl-msg.ok{color:#065f46}.sms-tpl-msg.err{color:#dc2626}.shop-admin-list{flex-direction:column;gap:10px;display:flex}.shop-admin-card{background:#fff;border:1px solid #ececec;border-radius:10px;grid-template-columns:70px 1fr auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.shop-admin-card.inactive{opacity:.6;background:#fafaf9}.shop-admin-img{background:#fafaf9;border-radius:8px;justify-content:center;align-items:center;width:70px;height:70px;display:flex;overflow:hidden}.shop-admin-img img{object-fit:cover;width:100%;height:100%}.shop-admin-img-placeholder{color:#d6d3d1;font-size:32px}.shop-admin-name{color:#0f1419;font-size:14px;font-weight:700}.shop-admin-price{color:#0f766e;margin-top:2px;font-size:14px;font-weight:600}.shop-admin-desc{color:#78716c;margin-top:4px;font-size:11px;line-height:1.4}.shop-admin-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.shop-badge{color:#57534e;text-transform:uppercase;letter-spacing:.04em;background:#f5f5f4;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.shop-badge.inactive{color:#991b1b;background:#fef2f2}.shop-badge.badge-online{color:#1e40af;background:#dbeafe;font-weight:600}.shop-badge.badge-pos{color:#0f766e;background:#ccfbf1;font-weight:600}.shop-badge.badge-both{color:#6d28d9;background:#ede9fe;font-weight:600}.shop-admin-actions{flex-direction:column;gap:6px;display:flex}.prod-editor{min-width:360px;max-width:560px;padding:4px 6px}.prod-editor-title{color:#0f1419;letter-spacing:-.01em;margin:0 0 16px;font-size:17px;font-weight:700}.prod-editor-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (max-width:480px){.prod-editor-grid{grid-template-columns:1fr}}.prod-editor-actions{border-top:1px solid #f0efee;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;display:flex}.prod-form{flex-direction:column;gap:16px;display:flex}.prod-form-card{background:#fff;border:1px solid #ececec;border-radius:12px;padding:20px}.prod-form-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (max-width:600px){.prod-form-row{grid-template-columns:1fr}}.prod-form-section-title{color:#0f1419;letter-spacing:-.01em;margin:0 0 10px;font-size:14px;font-weight:700}.prod-form-actions{justify-content:flex-end;gap:10px;padding:16px 0;display:flex}.rte{background:#fff;border:1px solid #d6d3d1;border-radius:9px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.rte:focus-within{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.rte-toolbar{background:#fafaf9;border-bottom:1px solid #ececec;flex-wrap:wrap;gap:2px;padding:6px 8px;display:flex}.rte-btn{color:#44403c;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:600;transition:all .1s;display:inline-flex}.rte-btn:hover{background:#fff;border-color:#e7e5e4}.rte-btn.active{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.rte-sep{background:#e7e5e4;width:1px;height:22px;margin:4px}.rte-content{color:#0f1419;outline:none;padding:12px 14px;font-size:14px;line-height:1.6}.rte-content p{margin:0 0 8px}.rte-content p:last-child{margin-bottom:0}.rte-content h3{color:#0f1419;margin:12px 0 6px;font-size:16px;font-weight:700}.rte-content h4{color:#0f1419;margin:10px 0 4px;font-size:14px;font-weight:700}.rte-content ul{margin:4px 0 8px;padding-left:22px;list-style:outside}.rte-content ol{margin:4px 0 8px;padding-left:22px;list-style:decimal}.rte-content li{margin:2px 0;display:list-item}.rte-content ul ul{list-style:circle}.rte-content ul ul ul{list-style:square}.rte-content a{color:#0f766e;text-decoration:underline}.rte-content strong{font-weight:700}.rte-content em{font-style:italic}.rte-content u{text-decoration:underline}.rte-content[data-placeholder]:empty:before,.rte-content>p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#a8a29e;pointer-events:none;float:left;height:0}.rte-loading{color:#a8a29e;padding:14px;font-size:13px}.img-uploader{margin-top:6px}.img-uploader-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.img-thumb{aspect-ratio:1;background:#fafaf9;border:1px solid #e7e5e4;border-radius:9px;position:relative;overflow:hidden}.img-thumb img{object-fit:cover;width:100%;height:100%}.img-thumb-loading{color:#a8a29e;justify-content:center;align-items:center;height:100%;display:flex}.img-thumb-primary{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#0f766e;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:6px;left:6px}.img-thumb-actions{opacity:0;background:linear-gradient(#0000,#0009);justify-content:space-between;padding:4px;transition:opacity .15s;display:flex;position:absolute;bottom:0;left:0;right:0}.img-thumb:hover .img-thumb-actions{opacity:1}.img-thumb-actions button{color:#0f1419;cursor:pointer;background:#ffffffe6;border:none;border-radius:5px;width:26px;height:26px;font-size:12px;font-weight:700}.img-thumb-actions button:disabled{opacity:.3;cursor:not-allowed}.img-thumb-actions button.danger:hover{color:#fff;background:#ef4444}.img-add{aspect-ratio:1;color:#78716c;cursor:pointer;text-align:center;background:#fafaf9;border:2px dashed #d6d3d1;border-radius:9px;justify-content:center;align-items:center;padding:10px;font-size:12px;font-weight:600;display:flex}.img-add:hover:not(:disabled){color:#0f766e;background:#ecfdf5;border-color:#0f766e}.img-uploader-help{color:#a8a29e;margin-top:8px;font-size:11px}.shop-detail-gallery{flex-direction:column;gap:12px;display:flex}.shop-detail-img-wrap{position:relative}.shop-detail-img-zoom-hint{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:#0f172a8c;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;transition:opacity .2s;display:flex;position:absolute;top:12px;right:12px}.shop-detail-img:hover .shop-detail-img-zoom-hint{opacity:1}.shop-detail-nav{color:#0f1419;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;background:#ffffffeb;border:1px solid #0f172a14;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-family:inherit;font-size:24px;font-weight:700;line-height:1;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #0f172a2e}.shop-detail-nav:hover{color:#0f766e;background:#fff;transform:translateY(-50%)scale(1.06)}.shop-detail-nav:active{transform:translateY(-50%)scale(.96)}.shop-detail-nav.prev{left:12px}.shop-detail-nav.next{right:12px}.shop-detail-counter{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a99;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.shop-lightbox{z-index:100;background:#0f172aeb;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out shop-lightbox-fade;display:flex;position:fixed;inset:0}@keyframes shop-lightbox-fade{0%{opacity:0}to{opacity:1}}.shop-lightbox-img{object-fit:contain;cursor:zoom-out;border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 20px 60px #00000080}.shop-lightbox-close{color:#fff;cursor:pointer;z-index:2;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-family:inherit;font-size:20px;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.shop-lightbox-close:hover{background:#ffffff38}.shop-lightbox-nav{color:#fff;cursor:pointer;z-index:2;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;padding:0;font-family:inherit;font-size:30px;font-weight:700;line-height:1;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.shop-lightbox-nav:hover{background:#ffffff38;transform:translateY(-50%)scale(1.05)}.shop-lightbox-nav.prev{left:20px}.shop-lightbox-nav.next{right:20px}.shop-lightbox-counter{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:800px){.shop-detail-nav{width:38px;height:38px;font-size:22px}.shop-detail-nav.prev{left:8px}.shop-detail-nav.next{right:8px}.shop-lightbox-nav{width:42px;height:42px;font-size:26px}.shop-lightbox-nav.prev{left:8px}.shop-lightbox-nav.next{right:8px}.shop-lightbox{padding:12px}}.shop-detail-thumbs{scrollbar-width:none;flex-wrap:wrap;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.shop-detail-thumbs::-webkit-scrollbar{display:none}.shop-detail-thumb{cursor:pointer;background:#fafaf9;border:2px solid #e7e5e4;border-radius:10px;flex-shrink:0;width:64px;height:64px;padding:0;transition:all .15s;overflow:hidden}.shop-detail-thumb img{object-fit:cover;width:100%;height:100%}.shop-detail-thumb:hover{border-color:#d6d3d1;transform:translateY(-1px)}.shop-detail-thumb.active{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e26}@media (max-width:800px){.shop-detail-thumbs{flex-wrap:nowrap}.shop-detail-thumb{width:56px;height:56px}}.stmt-summary-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}@media (max-width:720px){.stmt-summary-row{grid-template-columns:repeat(2,1fr)}}.stmt-summary-card{background:#fff;border:1px solid #ececec;border-radius:12px;padding:16px 18px;transition:transform .1s;box-shadow:0 1px 3px #0f172a0a}.stmt-summary-card:hover{transform:translateY(-2px)}.stmt-summary-label{color:#78716c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px;font-weight:600}.stmt-summary-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.stmt-summary-cur{color:#a8a29e;margin-left:2px;font-size:14px}.stmt-summary-in{border-left:4px solid #10b981}.stmt-summary-in .stmt-summary-value{color:#065f46}.stmt-summary-out{border-left:4px solid #ef4444}.stmt-summary-out .stmt-summary-value{color:#991b1b}.stmt-summary-neutral{border-left:4px solid #0f766e}.stmt-summary-neutral .stmt-summary-value{color:#0f1419}.stmt-txn-card{margin-bottom:18px;padding:22px}.stmt-txn-count{color:#78716c;background:#f5f5f4;border-radius:999px;margin-left:10px;padding:3px 10px;font-size:12px;font-weight:500}.stmt-txn-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stmt-filter-tabs{background:#f5f5f4;border:1px solid #ececec;border-radius:9px;gap:4px;padding:4px;display:flex}.stmt-filter-tab{color:#78716c;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.stmt-filter-tab:hover{color:#0f1419}.stmt-filter-tab.active{color:#0f766e;background:#fff;box-shadow:0 1px 3px #0f172a14}.stmt-search{background:#fafaf9;border:1px solid #e7e5e4;border-radius:9px;flex:1;min-width:180px;padding:8px 14px;font-size:13px;transition:all .15s}.stmt-search:focus{background:#fff;border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.stmt-txn-list{margin:0;padding:0;list-style:none}.stmt-txn{background:#fff;border:1px solid #f0efee;border-radius:10px;gap:12px;margin-bottom:6px;padding:14px 16px;transition:all .15s;display:flex}.stmt-txn:hover{border-color:#d6d3d1;transform:translate(2px);box-shadow:0 2px 8px #0f172a0a}.stmt-txn-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.stmt-txn-in .stmt-txn-icon{color:#10b981;background:#ecfdf5}.stmt-txn-out .stmt-txn-icon{color:#ef4444;background:#fef2f2}.stmt-txn-neutral .stmt-txn-icon{color:#78716c;background:#f5f5f4}.stmt-txn-body{flex:1;min-width:0}.stmt-txn-line1{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.stmt-txn-desc{color:#0f1419;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.stmt-txn-amount{font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex-shrink:0;font-size:16px;font-weight:700}.stmt-txn-in .stmt-txn-amount{color:#065f46}.stmt-txn-out .stmt-txn-amount{color:#991b1b}.stmt-txn-cur{color:#a8a29e;font-size:12px}.stmt-txn-line2{color:#78716c;flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.stmt-txn-date{font-variant-numeric:tabular-nums;font-weight:500}.stmt-txn-contra{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.stmt-txn-balance{font-variant-numeric:tabular-nums;margin-left:auto}.booking-sms-pill{letter-spacing:.02em;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;align-items:center;gap:4px;margin-top:4px;padding:3px 9px;font-size:11px;font-weight:600;transition:transform .1s;display:inline-flex}.booking-sms-pill:hover{transform:translateY(-1px)}.booking-sms-pill.ok{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.booking-sms-pill.fail{color:#991b1b;background:#fef2f2;border-color:#fecaca}.sms-modal-body{min-width:320px;max-width:480px;padding:4px 6px}.sms-modal-title{color:#0f1419;letter-spacing:-.01em;margin:0 0 14px;font-size:17px;font-weight:700}.sms-modal-row{gap:14px;margin-bottom:8px;font-size:13px;display:flex}.sms-modal-label{color:#78716c;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;width:90px;padding-top:2px;font-size:11px;font-weight:600}.sms-modal-text{margin-top:14px}.sms-modal-text pre{color:#0f1419;white-space:pre-wrap;word-break:break-word;background:#fafaf9;border:1px solid #ececec;border-radius:9px;margin:6px 0 0;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;line-height:1.5}.sms-ok{color:#065f46;font-weight:600}.sms-fail{color:#991b1b;font-weight:600}.sms-modal-actions{border-top:1px solid #f0efee;justify-content:flex-end;margin-top:16px;padding-top:12px;display:flex}.skytel-row{align-items:stretch;gap:8px;display:flex}.skytel-input{background:#fafaf9;border:1px solid #e7e5e4;border-radius:9px;flex:1;padding:10px 14px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;transition:all .15s}.skytel-input:focus{background:#fff;border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1f}.input-with-mic{display:block}.input-with-mic input,.input-with-mic textarea{width:100%}.mic-btn{color:#44403c;cursor:pointer;background:#fafaf9;border:1px solid #e7e5e4;border-radius:7px;align-items:center;gap:6px;margin:6px 6px 0 0;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.mic-btn-icon{font-size:13px;line-height:1}.mic-btn-label{letter-spacing:.01em}.mic-btn:hover:not(:disabled){color:#0f1419;border-color:#0f766e}.mic-btn:hover{background:#fff;border-color:#0f766e}@keyframes mic-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.mic-btn-gemini{background:#fafaf9;border-color:#e7e5e4}.mic-btn-chimege{color:#1e3a8a;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);border-color:#93c5fd}.mic-btn-chimege:hover:not(:disabled){background:linear-gradient(135deg,#bfdbfe 0%,#93c5fd 100%);border-color:#60a5fa}.polish-btn{color:#78350f;cursor:pointer;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #fcd34d;border-radius:7px;align-items:center;gap:6px;margin:6px 0 0;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.polish-btn:hover:not(:disabled){background:linear-gradient(135deg,#fde68a 0%,#fcd34d 100%);border-color:#f59e0b}.polish-btn:disabled,.mic-btn:disabled{opacity:.4;cursor:not-allowed}.polish-btn.busy{opacity:.7}.mic-btn.recording{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-color:#0000;animation:1.2s ease-in-out infinite mic-pulse}.input-with-mic .mic-btn:disabled,.mic-btn:disabled{opacity:.5;cursor:not-allowed}.mic-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:6px 0 0;padding:6px 10px;font-size:11px;font-weight:600;display:block}.messaging-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}@media (max-width:900px){.messaging-grid{grid-template-columns:1fr}}.messaging-panel{background:#fff;border:1px solid #e7e5e4;border-radius:12px;padding:16px}.messaging-panel-title{color:#44403c;margin:0 0 12px;font-size:14px;font-weight:700}.messaging-modes{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;display:grid}.mode-btn{color:#57534e;cursor:pointer;text-align:left;background:#fafaf9;border:1px solid #e7e5e4;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .15s}.mode-btn:hover{background:#f5f5f4}.mode-btn.active{color:#0f766e;background:#f0fdfa;border-color:#14b8a6}.messaging-recipients{border-top:1px dashed #e7e5e4;margin-top:14px;padding-top:14px}.recipients-pills{flex-wrap:wrap;gap:6px;max-height:200px;display:flex;overflow-y:auto}.recipient-pill{color:#115e59;background:#f0fdfa;border:1px solid #99f6e4;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.recipient-pill .recipient-name{color:#57534e;font-size:11px;font-weight:400}.recipient-pill button{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;font-weight:700;line-height:1}.search-list{border:1px solid #e7e5e4;border-radius:8px;max-height:280px;overflow-y:auto}.search-row{cursor:pointer;border-bottom:1px solid #f5f5f4;align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:background .1s;display:flex}.search-row:last-child{border-bottom:none}.search-row:hover{background:#fafaf9}.search-row.checked{background:#f0fdfa}.category-btn{color:#44403c;cursor:pointer;text-align:left;background:#fafaf9;border:1px solid #e7e5e4;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .15s}.category-btn:hover:not(:disabled){background:#f0fdfa;border-color:#99f6e4}.category-btn:disabled{opacity:.5;cursor:not-allowed}.templates-bar{background:#fafaf9;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding:8px;display:flex}.template-chip{background:#fff;border:1px solid #d6d3d1;border-radius:14px;align-items:center;font-size:12px;display:inline-flex;overflow:hidden}.template-chip>button:first-child{cursor:pointer;color:#44403c;background:0 0;border:none;padding:4px 10px;font-weight:600}.template-chip>button:first-child:hover{background:#f5f5f4}.template-chip-del{color:#a8a29e;cursor:pointer;background:0 0;border:none;border-left:1px solid #e7e5e4;padding:4px 8px}.template-chip-del:hover{color:#dc2626;background:#fef2f2}.variable-bar{background:#fefce8;border:1px solid #fef3c7;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.var-chip{color:#92400e;font-size:11px;font-family:var(--font-mono);cursor:pointer;background:#fff;border:1px solid #fcd34d;border-radius:4px;padding:3px 8px;font-weight:700}.var-chip:hover{background:#fef3c7}.msg-preview{background:#f0fdfa;border:1px dashed #99f6e4;border-radius:6px;margin-top:10px;padding:10px}.msg-preview-text{white-space:pre-wrap;color:#115e59;font-size:13px;font-family:var(--font-mono)}.send-summary{border-top:1px solid #e7e5e4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;display:flex}.alert-warning{color:#854d0e;background:#fefce8;border:1px solid #fde68a;border-radius:6px;padding:8px 12px}.alert-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:8px 12px;font-size:13px}.btn-success{color:#fff;background:#16a34a;border-color:#16a34a}.btn-success:hover:not(:disabled){background:#15803d;border-color:#15803d}.visit-pay-status{white-space:nowrap;border-radius:14px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.visit-pay-status.paid{color:#166534;background:#dcfce7;border:1px solid #86efac}.visit-pay-status.unpaid{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.site-legal{color:#6b7280;text-align:center;background:#f9fafb;border-top:1px solid #e5e7eb;padding:14px 16px;font-size:12px;line-height:1.7}.site-legal-inner{max-width:1100px;margin:0 auto}.site-legal strong{color:#374151;font-weight:600}.site-legal a{color:#6b7280;text-decoration:underline}.site-legal a:hover{color:#374151}.app-shell{--sidebar-width:260px;min-height:100vh;display:flex}.app-shell.sidebar-collapsed{--sidebar-width:72px}.app-sidebar{width:var(--sidebar-width);z-index:50;background:#fff;border-right:1px solid #e7e5e4;flex-direction:column;height:100vh;transition:width .2s,transform .25s;display:flex;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 1px 3px #0000000a}.sidebar-brand{border-bottom:1px solid #f5f5f4;flex-shrink:0;justify-content:space-between;align-items:center;min-height:72px;padding:18px 16px;display:flex}.brand-link{color:inherit;flex:1;align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.sidebar-brand .brand-icon{background:linear-gradient(135deg,#0f5e3a,#14b87a);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.sidebar-brand .brand-icon:after{content:none}.sidebar-brand .brand-text{min-width:0}.sidebar-brand .brand-text h1{color:#1c1917;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:700;overflow:hidden}.sidebar-brand .brand-text p{color:#78716c;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:11px;overflow:hidden}.collapse-btn{cursor:pointer;color:#78716c;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.collapse-btn:hover{color:#1c1917;background:#f5f5f4}.collapse-btn .rotate-180{display:inline-flex;transform:rotate(180deg)}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#e7e5e4;border-radius:4px}.sidebar-link{color:#57534e;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.sidebar-link:hover{color:#1c1917;background:#f5f5f4}.sidebar-link.active{color:#0f5e3a;background:#ecfdf5;font-weight:600}.sidebar-link.active:before{content:"";background:#0f5e3a;border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.sidebar-link-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-shell.sidebar-collapsed .sidebar-link{justify-content:center;padding:10px}.sidebar-footer{border-top:1px solid #f5f5f4;flex-shrink:0;padding:10px 10px 12px}.sidebar-user{border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.sidebar-avatar{color:#fff;background:#0f5e3a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{color:#1c1917;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:#78716c;margin-top:1px;font-size:11px}.sidebar-logout{cursor:pointer;color:#57534e;background:0 0;border:1px solid #e7e5e4;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:40px;margin-top:8px;padding:9px 10px;font-size:13px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:flex}.sidebar-logout:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.app-shell.sidebar-collapsed .sidebar-logout,.app-shell.sidebar-collapsed .sidebar-user{justify-content:center;padding:9px}.app-main{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-width:0;transition:margin-left .2s;display:flex}.app-header{z-index:20;height:60px;padding:0 24px;padding-top:env(safe-area-inset-top,0);background:#fff;border-bottom:1px solid #e7e5e4;align-items:center;gap:12px;display:flex;position:sticky;top:0}.hamburger-btn{cursor:pointer;color:#57534e;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:none}.hamburger-btn:hover{background:#f5f5f4}.app-header-title{color:#1c1917;flex:1;margin:0;font-size:18px;font-weight:600}.app-header-actions{align-items:center;gap:8px;display:flex}.app-content{background:#fafaf9;flex:1;min-height:calc(100vh - 60px);padding:24px}.sidebar-overlay{z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;display:none;position:fixed;inset:0}@media (max-width:1023px){.app-shell{--sidebar-width:260px}.app-sidebar{transform:translate(-100%)}.app-sidebar.mobile-open{transform:translate(0)}.app-shell.sidebar-collapsed .app-sidebar{width:260px}.app-shell.sidebar-collapsed .sidebar-link{justify-content:flex-start;padding:10px 12px}.app-shell.sidebar-collapsed .sidebar-user,.app-shell.sidebar-collapsed .sidebar-logout{justify-content:flex-start;padding:9px 10px}.app-main{margin-left:0}.sidebar-overlay{display:block}.hamburger-btn{display:flex}.collapse-btn{display:none}.app-content{padding:16px}}.topbar{display:none}@media print{.app-sidebar,.app-header{display:none!important}.app-main{margin-left:0!important}.app-content{background:#fff!important;padding:0!important}}.app-content .page-padded{padding:0}.cost-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px;display:grid}.cost-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.cost-card.primary{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#6ee7b7}.cost-card.external{background:#fefce8;border-color:#fde68a}.cost-card-label{color:#6b7280;font-size:12px;font-weight:600}.cost-card-value{color:#0f5e3a;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.cost-card.external .cost-card-value,.cost-card-value.muted{color:#92400e;font-size:14px;font-weight:600}.cost-card-sub{color:#6b7280;font-size:11px;line-height:1.5}.cost-details{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-top:14px}.cost-details>summary{cursor:pointer;color:#374151;padding:10px 14px;font-size:13px;font-weight:600;list-style:none}.cost-details>summary:after{content:"▾";float:right;color:#9ca3af}.cost-details[open]>summary:after{content:"▴"}.cost-table{border-collapse:collapse;border-top:1px solid #e5e7eb;width:100%;font-size:12px}.cost-table th,.cost-table td{text-align:left;border-bottom:1px solid #f3f4f6;padding:8px 12px}.cost-table th{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;font-size:11px;font-weight:600}.cost-table tbody tr:last-child td{border-bottom:none}.cost-table code{background:#f3f4f6;border-radius:4px;padding:1px 6px;font-size:11px}.cost-table .muted{color:#9ca3af;font-weight:400}.approx-tag{color:#92400e;background:#fef3c7;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-block}.cost-disclaimer{color:#78350f;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:12px}.cost-disclaimer a{color:#b45309;font-weight:600;text-decoration:underline}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
