*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333;min-height:100vh}.nav{display:flex;align-items:center;gap:4px;background:#8b1a1a;padding:0 20px;height:52px;flex-wrap:wrap}.nav-brand{color:#fff;font-weight:700;font-size:16px;margin-right:20px;white-space:nowrap}.nav-links{display:flex;gap:2px;flex:1}.nav-link{background:none;border:none;color:#ffffffbf;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:13px;white-space:nowrap;transition:background .15s,color .15s}.nav-link:hover{background:#ffffff1f;color:#fff}.nav-link.active{background:#fff3;color:#fff;font-weight:600}.nav-logout{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:7px 16px;border-radius:6px;cursor:pointer;font-size:13px;white-space:nowrap}.nav-logout:hover{background:#ffffff40}.main-content{padding:24px 28px;max-width:1280px;margin:0 auto}.page-header{margin-bottom:20px}.page-header h1{font-size:22px;color:#222}.page-header p{color:#666;font-size:14px;margin-top:2px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px;margin-bottom:28px}.stat-card{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 4px #00000014}.stat-card.clickable{cursor:pointer;transition:box-shadow .15s}.stat-card.clickable:hover{box-shadow:0 2px 10px #8b1a1a26}.stat-card .stat-value{font-size:28px;font-weight:700;color:#8b1a1a}.stat-card .stat-label{font-size:12px;color:#888;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.chart-section{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #00000014;margin-bottom:24px}.chart-section h3{font-size:16px;margin-bottom:14px}.chart-legend{display:flex;gap:18px;margin-bottom:12px;font-size:12px}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend .dot{width:10px;height:10px;border-radius:2px;display:inline-block}.btn{background:#8b1a1a;color:#fff;border:none;padding:9px 18px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s}.btn:hover{background:#6b1212}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:5px 12px;font-size:12px}.btn-danger{background:#c0392b}.btn-danger:hover{background:#a33024}.btn-outline{background:#fff;color:#8b1a1a;border:1.5px solid #8B1A1A}.btn-outline:hover{background:#fdf2f2}.table-wrap{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 14px;background:#fafafa;color:#666;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #eee}td{padding:10px 14px;border-bottom:1px solid #f0f0f0}tr:nth-child(2n) td{background:#fafafa}tr:hover td{background:#fdf2f2}.filter-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.filter-tab{background:#fff;border:1.5px solid #ddd;color:#666;padding:7px 16px;border-radius:20px;cursor:pointer;font-size:13px;transition:all .15s}.filter-tab:hover{border-color:#8b1a1a;color:#8b1a1a}.filter-tab.active{background:#8b1a1a;color:#fff;border-color:#8b1a1a}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}.badge-green{background:#d4edda;color:#155724}.badge-red{background:#f8d7da;color:#721c24}.badge-yellow{background:#fff3cd;color:#856404}.badge-blue{background:#d1ecf1;color:#0c5460}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:#444}.form-group input,.form-group textarea,.form-group select{width:100%;padding:9px 12px;border:1.5px solid #ddd;border-radius:6px;font-size:13px;font-family:inherit;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#8b1a1a}.form-group textarea{resize:vertical;min-height:70px}.login-wrap{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f0f0}.login-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 2px 12px #0000001a;width:380px;max-width:90vw}.login-card h1{font-size:22px;color:#8b1a1a;text-align:center;margin-bottom:4px}.login-card .login-subtitle{text-align:center;color:#888;font-size:13px;margin-bottom:28px}.pending-list{display:flex;flex-direction:column;gap:16px}.pending-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #00000014}.pending-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;flex-wrap:wrap;gap:8px}.pending-card-header .phone{font-weight:600;color:#8b1a1a}.pending-card-header .meta{font-size:12px;color:#888}.pending-message{font-weight:600;font-size:14px;margin-bottom:14px;padding:10px;background:#fef9f9;border-left:4px solid #8B1A1A;border-radius:4px}.chat-history{background:#fafafa;border-radius:8px;padding:12px;margin-bottom:14px;max-height:220px;overflow-y:auto}.chat-msg{margin-bottom:8px;font-size:13px}.chat-msg .role{font-weight:600;font-size:11px;text-transform:uppercase}.chat-msg.user .role{color:#8b1a1a}.chat-msg.assistant .role{color:#555}.chat-msg .text{margin-top:1px;color:#444}.pending-actions{display:flex;gap:8px;align-items:flex-end}.pending-actions textarea{flex:1;padding:9px 12px;border:1.5px solid #ddd;border-radius:6px;font-size:13px;font-family:inherit;resize:vertical;min-height:40px}.pending-actions textarea:focus{outline:none;border-color:#8b1a1a}.catalog-add{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #00000014;margin-bottom:24px}.catalog-add h3{margin-bottom:14px}.catalog-add-row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.drop-zone{border:2px dashed #ddd;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:border-color .15s;min-width:160px}.drop-zone:hover,.drop-zone.drag-over{border-color:#8b1a1a}.drop-zone img{max-width:100px;max-height:100px;margin-bottom:6px;border-radius:6px}.drop-zone p{font-size:12px;color:#888}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.catalog-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #00000014}.catalog-card img{width:100%;height:200px;object-fit:cover}.catalog-card-body{padding:14px}.catalog-card-body .sku{font-size:11px;color:#888}.catalog-card-body .name{font-weight:600;font-size:14px;margin:4px 0}.catalog-card-body .price{font-size:16px;font-weight:700;color:#8b1a1a}.catalog-card-body .category{font-size:12px;color:#666;margin:2px 0}.catalog-card-body .desc{font-size:12px;color:#888;margin:6px 0}.catalog-card-body .actions{margin-top:10px}.history-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;justify-content:flex-end}.history-panel{background:#fff;width:520px;max-width:95vw;height:100%;overflow-y:auto;padding:24px;box-shadow:-2px 0 12px #0000001a}.history-panel h3{margin-bottom:16px}.history-panel .close-btn{background:none;border:none;font-size:22px;cursor:pointer;float:right;color:#888;line-height:1}.history-section{margin-bottom:20px}.history-section h4{font-size:14px;color:#666;margin-bottom:8px;border-bottom:1px solid #eee;padding-bottom:4px}.feedback-summary{display:flex;gap:28px;margin-bottom:24px;flex-wrap:wrap}.feedback-avg{background:#fff;border-radius:10px;padding:28px;text-align:center;box-shadow:0 1px 4px #00000014;min-width:160px}.feedback-avg .big-num{font-size:48px;font-weight:700;color:#8b1a1a}.feedback-avg .stars{font-size:18px;margin:6px 0}.feedback-avg .total{font-size:13px;color:#888}.feedback-bars{background:#fff;border-radius:10px;padding:20px;flex:1;box-shadow:0 1px 4px #00000014;min-width:280px}.feedback-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}.feedback-bar-row .label{width:40px;text-align:right}.feedback-bar-row .bar-track{flex:1;height:20px;background:#f0f0f0;border-radius:10px;overflow:hidden}.feedback-bar-row .bar-fill{height:100%;background:#8b1a1a;border-radius:10px;transition:width .3s}.feedback-bar-row .count{width:30px;color:#888;font-size:12px}.feedback-list{display:flex;flex-direction:column;gap:10px}.feedback-card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 4px #00000014;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.feedback-card .stars-row{color:#f1c40f;font-size:16px}.feedback-card .comment{font-size:13px;color:#444;flex:1;margin:0 12px}.feedback-card .meta{font-size:12px;color:#888;white-space:nowrap}.broadcast-cards{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.broadcast-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #00000014}.broadcast-card .festival-name{font-size:16px;font-weight:600}.broadcast-card .festival-meta{font-size:12px;color:#888;margin:2px 0 10px}.broadcast-result{background:#d4edda;color:#155724;padding:10px 14px;border-radius:6px;margin-top:10px;font-size:13px}.spinner-wrap{display:flex;justify-content:center;padding:40px}.spinner{width:36px;height:36px;border:4px solid #eee;border-top-color:#8b1a1a;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{background:#fff0f0;color:#b71c1c;padding:12px 18px;border-radius:8px;margin-bottom:16px;font-size:13px;border:1px solid #fcc}.search-bar{margin-bottom:16px}.search-bar input{width:100%;max-width:340px;padding:9px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:13px}.search-bar input:focus{outline:none;border-color:#8b1a1a}.empty-state{text-align:center;color:#888;padding:40px;font-size:14px}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;justify-content:center;align-items:center}.confirm-box{background:#fff;border-radius:12px;padding:28px;max-width:400px;width:90vw}.confirm-box h3{margin-bottom:10px}.confirm-box p{font-size:14px;color:#555;margin-bottom:18px}.confirm-box .confirm-actions{display:flex;gap:8px;justify-content:flex-end}.section-title{font-size:16px;font-weight:600;margin-bottom:12px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.flex-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.text-green{color:#27ae60}.text-red{color:#c0392b}.text-muted{color:#888;font-size:12px}@media (max-width: 768px){.catalog-grid{grid-template-columns:1fr}.main-content{padding:16px}.card-grid{grid-template-columns:repeat(2,1fr)}}
