@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-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-600:oklch(54.6% .245 262.881);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-700:oklch(37.3% .034 259.733);--color-white:#fff;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--font-weight-medium:500;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--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%;-moz-tab-size:4;-o-tab-size:4;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;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}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.col-1{grid-column:1}.col-2{grid-column:2}.col-3{grid-column:3}.col-4{grid-column:4}.col-5{grid-column:5}.col-6{grid-column:6}.col-7{grid-column:7}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-full{height:100%}.w-full{width:100%}.shrink{flex-shrink:1}.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}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-gray-700{color:var(--color-gray-700)}.text-white{color:var(--color-white)}.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,)}.underline{text-decoration-line:underline}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,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))}@media(hover:hover){.group-hover\/name\:opacity-100:is(:where(.group\/name):hover *){opacity:1}}@media(min-width:40rem){.sm\:\!block{display:block!important}}}@font-face{font-family:S-Core Dream;src:url(https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-6Bold.woff)format("woff");font-weight:700;font-style:normal}@font-face{font-family:S-Core Dream;src:url(https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-5Medium.woff)format("woff");font-weight:500;font-style:normal}@font-face{font-family:S-Core Dream;src:url(https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-4Regular.woff)format("woff");font-weight:400;font-style:normal}:root{color:#1d1d1f;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizeLegibility;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,S-Core Dream,sans-serif;font-weight:400;line-height:1.47}html[lang=en]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif}html[lang=ja]{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif}html[lang=zh]{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:#fff;width:100%;height:100%;overflow:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.4}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}button,a,input,select{transition:all .3s}:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #0071e3}::-moz-selection{color:#1d1d1f;background:#0071e333}::selection{color:#1d1d1f;background:#0071e333}@keyframes unsaved-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.unsaved-indicator{animation:2s ease-in-out infinite unsaved-pulse}@keyframes spin{to{transform:rotate(360deg)}}.saving-spinner{animation:1s linear infinite spin}@media(max-width:768px){.simple-header{gap:8px!important;height:52px!important;padding:0 12px!important}.simple-header button{height:36px!important;padding:0 12px!important;font-size:13px!important}.minimap-container{max-width:200px!important}.side-panel{width:300px!important;max-width:85vw!important}.edit-panel-mobile{border-radius:16px 16px 0 0!important;max-height:50vh!important;position:fixed!important;inset:auto 0 0!important;overflow-y:auto!important}.button-group-mobile{flex-wrap:wrap;gap:6px}.hide-on-mobile{display:none!important}}@media(min-width:769px)and (max-width:1024px){.simple-header{padding:0 16px!important}.side-panel{width:340px!important}}@media(hover:none)and (pointer:coarse){button,.clickable{min-width:44px;min-height:44px}button:hover{transform:none!important}}.category-legend{flex-wrap:wrap;gap:6px;padding:8px;display:flex}.category-legend-item{color:#3c3c43;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:flex}.category-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@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-font-weight{syntax:"*";inherits:false}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}:root{--color-primary: #007AFF;--color-primary-hover: #0071E3;--color-success: #34C759;--color-danger: #FF3B30;--color-warning: #FF9500;--color-info: #5AC8FA;--color-purple: #AF52DE;--color-yellow: #FFCC00;--color-gray: #8E8E93;--color-gray2: #AEAEB2;--color-gray3: #C7C7CC;--color-gray4: #D1D1D6;--color-gray5: #E5E5EA;--color-gray6: #F2F2F7;--color-text: #1d1d1f;--color-text-secondary: rgba(60, 60, 67, .6);--color-text-tertiary: #636366;--color-text-quaternary: #AEAEB2;--color-surface: #FFFFFF;--color-bg: #f5f5f7;--color-bg-secondary: #F2F2F7;--color-bg-hover: #E5E5EA;--color-border: rgba(60, 60, 67, .29);--color-border-light: rgba(60, 60, 67, .12);--color-separator: rgba(60, 60, 67, .08);--font-caption2: 11px;--font-caption: 12px;--font-footnote: 13px;--font-subhead: 15px;--font-callout: 16px;--font-body: 17px;--font-title3: 20px;--font-title2: 22px;--font-title: 28px;--font-largetitle: 34px;--space-xs: 8px;--space-sm: 12px;--space-reg: 16px;--space-md: 20px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 18px;--radius-btn: 22px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-card: 0 4px 24px rgba(0, 0, 0, .06);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .15);--brand-accent: #007AFF;--brand-accent-light: #EBF5FF;--brand-accent-text: #FFFFFF;--brand-accent-dark: color-mix(in srgb, var(--brand-accent) 70%, black);--brand-accent-glow: rgba(0, 122, 255, .15);--brand-accent-shadow-sm: rgba(0, 122, 255, .3);--brand-accent-shadow-md: rgba(0, 122, 255, .4);--brand-accent-hover-bg: rgba(0, 122, 255, .08);--brand-accent-badge-bg: rgba(0, 122, 255, .1);--brand-accent-label-bg: rgba(0, 122, 255, .85);--brand-accent-label-border: rgba(0, 122, 255, .5);--brand-accent-upload-border: rgba(0, 122, 255, .4);--brand-accent-upload-bg: rgba(0, 122, 255, .02);--brand-accent-drag-bg: rgba(0, 122, 255, .08);--z-canvas: 0;--z-ui: 10;--z-panel: 20;--z-header: 30;--z-modal: 50;--z-toast: 60;--ease-apple: cubic-bezier(.25, .1, .25, 1);--duration-fast: .15s;--duration-normal: .3s}.page-container{width:100%;height:100%;overflow-y:auto;background:var(--color-bg)}.page-content{max-width:960px;margin:0 auto;padding:12px}@media(min-width:640px){.page-content{padding:20px}}@media(max-width:900px){.header-service-name{display:none!important}}.header-icon{flex-shrink:0!important}.page-section{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--color-separator);box-shadow:var(--shadow-md)}.simple-glass{background:#fffc;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:.5px solid var(--color-border)}.simple-card{background:var(--color-surface);border-radius:var(--radius-xl);border:.5px solid var(--color-border);box-shadow:var(--shadow-sm);padding:10px 20px;transition:all var(--duration-normal) var(--ease-apple)}.simple-card:hover{border-color:#3c3c4366;box-shadow:var(--shadow-card);transform:translateY(-1px)}.simple-glass-card{background:#ffffffe6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--radius-xl);border:.5px solid var(--color-border);box-shadow:var(--shadow-md);padding:10px 20px}.simple-header{height:56px;background:#ffffffd1;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:.5px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-md);gap:var(--space-sm);z-index:var(--z-header)}.simple-button,.simple-button-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 var(--space-md);font-size:14px;font-weight:600;border-radius:var(--radius-btn);background:var(--color-primary);color:#fff;border:none;cursor:pointer;white-space:nowrap;transition:all var(--duration-normal) var(--ease-apple)}.simple-button:hover,.simple-button-primary:hover{background:var(--color-primary-hover);transform:scale(1.02)}.simple-button:active,.simple-button-primary:active{transform:scale(.98);opacity:.9}.simple-button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 var(--space-reg);font-size:14px;font-weight:600;border-radius:var(--radius-btn);background:transparent;color:var(--color-primary);border:none;cursor:pointer;white-space:nowrap;transition:all var(--duration-normal) var(--ease-apple)}.simple-button-secondary:hover{background:var(--brand-accent-hover-bg, rgba(0, 122, 255, .08));transform:scale(1.02)}.simple-button-secondary:active{transform:scale(.98)}.simple-button-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 var(--space-reg);font-size:14px;font-weight:600;border-radius:var(--radius-btn);background:transparent;color:var(--color-gray);border:none;cursor:pointer;white-space:nowrap;transition:all var(--duration-normal) var(--ease-apple)}.simple-button-ghost:hover{background:var(--color-bg-hover);color:var(--color-text);transform:scale(1.02)}.simple-button-ghost:active{transform:scale(.98)}.simple-h1{font-size:var(--font-largetitle);font-weight:700;line-height:41px;color:var(--color-text)}.simple-h2{font-size:var(--font-title);font-weight:700;line-height:34px;color:var(--color-text)}.simple-h3{font-size:var(--font-title2);font-weight:700;line-height:28px;color:var(--color-text)}.simple-body{font-size:var(--font-body);font-weight:400;line-height:22px;color:var(--color-text)}.simple-caption{font-size:var(--font-caption);font-weight:400;line-height:16px;color:var(--color-gray)}.simple-divider{height:.5px;background:var(--color-border);border:none;margin:0}.store-card{background:var(--color-surface);border-radius:var(--radius-xl);border:.5px solid var(--color-border);padding:20px;text-align:left;width:100%;cursor:pointer;position:relative;transition:all var(--duration-normal) var(--ease-apple)}.store-card:hover{border-color:#3c3c4380;transform:translateY(-2px);box-shadow:0 8px 30px #00000014}.upload-card{background:#ffffff80;border:1.5px dashed #C6C6C8;border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;cursor:pointer;transition:all var(--duration-normal) var(--ease-apple)}.upload-card:hover{border-color:var(--brand-accent-upload-border, rgba(0, 122, 255, .4));background:var(--brand-accent-upload-bg, rgba(0, 122, 255, .02))}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.modal-overlay{position:absolute;inset:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-container{position:relative;width:100%;margin:0 var(--space-reg);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);overflow:hidden;animation:modal-enter .2s var(--ease-apple)}@keyframes modal-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:.5px solid var(--color-border-light)}.modal-body{padding:var(--space-md)}.modal-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-top:.5px solid var(--color-border-light);background:var(--color-bg)}.section-padding{padding:var(--space-md)}.section-padding-sm{padding:var(--space-reg)}.fixture-label-3d{font-family:system-ui,-apple-system,sans-serif;font-size:var(--font-caption2);font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center;line-height:1.2}.fixture-label-3d-primary{background:var(--brand-accent-label-bg, rgba(0, 122, 255, .85));color:#fff;border:.5px solid var(--brand-accent-label-border, rgba(0, 122, 255, .5))}.fixture-label-3d-muted{background:#0000008c;color:#fff;border:.5px solid rgba(255,255,255,.1)}.panel-glass{background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:.5px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.close-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:none;background:transparent;cursor:pointer;color:var(--color-gray);transition:all var(--duration-fast) var(--ease-apple)}.close-button:hover{background:var(--color-bg-hover);color:var(--color-text)}.hover-scale{transition:transform var(--duration-fast) var(--ease-apple)}.hover-scale:hover{transform:scale(1.03)}.hover-scale:active{transform:scale(.97)}.simple-hover{transition:all .2s var(--ease-apple)}.simple-hover:hover{transform:scale(1.02);opacity:.9}.simple-hover:active{transform:scale(.98)}.header-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:36px;padding:0 var(--space-sm);font-size:13px;font-weight:600;border-radius:var(--radius-btn);background:transparent;color:var(--color-text);border:none;cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease-apple)}.header-btn:hover{background:var(--color-gray5)}.header-btn:active{background:var(--color-gray4);transform:scale(.97)}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper .password-input{width:100%;height:44px;padding:0 48px 0 var(--space-reg, 16px);font-size:var(--font-subhead, 15px);font-family:inherit;line-height:44px;color:var(--color-text, #1D1D1F);background:var(--color-bg-secondary, #F2F2F7);border:1.5px solid transparent;border-radius:var(--radius-sm, 8px);outline:none;transition:all .15s ease;box-sizing:border-box}.password-input-wrapper .password-input::-moz-placeholder{color:var(--color-text-quaternary, #AEAEB2)}.password-input-wrapper .password-input::placeholder{color:var(--color-text-quaternary, #AEAEB2)}.password-input-wrapper .password-input:hover{border-color:var(--color-border-light, rgba(60,60,67,.12))}.password-input-wrapper .password-input:focus{background:var(--color-surface, #FFFFFF);border-color:var(--brand-accent, #007AFF);box-shadow:0 0 0 3px var(--brand-accent-glow, var(--brand-accent-glow, rgba(0, 122, 255, .15)))}.password-input-wrapper .password-input:disabled{opacity:.5;cursor:not-allowed}.password-input-wrapper .password-toggle{position:absolute;right:var(--space-xs, 8px);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--color-text-quaternary, #AEAEB2);background:none;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.password-input-wrapper .password-toggle:hover{color:var(--color-text, #1D1D1F);background:#0000000a}.password-input-wrapper .password-toggle:focus-visible{outline:2px solid var(--brand-accent, #007AFF);outline-offset:-2px}.password-input-wrapper .toggle-icon{width:20px;height:20px}.modal-backdrop{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:var(--space-lg, 24px);background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-content{position:relative;width:100%;max-width:380px;max-height:90vh;background:var(--color-surface, #FFFFFF);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-modal, 0 20px 60px rgba(0,0,0,.15));display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 20px) var(--space-lg, 24px);border-bottom:.5px solid var(--color-border-light, rgba(60,60,67,.12))}.modal-title{margin:0;font-size:var(--font-body, 17px);font-weight:600;line-height:1.3;color:var(--color-text, #1D1D1F)}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--color-text-tertiary, #636366);background:var(--color-bg-secondary, #F2F2F7);border:none;border-radius:50%;cursor:pointer;transition:all .15s ease}.modal-close:hover{color:var(--color-text, #1D1D1F);background:var(--color-bg-hover, #E5E5EA)}.modal-close:focus-visible{outline:2px solid var(--brand-accent, #007AFF);outline-offset:2px}.modal-close svg{width:14px;height:14px}.modal-body{flex:1;overflow-y:auto;padding:var(--space-lg, 24px)}.modal-body.centered{text-align:center}.modal-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:var(--space-md, 20px);border-radius:50%}.modal-icon.blue{background:var(--brand-accent-badge-bg, var(--brand-accent-badge-bg, rgba(0, 122, 255, .1)));color:var(--brand-accent, #007AFF)}.modal-icon.green{background:#34c7591a;color:var(--color-success, #34C759)}.modal-icon.orange{background:#ff95001a;color:var(--color-warning, #FF9500)}.modal-icon svg{width:28px;height:28px}.modal-heading{margin:0 0 var(--space-sm, 12px);font-size:var(--font-title3, 20px);font-weight:600;line-height:1.3;color:var(--color-text, #1D1D1F)}.modal-text{margin:0;font-size:var(--font-subhead, 15px);line-height:1.4;color:var(--color-text-secondary, rgba(60,60,67,.6))}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm, 12px);padding:var(--space-reg, 16px) var(--space-lg, 24px) var(--space-md, 20px);background:var(--color-bg, #f5f5f7);border-top:.5px solid var(--color-border-light, rgba(60,60,67,.12))}.modal-button{height:36px;padding:0 var(--space-md, 20px);font-size:var(--font-subhead, 15px);font-weight:500;font-family:inherit;line-height:36px;border:none;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:all .15s ease}.modal-button.primary{color:#fff;background:linear-gradient(180deg,var(--brand-accent, #007AFF) 0%,color-mix(in srgb,var(--brand-accent, #007AFF) 70%,black) 100%);box-shadow:0 1px 3px var(--brand-accent-shadow-sm, var(--brand-accent-shadow-sm, rgba(0, 122, 255, .3)))}.modal-button.primary:hover:not(:disabled){filter:brightness(1.05)}.modal-button.primary:active:not(:disabled){filter:brightness(.95)}.modal-button.primary:disabled{background:var(--color-gray3, #C7C7CC);box-shadow:none;cursor:not-allowed}.modal-button.secondary{color:var(--brand-accent, #007AFF);background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border-light, rgba(60,60,67,.12))}.modal-button.secondary:hover{background:var(--color-bg-secondary, #F2F2F7)}.modal-button.link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs, 8px);width:auto;height:44px;padding:0 var(--space-lg, 24px);color:#fff;background:linear-gradient(180deg,var(--brand-accent, #007AFF) 0%,color-mix(in srgb,var(--brand-accent, #007AFF) 70%,black) 100%);box-shadow:0 2px 8px var(--brand-accent-shadow-sm, var(--brand-accent-shadow-sm, rgba(0, 122, 255, .3)));text-decoration:none}.modal-button.link:hover{transform:scale(1.02);box-shadow:0 4px 16px var(--brand-accent-shadow-md, rgba(0, 122, 255, .35))}.modal-form{display:flex;flex-direction:column;gap:var(--space-md, 20px)}.modal-label{display:block;margin-bottom:var(--space-xs, 8px);font-size:var(--font-subhead, 15px);font-weight:500;line-height:1.3;color:var(--color-text, #1D1D1F)}.modal-input{width:100%;height:44px;padding:0 var(--space-reg, 16px);font-size:var(--font-subhead, 15px);font-family:inherit;line-height:44px;color:var(--color-text, #1D1D1F);background:var(--color-bg-secondary, #F2F2F7);border:1.5px solid transparent;border-radius:var(--radius-sm, 8px);outline:none;transition:all .15s ease;box-sizing:border-box}.modal-input::-moz-placeholder{color:var(--color-text-quaternary, #AEAEB2)}.modal-input::placeholder{color:var(--color-text-quaternary, #AEAEB2)}.modal-input:hover{border-color:var(--color-border-light, rgba(60,60,67,.12))}.modal-input:focus{background:var(--color-surface, #FFFFFF);border-color:var(--brand-accent, #007AFF);box-shadow:0 0 0 3px var(--brand-accent-glow, var(--brand-accent-glow, rgba(0, 122, 255, .15)))}.modal-alert{padding:var(--space-sm, 12px) var(--space-reg, 16px);font-size:var(--font-subhead, 15px);line-height:1.4;border-radius:var(--radius-sm, 8px)}.modal-alert.error{color:var(--color-danger, #FF3B30);background:#ff3b3014}.modal-alert.warning{color:var(--color-warning, #FF9500);background:#ff950014}.modal-alert.success{color:var(--color-success, #34C759);background:#34c75914}.button-loading{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs, 8px)}.button-loading .spinner{width:16px;height:16px;animation:spin .8s linear infinite}.change-password-backdrop{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:var(--space-lg, 24px);background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.change-password-container{width:100%;max-width:420px;background:var(--color-surface, #FFFFFF);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-modal, 0 20px 60px rgba(0,0,0,.15));overflow:hidden}.change-password-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 20px) var(--space-lg, 24px);border-bottom:1px solid var(--color-border-light, rgba(60,60,67,.12))}.change-password-header-content{display:flex;align-items:center;gap:var(--space-sm, 12px)}.change-password-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%}.change-password-icon.warning{background:linear-gradient(180deg,#fff3cd,#ffe69c);color:#856404}.change-password-icon.info{background:linear-gradient(180deg,#e3f2fd,#bbdefb);color:#1565c0}.change-password-icon svg{width:22px;height:22px}.change-password-title h2{margin:0;font-size:var(--font-title3, 20px);font-weight:600;color:var(--color-text, #1D1D1F)}.change-password-title p{margin:2px 0 0;font-size:var(--font-footnote, 13px);color:var(--color-text-secondary, #86868B)}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:50%;color:var(--color-text-tertiary, #636366);cursor:pointer;transition:all .15s}.btn-close:hover{background:var(--color-bg-secondary, #F2F2F7);color:var(--color-text, #1D1D1F)}.change-password-form{padding:var(--space-lg, 24px)}.change-password-error{display:flex;align-items:flex-start;gap:8px;padding:var(--space-sm, 12px);margin-bottom:var(--space-reg, 16px);font-size:var(--font-footnote, 13px);color:#c62828;background:#ffebee;border:1px solid #FFCDD2;border-radius:var(--radius-sm, 8px)}.form-group{margin-bottom:var(--space-reg, 16px)}.form-group label{display:block;margin-bottom:6px;font-size:var(--font-footnote, 13px);font-weight:500;color:var(--color-text-secondary, #86868B)}.input-wrapper{position:relative}.form-input{width:100%;height:48px;padding:0 44px 0 var(--space-reg, 16px);font-size:var(--font-body, 17px);color:var(--color-text, #1D1D1F);background:var(--color-bg-secondary, #F2F2F7);border:1.5px solid transparent;border-radius:var(--radius-md, 12px);outline:none;transition:all .15s;box-sizing:border-box}.form-input::-moz-placeholder{color:var(--color-text-tertiary, #C7C7CC)}.form-input::placeholder{color:var(--color-text-tertiary, #C7C7CC)}.form-input:focus{background:var(--color-surface, #FFFFFF);border-color:var(--brand-accent, #007AFF);box-shadow:0 0 0 3px var(--brand-accent-glow, var(--brand-accent-glow, rgba(0, 122, 255, .15)))}.btn-toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:6px;color:var(--color-text-tertiary, #C7C7CC);cursor:pointer;transition:all .15s}.btn-toggle-password:hover{color:var(--color-text-secondary, #86868B);background:#0000000d}.btn-toggle-password svg{width:20px;height:20px}.change-password-submit{margin-top:var(--space-md, 20px)}.btn-submit{display:flex;align-items:center;justify-content:center;width:100%;height:50px;font-size:var(--font-body, 17px);font-weight:600;color:#fff;background:linear-gradient(180deg,var(--brand-accent, #007AFF) 0%,color-mix(in srgb,var(--brand-accent, #007AFF) 70%,black) 100%);border:none;border-radius:var(--radius-md, 12px);cursor:pointer;transition:all .15s}.btn-submit:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}:root{--bg-page: #FFFFFF;--bg-card: #FFFFFF;--bg-input: #F5F5F7;--text-primary: #1D1D1F;--text-secondary: #6E6E73;--text-tertiary: #AEAEB2;--border: rgba(0, 0, 0, .1);--accent: var(--brand-accent, #007AFF);--accent-hover: color-mix(in srgb, var(--brand-accent, #007AFF) 70%, black);--error: #FF3B30;--error-bg: rgba(255, 59, 48, .08);--shadow-card: 0 0 0 1px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08), 0 12px 40px rgba(0,0,0,.06)}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:var(--bg-page);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.login-card{width:100%;max-width:400px;background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}.login-header{padding:48px 40px 32px;text-align:center}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:24px;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-hover) 100%);border-radius:16px;color:#fff;box-shadow:0 4px 16px var(--brand-accent-shadow-sm, rgba(0, 122, 255, .3))}.login-logo.logo-image{background:#f5f5f7;padding:8px;box-shadow:0 2px 8px #00000014}.login-title{margin:0 0 8px;font-size:28px;font-weight:700;line-height:34px;letter-spacing:-.02em;color:var(--text-primary)}.login-subtitle{margin:0;font-size:15px;line-height:22px;color:var(--text-secondary)}.login-form{padding:0 40px 40px}.form-group{margin-bottom:24px}.form-label{display:block;margin-bottom:10px;font-size:14px;font-weight:500;line-height:20px;color:var(--text-primary)}.form-input{width:100%;height:44px;padding:0 16px;font-size:15px;line-height:44px;color:var(--text-primary);background:var(--bg-input);border:1.5px solid transparent;border-radius:10px;outline:none;transition:all .2s ease;box-sizing:border-box}.form-input::-moz-placeholder{color:var(--text-tertiary)}.form-input::placeholder{color:var(--text-tertiary)}.form-input:hover{border-color:var(--border)}.form-input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px var(--brand-accent-glow, rgba(0, 122, 255, .12))}.form-options{display:flex;flex-direction:column;gap:16px;margin-top:8px;margin-bottom:32px}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer}.checkbox-input{width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}.checkbox-text{font-size:14px;line-height:20px;color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.error-message{margin-bottom:24px;padding:14px 16px;font-size:14px;line-height:20px;color:var(--error);background:var(--error-bg);border-radius:10px}.login-button{width:100%;height:48px;padding:0 24px;font-size:16px;font-weight:600;line-height:48px;color:#fff;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-hover) 100%);border:none;border-radius:12px;cursor:pointer;outline:none;transition:all .2s ease;box-shadow:0 2px 8px var(--brand-accent-shadow-sm, rgba(0, 122, 255, .3))}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px var(--brand-accent-shadow-md, rgba(0, 122, 255, .4))}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:focus-visible{box-shadow:0 2px 8px var(--brand-accent-shadow-sm, rgba(0, 122, 255, .3)),0 0 0 4px var(--brand-accent-glow, rgba(0, 122, 255, .2))}.login-button:disabled{background:#d1d1d6;cursor:not-allowed;box-shadow:none;transform:none}.button-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px}.spinner{width:18px;height:18px;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 40px;background:#fafafa;border-top:1px solid rgba(0,0,0,.05)}.footer-link{padding:4px 0;font-size:14px;line-height:20px;color:var(--accent);background:none;border:none;cursor:pointer;transition:color .2s ease}.footer-link:hover{color:var(--accent-hover);text-decoration:underline}.footer-divider{color:#d1d1d6;font-size:12px}.language-selector{display:flex;align-items:center;margin-top:40px}.language-item{display:flex;align-items:center}.language-divider{margin:0 16px;color:#d1d1d6;font-size:12px}.language-button{padding:4px 0;font-size:14px;line-height:20px;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:color .2s ease}.language-button:hover{color:var(--text-primary)}.language-button.active{color:var(--text-primary);font-weight:600}.copyright{margin-top:32px;font-size:12px;line-height:16px;color:var(--text-tertiary)}.login-page.compact .login-card{max-width:360px}.login-page.compact .login-header{padding:40px 32px 24px}.login-page.compact .login-logo{width:64px;height:64px;margin-bottom:20px;border-radius:14px}.login-page.compact .login-title{font-size:22px;line-height:28px;margin-bottom:6px}.login-page.compact .login-subtitle{font-size:13px;line-height:18px}.login-page.compact .login-form{padding:0 32px 32px}.login-page.compact .form-group{margin-bottom:20px}.login-page.compact .form-label{font-size:13px;margin-bottom:8px}.login-page.compact .form-input{height:34px;padding:0 12px;font-size:13px;line-height:34px;border-radius:6px;border-width:1px}.login-page.compact .form-options{gap:12px;margin-bottom:24px}.login-page.compact .checkbox-input{width:16px;height:16px}.login-page.compact .checkbox-text{font-size:13px}.login-page.compact .error-message{margin-bottom:20px;padding:12px 14px;font-size:13px;border-radius:6px}.login-page.compact .login-button{height:34px;font-size:13px;line-height:34px;border-radius:6px}.login-page.compact .login-footer{padding:16px 32px;gap:12px}.login-page.compact .footer-link{font-size:13px}.login-page.compact .language-selector{margin-top:32px}.login-page.compact .language-divider{margin:0 12px}.login-page.compact .language-button{font-size:13px}.login-page.compact .copyright{margin-top:24px;font-size:11px}@media(max-width:480px){.login-page{padding:24px 20px}.login-card{max-width:100%}.login-header{padding:40px 28px 28px}.login-form{padding:0 28px 32px}.login-footer{padding:18px 28px}.login-title{font-size:24px}}.admin-settings-backdrop{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:var(--space-lg, 24px);background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.admin-settings-modal{width:100%;max-width:480px;max-height:90vh;background:var(--color-surface, #FFFFFF);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-modal, 0 20px 60px rgba(0,0,0,.15));display:flex;flex-direction:column;overflow:hidden}.admin-settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 20px) var(--space-lg, 24px);border-bottom:.5px solid var(--color-border-light, rgba(60,60,67,.12))}.admin-settings-header h2{margin:0;font-size:var(--font-body, 17px);font-weight:600;color:var(--color-text, #1D1D1F)}.admin-settings-header .close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--color-bg-secondary, #F2F2F7);border:none;border-radius:50%;cursor:pointer;color:var(--color-text-tertiary, #636366);transition:all .15s}.admin-settings-header .close-btn:hover{background:var(--color-bg-hover, #E5E5EA);color:var(--color-text, #1D1D1F)}.admin-settings-body{flex:1;overflow-y:auto;padding:var(--space-lg, 24px)}.admin-settings-body .loading{text-align:center;padding:40px;color:var(--color-text-secondary, rgba(60,60,67,.6));font-size:var(--font-subhead, 15px)}.settings-form{display:flex;flex-direction:column;gap:var(--space-lg, 24px)}.settings-form .form-group{display:flex;flex-direction:column;gap:var(--space-xs, 8px)}.settings-form label{font-size:var(--font-subhead, 15px);font-weight:500;color:var(--color-text, #1D1D1F)}.settings-form input[type=text],.settings-form input[type=url]{height:44px;padding:0 var(--space-reg, 16px);font-size:var(--font-subhead, 15px);color:var(--color-text, #1D1D1F);background:var(--color-bg-secondary, #F2F2F7);border:1.5px solid transparent;border-radius:var(--radius-sm, 8px);outline:none;transition:all .15s}.settings-form input[type=text]:hover,.settings-form input[type=url]:hover{border-color:var(--color-border-light, rgba(60,60,67,.12))}.settings-form input[type=text]:focus,.settings-form input[type=url]:focus{background:var(--color-surface, #FFFFFF);border-color:var(--brand-accent, #007AFF);box-shadow:0 0 0 3px var(--brand-accent-glow, var(--brand-accent-glow, rgba(0, 122, 255, .15)))}.settings-form input::-moz-placeholder{color:var(--color-text-quaternary, #AEAEB2)}.settings-form input::placeholder{color:var(--color-text-quaternary, #AEAEB2)}.settings-form .hint{margin:0;font-size:var(--font-footnote, 13px);color:var(--color-text-secondary, rgba(60,60,67,.6))}.color-input-wrap{display:flex;gap:var(--space-sm, 12px);align-items:center}.color-picker{width:44px!important;min-width:44px;max-width:44px;height:44px;flex:0 0 44px;padding:0;border:1.5px solid var(--color-border-light, rgba(60,60,67,.12));border-radius:var(--radius-sm, 8px);cursor:pointer;overflow:hidden;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.color-picker::-webkit-color-swatch-wrapper{padding:3px}.color-picker::-webkit-color-swatch{border:none;border-radius:5px}.color-picker::-moz-color-swatch{border:none;border-radius:5px}.color-input-wrap input[type=text]{flex:1;min-width:0}.upload-area{display:flex;flex-direction:column;gap:var(--space-xs, 8px);padding:var(--space-reg, 16px);background:var(--color-bg-secondary, #F2F2F7);border:2px dashed var(--color-border, rgba(60,60,67,.29));border-radius:var(--radius-sm, 8px);transition:all .2s;cursor:pointer}.upload-area.drag-over{background:var(--brand-accent-drag-bg, var(--brand-accent-hover-bg, rgba(0, 122, 255, .08)));border-color:var(--brand-accent, #007AFF)}.upload-row{display:flex;gap:var(--space-xs, 8px);align-items:center}.upload-row input[type=url]{flex:1;height:36px}.upload-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;min-width:80px;padding:0 var(--space-reg, 16px);font-size:var(--font-footnote, 13px);font-weight:500;color:var(--brand-accent, #007AFF);background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border-light, rgba(60,60,67,.12));border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap;vertical-align:middle;text-align:center}.upload-btn:hover{background:var(--color-bg-secondary, #F2F2F7)}.upload-hint{margin:0;font-size:var(--font-footnote, 13px);color:var(--color-text-tertiary, #636366);text-align:center}.preview{margin-top:var(--space-xs, 8px);padding:var(--space-sm, 12px);background:var(--color-bg, #f5f5f7);border-radius:var(--radius-sm, 8px);display:flex;align-items:center;justify-content:center}.preview img{max-width:100%;max-height:80px;-o-object-fit:contain;object-fit:contain;border-radius:4px}.error-box{padding:var(--space-sm, 12px) var(--space-reg, 16px);font-size:var(--font-subhead, 15px);color:var(--color-danger, #FF3B30);background:#ff3b3014;border-radius:var(--radius-sm, 8px)}.success-box{padding:var(--space-sm, 12px) var(--space-reg, 16px);font-size:var(--font-subhead, 15px);color:var(--color-success, #34C759);background:#34c75914;border-radius:var(--radius-sm, 8px)}.admin-settings-footer{display:flex;justify-content:flex-end;gap:var(--space-sm, 12px);padding:var(--space-reg, 16px) var(--space-lg, 24px) var(--space-md, 20px);background:var(--color-bg, #f5f5f7);border-top:.5px solid var(--color-border-light, rgba(60,60,67,.12))}.admin-settings-footer .btn-secondary{height:36px;padding:0 var(--space-md, 20px);font-size:var(--font-subhead, 15px);font-weight:500;color:var(--brand-accent, #007AFF);background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border-light, rgba(60,60,67,.12));border-radius:var(--radius-sm, 8px);cursor:pointer;transition:all .15s}.admin-settings-footer .btn-secondary:hover{background:var(--color-bg-secondary, #F2F2F7)}.admin-settings-footer .btn-primary{height:36px;padding:0 var(--space-md, 20px);font-size:var(--font-subhead, 15px);font-weight:500;color:#fff;background:linear-gradient(180deg,var(--brand-accent, #007AFF) 0%,color-mix(in srgb,var(--brand-accent, #007AFF) 70%,black) 100%);border:none;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:all .15s;box-shadow:0 1px 3px var(--brand-accent-shadow-sm, var(--brand-accent-shadow-sm, rgba(0, 122, 255, .3)))}.admin-settings-footer .btn-primary:hover:not(:disabled){filter:brightness(1.05)}.admin-settings-footer .btn-primary:disabled{background:var(--color-gray3, #C7C7CC);box-shadow:none;cursor:not-allowed}
