:root{--bg-color: #0b0b0c;--panel-bg: #141416;--card-bg: #1e1e22;--card-border: rgba(255, 255, 255, .06);--text-primary: #f5f5f7;--text-secondary: #a1a1aa;--primary-orange: #ff5e00;--primary-orange-hover: #ff721a;--primary-orange-glow: rgba(255, 94, 0, .35);--orange-grad-1: linear-gradient(135deg, #ff5e00 0%, #ff8c00 100%);--orange-grad-2: linear-gradient(135deg, #e04f00 0%, #ff6a00 100%);--orange-grad-3: linear-gradient(135deg, #c73e00 0%, #e65c00 100%);--danger-color: #ef4444;--danger-hover: #dc2626;--success-color: #10b981;--font-family: "Outfit", "Noto Sans KR", -apple-system, sans-serif;--transition-speed: .3s}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-family);min-height:100vh;line-height:1.5;overflow-x:hidden}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0b0b0cd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,94,0,.1);border-left-color:var(--primary-orange);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.loading-text{font-size:13px;color:var(--text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}.app-container{display:flex;flex-direction:column;min-height:100vh;max-width:1400px;margin:0 auto;padding:0 20px}.main-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;border-bottom:1px solid var(--card-border)}.logo-area{display:flex;align-items:center;gap:12px}.logo-icon{width:44px;height:44px;background:var(--orange-grad-1);border-radius:12px;display:flex;justify-content:center;align-items:center;font-size:20px;color:#fff;box-shadow:0 4px 15px var(--primary-orange-glow);flex-shrink:0}.logo-text h1{font-size:22px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(to right,#fff,#ffb380);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-text span{font-size:12px;color:var(--text-secondary);font-weight:500}.view-switcher{display:flex;background:var(--panel-bg);padding:4px;border-radius:30px;border:1px solid var(--card-border)}.switch-btn{background:transparent;border:none;outline:none;color:var(--text-secondary);padding:10px 24px;border-radius:25px;font-family:var(--font-family);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;text-decoration:none;transition:all var(--transition-speed) ease}.switch-btn:hover{color:var(--text-primary)}.switch-btn.active{background:var(--primary-orange);color:#fff;box-shadow:0 4px 12px var(--primary-orange-glow)}.user-area{display:flex;align-items:center;gap:10px;flex-shrink:0}.user-name{font-size:13px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px;white-space:nowrap}.user-name i{color:var(--primary-orange)}.main-content{flex:1;padding:30px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.filter-bar.multi-filters{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;background:var(--panel-bg);padding:16px 20px;border-radius:16px;border:1px solid var(--card-border);margin-bottom:24px}.filter-item{display:flex;flex-direction:column;gap:6px}.filter-item label{font-size:12px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.filter-item label i{color:var(--primary-orange)}.filter-item select{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--card-border);padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;outline:none;cursor:pointer;transition:border-color .2s;width:100%}.filter-item select:focus{border-color:var(--primary-orange);box-shadow:0 0 5px var(--primary-orange-glow)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px}.kpi-card{border-radius:20px;padding:24px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;box-shadow:0 10px 20px #00000026;border:1px solid rgba(255,255,255,.05);transition:transform .3s ease,box-shadow .3s ease}.kpi-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #ff5e0026}.kpi-card--default{background:var(--orange-grad-1);color:#fff}.kpi-card--positive{background:var(--orange-grad-2);color:#fff}.kpi-card--negative{background:var(--orange-grad-3);color:#fff}.kpi-info{display:flex;flex-direction:column;gap:6px;z-index:1}.kpi-card-label{font-size:13px;font-weight:500;opacity:.85;letter-spacing:-.2px}.kpi-card-subtext{font-size:16px;font-weight:700;opacity:1;margin-top:6px;letter-spacing:-.3px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.25)}.kpi-card-value{font-size:clamp(18px,2.2vw,24px);font-weight:800;letter-spacing:-.5px}.kpi-icon{font-size:32px;opacity:.35;z-index:1}.orange-txt{color:var(--primary-orange)}.danger-txt{color:var(--danger-color)}.success-txt{color:var(--success-color)}.dashboard-chart-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:24px;margin-bottom:24px;box-shadow:0 10px 30px #0000001a}.card-header{margin-bottom:20px;display:flex;flex-direction:column}.card-header h3{font-size:18px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.card-header h3 i{color:var(--primary-orange)}.card-subtitle{font-size:12px;color:var(--text-secondary);margin-top:4px}.chart-container{position:relative;width:100%;height:320px}.profitability-chart{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.profitability-chart canvas{flex:1;min-height:0}.custom-legend{display:flex;gap:16px;font-size:12px;align-items:center;margin-top:6px}.legend-item{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.legend-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.dashboard-table-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:24px;box-shadow:0 10px 30px #0000001a}.table-responsive{width:100%;overflow-x:auto;border-radius:12px;border:1px solid var(--card-border)}.summary-table{width:100%;border-collapse:collapse;text-align:center;font-size:13px;min-width:650px}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:650px}.summary-table th,.admin-table th{background-color:var(--panel-bg);color:var(--text-secondary);font-weight:600;padding:14px 16px;border-bottom:1px solid var(--card-border)}.summary-table td,.admin-table td{padding:14px 16px;border-bottom:1px solid var(--card-border);color:var(--text-primary);font-weight:500}.summary-table tr:last-child td,.admin-table tr:last-child td{border-bottom:none}.summary-table tbody tr:hover,.admin-table tbody tr:hover{background-color:#ffffff05}.admin-tab-bar{display:flex;gap:10px;border-bottom:1px solid var(--card-border);margin-bottom:24px;padding-bottom:1px}.tab-btn{background:transparent;border:none;color:var(--text-secondary);padding:12px 20px;font-size:15px;font-weight:700;font-family:var(--font-family);cursor:pointer;position:relative;display:flex;align-items:center;gap:8px;transition:color .2s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary-orange)}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:3px;background-color:var(--primary-orange);border-radius:3px 3px 0 0;box-shadow:0 -2px 10px var(--primary-orange-glow)}.admin-tab-content{animation:fadeIn .4s ease}.excel-upload-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:24px;margin-bottom:24px;box-shadow:0 10px 30px #0000001a}.excel-upload-body{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}@media(max-width:768px){.excel-upload-body{grid-template-columns:1fr}}.excel-drop-zone{border:2px dashed rgba(255,94,0,.4);background:var(--panel-bg);border-radius:16px;padding:30px 20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;cursor:pointer;transition:all .3s ease}.excel-drop-zone:hover,.excel-drop-zone.dragover{border-color:var(--primary-orange);background:#ff5e000d;box-shadow:inset 0 0 15px #ff5e001a}.upload-icon{font-size:44px;color:var(--primary-orange);margin-bottom:12px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.excel-drop-zone p{font-size:14px;color:var(--text-secondary)}.excel-drop-zone p span{color:var(--primary-orange);font-weight:700;text-decoration:underline}.hidden-file-input{display:none}.upload-options{display:flex;flex-direction:column;justify-content:center;gap:16px}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer}.radio-label input[type=radio]{accent-color:var(--primary-orange);width:16px;height:16px}.template-info{background:var(--panel-bg);border:1px solid var(--card-border);padding:12px 16px;border-radius:10px;font-size:12px}.template-info p{font-size:11px;margin-bottom:8px;color:var(--text-secondary);line-height:1.4}.template-info-actions{display:flex;gap:10px;align-items:center;margin-top:10px}.template-info-actions select{background:var(--card-bg);color:#fff;border:1px solid var(--card-border);padding:8px 12px;border-radius:8px;font-size:12px;outline:none;cursor:pointer}.admin-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}@media(max-width:992px){.admin-grid{grid-template-columns:1fr}}.admin-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:28px;box-shadow:0 10px 30px #0000001a;height:fit-content}.form-desc{font-size:13px;color:var(--text-secondary);margin-top:4px}.mapping-form{margin-top:24px;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;font-weight:600;color:var(--text-primary)}.form-group label i{color:var(--primary-orange);margin-right:2px}.form-group input,.form-group select{background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--card-border);border-radius:10px;padding:12px 16px;font-size:14px;font-weight:500;outline:none;font-family:var(--font-family);transition:all .2s ease}.form-group input:focus,.form-group select:focus{border-color:var(--primary-orange);box-shadow:0 0 8px var(--primary-orange-glow)}.form-group input::placeholder{color:#52525b}.form-buttons{display:flex;gap:12px;margin-top:10px}.btn{flex:1;padding:14px 20px;border-radius:12px;font-family:var(--font-family);font-size:14px;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;outline:none;border:none;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--orange-grad-1);color:#fff;box-shadow:0 4px 15px var(--primary-orange-glow)}.btn-primary:hover:not(:disabled){background:var(--orange-grad-2);box-shadow:0 6px 20px #ff5e0080;transform:translateY(-1px)}.btn-secondary{background:var(--panel-bg);color:var(--text-primary);border:1px solid var(--card-border)}.btn-secondary:hover:not(:disabled){background:#27272a}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.admin-table-container{margin-top:24px}.table-action-btns{display:flex;gap:8px}.btn-icon{width:32px;height:32px;border-radius:8px;border:1px solid var(--card-border);background:var(--panel-bg);color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:13px;text-decoration:none;transition:all .2s}.btn-icon.edit:hover{border-color:var(--primary-orange);color:var(--primary-orange);background:#ff5e000d}.btn-icon.delete:hover{border-color:var(--danger-color);color:var(--danger-color);background:#ef44440d}.btn-icon.up:hover,.btn-icon.down:hover{border-color:var(--primary-orange);color:var(--primary-orange);background:#ff5e000d}.btn-icon:hover{border-color:var(--primary-orange);color:var(--primary-orange)}.btn-icon.disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.main-footer{text-align:center;padding:40px 0;font-size:12px;color:var(--text-secondary);border-top:1px solid var(--card-border)}.centered-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.centered-card{width:100%;max-width:400px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:40px 32px;box-shadow:0 20px 50px #0000004d}.centered-card-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:32px;text-align:center}.centered-card-header .logo-icon{width:56px;height:56px;font-size:26px}.centered-card-header h1{font-size:22px;font-weight:800;background:linear-gradient(to right,#fff,#ffb380);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.centered-card-header p{font-size:13px;color:var(--text-secondary)}.centered-form{display:flex;flex-direction:column;gap:18px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.checkbox-label input[type=checkbox]{accent-color:var(--primary-orange);width:16px;height:16px}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:10px 14px;border-radius:10px;font-size:13px}.form-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#6ee7b7;padding:10px 14px;border-radius:10px;font-size:13px}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);text-decoration:none;margin-top:20px}.back-link:hover{color:var(--primary-orange)}@media(max-width:768px){.app-container{padding:0 12px}.main-header{flex-direction:column;gap:16px;padding:16px 0;align-items:stretch}.logo-area{justify-content:center}.logo-text h1{font-size:20px;text-align:center}.logo-text span{display:block;text-align:center}.view-switcher{width:100%}.switch-btn{flex:1;justify-content:center;padding:12px 16px;font-size:13px}.user-area{justify-content:center}.main-content{padding:15px 0}.filter-bar.multi-filters{grid-template-columns:1fr 1fr;padding:12px;gap:12px}.kpi-grid{grid-template-columns:1fr;gap:12px}.kpi-card{padding:18px;border-radius:16px}.kpi-card-value{font-size:20px}.dashboard-chart-card,.dashboard-table-card{padding:16px;border-radius:16px;margin-bottom:16px}.chart-container{height:260px}.summary-table th,.summary-table td{padding:10px 8px;font-size:11px}.admin-card{padding:18px;border-radius:16px}.admin-tab-bar{gap:0}.tab-btn{flex:1;justify-content:center;font-size:13px;padding:10px 5px}}.matrix-container{max-height:700px;overflow-y:auto;overflow-x:auto;position:relative;border-radius:12px;border:1px solid var(--card-border)}.matrix-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:13px}.matrix-table th{background-color:var(--panel-bg);color:var(--text-secondary);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--card-border);border-right:1px solid var(--card-border);white-space:nowrap}.matrix-table thead tr th{position:sticky;top:0;z-index:5}.matrix-table thead tr:nth-child(2) th{top:38px}.matrix-table thead tr:nth-child(3) th{top:76px}.matrix-table thead tr:nth-child(4) th{top:114px}.matrix-table td{padding:10px 14px;border-bottom:1px solid var(--card-border);border-right:1px solid var(--card-border);color:var(--text-primary);font-weight:500;white-space:nowrap;background-color:var(--card-bg)}.matrix-table tbody tr:hover td{background-color:#ffffff05!important}.matrix-cell-calc{font-weight:700;background-color:#ff5e000d!important}.matrix-cell-value{text-align:right}.matrix-sticky-col-1{position:sticky;left:0;z-index:2;background-color:#242429!important;font-weight:700;text-align:center;border-right:2px solid var(--card-border)!important}.matrix-sticky-col-2{position:sticky;left:60px;z-index:2;background-color:#242429!important;font-weight:700;text-align:center;border-right:2px solid var(--card-border)!important}.matrix-sticky-col-3{position:sticky;left:110px;z-index:2;background-color:#1a1a1e!important;font-weight:600;border-right:2px solid var(--card-border)!important}.matrix-table thead th.matrix-sticky-header-1{position:sticky;left:0;z-index:10;background-color:var(--panel-bg);border-right:2px solid var(--card-border)!important}.matrix-table thead th.matrix-sticky-header-2{position:sticky;left:60px;z-index:10;background-color:var(--panel-bg);border-right:2px solid var(--card-border)!important}.matrix-table thead th.matrix-sticky-header-3{position:sticky;left:110px;z-index:10;background-color:var(--panel-bg);border-right:2px solid var(--card-border)!important}
