:root{--pink:#e7332f;--pink-deep:#b71e1a;--pink-pale:#fce9e9;--teal:#0b0b0b;--teal-soft:#131313;--teal-light:#1a1a1a;--gold:#e1b860;--gold-light:#faf3e1;--gold-bright:#ebc46b;--charcoal:#2e2e2e;--gray:#b8b8b8;--gray-light:#e4e4e4;--gray-lighter:#f2f2f2;--gray-bg:#f7f5f1;--white:#fff;--black:#0b0b0b;--cream:#f5f0e4;--offwhite:#f8f5ee;--green:#3f8f5f;--green-light:#e5f1ea;--red:#d6435b;--red-light:#fce9ed;--blue:#3a6fcb;--blue-light:#eaf1fb;--amber:#e5a23a;--amber-light:#faf1dd;--sidebar-w:230px;--header-h:64px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--charcoal);background:var(--gray-bg);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.55}a{color:var(--pink);text-decoration:none}a:hover{color:var(--pink-deep)}.admin-sidebar{width:var(--sidebar-w);background:linear-gradient(180deg, var(--teal) 0%, var(--black) 100%);height:100vh;color:var(--white);z-index:30;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.admin-sidebar:before{content:"";background-image:radial-gradient(circle, var(--gold) .8px, transparent .8px);opacity:.08;pointer-events:none;background-size:22px 22px;position:absolute;inset:0}.sidebar-brand{z-index:1;border-bottom:1px solid #ffffff14;justify-content:center;align-items:center;padding:20px 22px 16px;display:flex;position:relative}.sidebar-brand .brand-link{line-height:0;text-decoration:none;transition:opacity .15s;display:inline-block}.sidebar-brand .brand-link:hover{opacity:.85}.sidebar-brand .brand-logo{width:100%;max-width:150px;height:auto;display:block}.sidebar-account{z-index:1;background:#00000040;padding:14px 18px;position:relative}.sidebar-account .account-label{letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;font-size:9px;font-weight:700}.sidebar-account .account-name{color:var(--white);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.sidebar-account .account-name:before{content:"";background:var(--green);border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 2px #3f8f5f4d}.sidebar-nav{z-index:1;flex-direction:column;flex:1;gap:2px;padding:16px 12px;display:flex;position:relative}.sidebar-nav .nav-group-label{letter-spacing:2px;text-transform:uppercase;color:#fff6;padding:14px 12px 6px;font-size:10px;font-weight:700}.sidebar-nav a{color:#ffffffc7;letter-spacing:.2px;border-radius:6px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-nav a:hover{color:var(--white);background:#ffffff0f}.sidebar-nav a.active{background:var(--pink);color:var(--white);font-weight:700;box-shadow:0 4px 12px #ff32664d}.sidebar-nav a .nav-icon{opacity:.9;flex-shrink:0;width:18px;height:18px}.sidebar-nav a .nav-badge{background:var(--gold);color:var(--black);letter-spacing:.5px;border-radius:20px;margin-left:auto;padding:1px 8px;font-size:10px;font-weight:800}.sidebar-footer{z-index:1;color:#ffffff73;text-align:center;letter-spacing:.3px;border-top:1px solid #ffffff14;padding:14px 18px 18px;font-size:11px;position:relative}.admin-header{top:0;left:var(--sidebar-w);height:var(--header-h);background:var(--white);border-bottom:1px solid var(--gray-light);z-index:20;align-items:center;gap:18px;padding:0 28px;display:flex;position:fixed;right:0}.admin-header .search-wrap{flex:1;max-width:520px;position:relative}.admin-header .search-wrap input{width:100%;height:38px;font:inherit;color:var(--charcoal);background:var(--gray-lighter);border:1px solid #0000;border-radius:20px;outline:none;padding:0 16px 0 40px;font-size:13.5px;transition:border-color .15s,background .15s}.admin-header .search-wrap input::placeholder{color:var(--gray)}.admin-header .search-wrap input:focus{border-color:var(--pink);background:var(--white)}.admin-header .search-wrap .search-icon{color:var(--gray);width:16px;height:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.admin-header .header-right{align-items:center;gap:14px;margin-left:auto;display:flex}.admin-header .header-icon-btn{background:var(--gray-lighter);cursor:pointer;width:36px;height:36px;color:var(--charcoal);border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.admin-header .header-icon-btn:hover{background:var(--pink-pale);color:var(--pink)}.admin-header .user-chip{background:var(--gray-lighter);cursor:pointer;border-radius:24px;align-items:center;gap:10px;padding:6px 14px 6px 6px;transition:background .15s;display:flex}.admin-header .user-chip:hover{background:var(--pink-pale)}.admin-header .user-chip .avatar{background:linear-gradient(135deg, var(--pink) 0%, var(--gold) 100%);width:30px;height:30px;color:var(--white);letter-spacing:.5px;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.admin-header .user-chip .user-meta{flex-direction:column;line-height:1.2;display:flex}.admin-header .user-chip .user-name{color:var(--teal);font-size:13px;font-weight:700}.admin-header .user-chip .user-role{letter-spacing:1px;text-transform:uppercase;color:var(--gray);font-size:10px;font-weight:700}.admin-main{margin-left:var(--sidebar-w);margin-top:var(--header-h);min-height:calc(100vh - var(--header-h));padding:32px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-header h1{color:var(--teal);letter-spacing:-.02em;margin-bottom:4px;font-size:30px;font-weight:800;line-height:1.1}.page-header .page-sub{color:var(--gray);max-width:640px;font-size:13px}.page-header .page-actions{align-items:center;gap:10px;display:flex}.primary-btn{background:linear-gradient(180deg, var(--pink) 0%, var(--pink-deep) 100%);color:var(--white);cursor:pointer;letter-spacing:-.01em;border:none;border-radius:6px;align-items:center;gap:8px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex;box-shadow:0 1px 2px #0000000f}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #ff326640}.primary-btn:active{transform:translateY(0)}.secondary-btn{background:var(--white);border:1px solid var(--gray-light);color:var(--teal);cursor:pointer;letter-spacing:-.01em;border-radius:6px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .12s,border-color .12s;display:inline-flex}.secondary-btn:hover{background:var(--gray-bg);border-color:var(--pink)}.date-range{font-family:inherit;position:relative}.date-range-toggle{background:var(--white);border:1px solid var(--gray-light);color:var(--teal);cursor:pointer;letter-spacing:-.01em;border-radius:6px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .12s,border-color .12s;display:inline-flex}.date-range-toggle:hover{background:var(--gray-bg);border-color:var(--pink)}.date-range.open .date-range-toggle{border-color:var(--pink);background:var(--gray-bg)}.date-range-toggle .cal-icon{width:14px;height:14px;color:var(--pink);stroke-width:2px}.date-range-toggle .chev{width:10px;height:10px;color:var(--gray);stroke-width:2.5px;transition:transform .15s}.date-range.open .date-range-toggle .chev{transform:rotate(180deg)}.date-range-menu{background:var(--white);border:1px solid var(--gray-light);z-index:50;border-radius:8px;min-width:220px;padding:6px;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0025321a}.date-range.open .date-range-menu{display:block}.date-range-menu button.dr-option{width:100%;color:var(--teal);cursor:pointer;text-align:left;letter-spacing:-.01em;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.date-range-menu button.dr-option:hover{background:var(--gray-bg)}.date-range-menu button.dr-option.selected{color:var(--pink-deep);background:#ff326614;font-weight:800}.date-range-menu button.dr-option .check{color:var(--pink);opacity:0}.date-range-menu button.dr-option.selected .check{opacity:1}.date-range-menu .dr-divider{background:var(--gray-light);height:1px;margin:6px 4px}.date-range-menu .dr-custom-pane{border-top:1px solid var(--gray-light);margin-top:4px;padding:10px 12px 12px;display:none}.date-range.custom-open .dr-custom-pane{display:block}.date-range-menu .dr-custom-pane .dr-row{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.date-range-menu .dr-custom-pane label{letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);font-size:10px;font-weight:800}.date-range-menu .dr-custom-pane input[type=date]{border:1px solid var(--gray-light);color:var(--teal);background:var(--white);border-radius:5px;width:100%;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:600}.date-range-menu .dr-custom-pane input[type=date]:focus{border-color:var(--pink);outline:none}.date-range-menu .dr-custom-pane .dr-apply{background:linear-gradient(180deg, var(--pink) 0%, var(--pink-deep) 100%);width:100%;color:var(--white);cursor:pointer;letter-spacing:-.01em;border:none;border-radius:5px;padding:8px;font-family:inherit;font-size:12.5px;font-weight:800}.date-range-menu .dr-custom-pane .dr-apply:hover{opacity:.92}.btn{background:var(--white);color:var(--teal);border:1px solid var(--gray-light);cursor:pointer;letter-spacing:.2px;border-radius:6px;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--charcoal);color:var(--teal)}.btn-primary{background:var(--pink);color:var(--white);border-color:var(--pink)}.btn-primary:hover{background:var(--pink-deep);border-color:var(--pink-deep);color:var(--white);box-shadow:0 4px 12px #ff32664d}.btn-secondary{background:var(--teal);color:var(--white);border-color:var(--teal)}.btn-secondary:hover{background:var(--teal-soft);border-color:var(--teal-soft);color:var(--white)}.btn-ghost{color:var(--charcoal);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--gray-lighter)}.btn-danger{background:var(--red);color:var(--white);border-color:var(--red)}.btn-sm{padding:7px 12px;font-size:12px}.btn-lg{padding:14px 26px;font-size:15px}.card{background:var(--white);border:1px solid var(--gray-light);border-radius:8px;box-shadow:0 1px 3px #0025320a}.card-body{padding:22px 24px}.card-header{border-bottom:1px solid var(--gray-light);justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.card-header h3{color:var(--teal);letter-spacing:-.01em;font-size:15px;font-weight:800}.card-header .card-sub{color:var(--gray);font-size:12px}.stat-card{background:var(--white);border:1px solid var(--gray-light);border-radius:8px;padding:20px 22px}.stat-card .stat-label{color:var(--charcoal);letter-spacing:.1px;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.stat-card .stat-label .info{background:var(--gray-lighter);width:14px;height:14px;color:var(--gray);text-align:center;border-radius:50%;font-size:9px;font-weight:800;line-height:14px;display:inline-block}.stat-card .stat-value{color:var(--pink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1}.stat-card .stat-change{align-items:center;gap:4px;margin-top:8px;font-size:12px;font-weight:700;display:inline-flex}.stat-card .stat-change.up{color:var(--green)}.stat-card .stat-change.down{color:var(--red)}.form-group{margin-bottom:18px}.form-label{color:var(--teal);letter-spacing:.2px;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.form-label .required{color:var(--pink)}.form-help{color:var(--gray);margin-top:5px;font-size:12px;line-height:1.45}.input,.textarea,.select{width:100%;font:inherit;color:var(--charcoal);background:var(--white);border:1px solid var(--gray-light);border-radius:6px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ff32661f}.textarea{resize:vertical;min-height:100px;line-height:1.55}.input.code,.textarea.code{color:var(--teal);background:var(--gray-bg);font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:12.5px}.input::placeholder,.textarea::placeholder{color:var(--gray)}.toggle{width:42px;height:24px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle .slider{background:var(--gray);cursor:pointer;border-radius:24px;transition:background .2s;position:absolute;inset:0}.toggle .slider:before{content:"";background:var(--white);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle input:checked+.slider{background:var(--green)}.toggle input:checked+.slider:before{transform:translate(18px)}.badge{letter-spacing:.4px;text-transform:uppercase;border-radius:100px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-flex}.badge.green{background:var(--green-light);color:var(--green)}.badge.red{background:var(--red-light);color:var(--red)}.badge.blue{background:var(--blue-light);color:var(--blue)}.badge.amber{background:var(--amber-light);color:var(--amber)}.badge.gray{background:var(--gray-lighter);color:var(--charcoal)}.badge.pink{background:var(--pink-pale);color:var(--pink)}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.tabs{border-bottom:1px solid var(--gray-light);gap:0;margin-bottom:24px;display:flex}.tabs .tab{color:var(--charcoal);cursor:pointer;letter-spacing:.2px;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 18px;font-family:inherit;font-size:13.5px;font-weight:700;transition:color .15s,border-color .15s}.tabs .tab:hover{color:var(--pink)}.tabs .tab.active{color:var(--pink);border-bottom-color:var(--pink)}.table{border-collapse:collapse;background:var(--white);border-radius:8px;width:100%;overflow:hidden}.table th{text-align:left;letter-spacing:1.2px;text-transform:uppercase;color:var(--gray);background:var(--gray-bg);border-bottom:1px solid var(--gray-light);padding:12px 18px;font-size:11px;font-weight:800}.table td{color:var(--charcoal);border-bottom:1px solid var(--gray-light);padding:14px 18px;font-size:13.5px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--gray-bg)}.table .row-title{color:var(--teal);font-weight:700}.placeholder-box{border:2px dashed var(--gray-light);text-align:center;color:var(--gray);border-radius:8px;padding:32px;font-size:13px;font-style:normal}.notice{background:var(--gold-light);border-left:4px solid var(--gold);border-radius:4px;gap:14px;margin-bottom:24px;padding:16px 20px;display:flex}.notice .notice-icon{background:var(--gold);width:24px;height:24px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.notice .notice-body{color:var(--charcoal);font-size:13px;line-height:1.55}.notice .notice-body strong{color:var(--teal)}.mockup-strip{background:var(--teal);color:var(--white);text-align:center;letter-spacing:2px;text-transform:uppercase;z-index:50;padding:8px 16px;font-size:11px;font-weight:800;position:relative}.mockup-strip .accent{color:var(--gold)}@media (max-width:900px){.admin-sidebar{transition:transform .25s;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-header{padding:0 16px;left:0}.admin-main{margin-left:0;padding:20px}}.test-mode-toggle{background:var(--gray-bg);border:1px solid var(--gray-light);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:22px;align-items:center;gap:0;margin-right:8px;padding:3px;font-family:inherit;transition:background .15s,border-color .15s;display:inline-flex}.test-mode-toggle:hover{border-color:#c9a24a}.test-mode-toggle .tm-option{letter-spacing:1px;text-transform:uppercase;color:var(--gray);border-radius:18px;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:800;line-height:1;transition:background .15s,color .15s;display:inline-flex}.test-mode-toggle .tm-option.active.live{color:var(--white);background:#3f8f5f;box-shadow:0 1px 3px #3f8f5f4d}.test-mode-toggle .tm-option.active.test{color:var(--black);background:linear-gradient(#e5bc55 0%,#c9a24a 100%);box-shadow:0 1px 3px #c9a24a66}.test-mode-toggle .tm-option .tm-dot{opacity:.6;background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.test-mode-toggle .tm-option.active .tm-dot{opacity:1}.test-mode-banner{top:var(--header-h);left:var(--sidebar-w);z-index:18;color:var(--black);letter-spacing:.1px;background:linear-gradient(90deg,#faf3e1 0%,#f6e9c8 50%,#faf3e1 100%);border-bottom:2px solid #c9a24a;padding:11px 28px;font-size:12.5px;font-weight:600;display:none;position:fixed;right:0}body.test-mode .test-mode-banner{align-items:center;gap:16px;display:flex}.test-mode-banner .tm-banner-icon{width:24px;height:24px;color:var(--white);background:linear-gradient(#e5bc55 0%,#c9a24a 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.test-mode-banner .tm-banner-text{flex:1;line-height:1.4}.test-mode-banner .tm-banner-text strong{color:var(--black);letter-spacing:1px;text-transform:uppercase;background:#fff9;border-radius:4px;margin-right:8px;padding:2px 7px;font-size:10.5px;font-weight:800}.test-mode-banner .tm-banner-actions{flex-shrink:0;align-items:center;gap:14px;display:inline-flex}.test-mode-banner .tm-banner-link{color:var(--black);letter-spacing:.3px;border-bottom:1px dashed #00000059;padding-bottom:1px;font-size:11.5px;font-weight:800;text-decoration:none}.test-mode-banner .tm-banner-link:hover{border-bottom-color:var(--black)}.test-mode-banner .tm-banner-card{color:#3f444b;letter-spacing:.5px;background:#ffffff8c;border-radius:4px;padding:3px 8px;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:11px;font-weight:700}body.test-mode .admin-main{margin-top:calc(var(--header-h) + 64px)}@media (max-width:1100px){body.test-mode .admin-main{margin-top:calc(var(--header-h) + 96px)}}body.test-mode .admin-sidebar{border-right:3px solid #c9a24a}body.test-mode .user-chip .user-role{color:#8a6f2f}body.test-mode .user-chip .user-role:before{content:"TEST · ";letter-spacing:.5px;color:#c9a24a;font-weight:800}@media (max-width:880px){.test-mode-banner{flex-wrap:wrap;padding:10px 16px;left:0}.test-mode-banner .tm-banner-actions{justify-content:flex-start;width:100%;margin-top:4px}}
