:root{--primary: #5b21b6;--primary-dark: #4c1d95;--primary-soft: #f3eefb;--primary-soft-strong: #ece3f9;--on-primary: #ffffff;--ink: #14121a;--surface: #ffffff;--surface-muted: #f7f6fa;--background: #ffffff;--text-primary: #1f2430;--text-secondary: #6b7180;--border: #e6e5ec;--success: #15803d;--success-bg: #e9f7ef;--warning: #b45309;--warning-bg: #fdf3e3;--danger: #b91c1c;--danger-bg: #fbe9e9;--info: #3730a3;--info-bg: #eeecfb;--neutral: #4b5563;--neutral-bg: #eef0f2;--radius: 16px;--radius-sm: 10px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(20, 18, 26, .04), 0 10px 24px -18px rgba(20, 18, 26, .18);--shadow-art: 0 24px 60px -24px rgba(76, 29, 149, .35);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;color:var(--text-primary);background:var(--background)}@media(prefers-color-scheme:dark){:root{--primary: #a78bfa;--primary-dark: #8b5cf6;--primary-soft: #251f36;--primary-soft-strong: #2c2440;--on-primary: #14121a;--ink: #f5f4f8;--surface: #17151f;--surface-muted: #1c1a26;--background: #100e16;--text-primary: #f0eff5;--text-secondary: #9b98ab;--border: #2a2735;--success-bg: #12301f;--warning-bg: #392a10;--danger-bg: #3a1414;--info-bg: #23204a;--neutral-bg: #262432}}*{box-sizing:border-box}body{margin:0;background:var(--background)}.page{max-width:1080px;margin:0 auto;padding:0 20px 64px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--border);padding:18px 4px;margin-bottom:44px}.topbar .brand{display:flex;align-items:center;gap:10px}.topbar .brand .logo-dots{display:flex;gap:3px}.topbar .brand .logo-dots span{width:8px;height:8px;border-radius:50%;background:var(--primary)}.topbar .brand .logo-dots span:last-child{background:var(--primary-soft-strong)}.topbar .brand strong{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:.01em}.topbar .brand .brand-sub{display:none}.topbar .user{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--text-secondary)}.topbar .role-badge{border:1px solid var(--border);color:var(--text-secondary);padding:4px 11px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.topbar .btn-logout{background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s ease,color .15s ease}.topbar .btn-logout:hover{border-color:var(--primary);color:var(--primary)}.topbar-nav{display:flex;gap:28px;flex-wrap:wrap}.topbar-tab{padding:4px 2px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;font-family:inherit;transition:color .15s ease,border-color .15s ease}.topbar-tab:hover{color:var(--text-primary)}.topbar-tab.active{color:var(--primary);border-color:var(--primary)}.hero-photo{position:relative;border-radius:24px;overflow:hidden;min-height:420px;display:flex;align-items:center;box-shadow:var(--shadow-art)}.hero-art{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.16),transparent 42%),radial-gradient(circle at 82% 78%,rgba(255,255,255,.12),transparent 46%),radial-gradient(circle at 60% 15%,rgba(255,255,255,.1),transparent 30%),linear-gradient(135deg,#6d28d9,#4c1d95 55%,#2e1065)}.hero-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle at 70% 60%,black 0%,transparent 68%);mask-image:radial-gradient(circle at 70% 60%,black 0%,transparent 68%)}.hero-route{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.55}.hero-card{position:relative;z-index:1;background:var(--surface);border-radius:20px;padding:40px 36px;max-width:400px;margin:36px;box-shadow:0 30px 60px -24px #14121a59}.hero-card .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.hero-card .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);display:inline-block}.hero-card h1{font-size:clamp(26px,3.4vw,34px);line-height:1.15;margin:14px 0 12px;color:var(--ink)}.hero-card p{margin:0 0 24px;color:var(--text-secondary);line-height:1.65;font-size:15px}.hero-stat{position:absolute;z-index:1;right:28px;bottom:28px;background:var(--surface);border-radius:var(--radius-sm);padding:14px 18px;box-shadow:0 20px 40px -20px #14121a66;display:flex;align-items:center;gap:12px}.hero-stat .icon{font-size:22px}.hero-stat strong{display:block;font-size:16px;color:var(--ink)}.hero-stat span{font-size:12px;color:var(--text-secondary)}.cta{display:inline-block;background:var(--primary);color:var(--on-primary);border-radius:var(--radius-sm);padding:13px 28px;font-weight:600;font-size:14px;text-decoration:none;transition:background .15s ease,transform .15s ease}.cta:hover{background:var(--primary-dark);transform:translateY(-1px)}.section-heading{margin:64px 0 24px;text-align:center}.section-heading .eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:8px}.section-heading h2{margin:0;font-size:clamp(22px,3vw,28px);color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-top:32px}.card{background:var(--surface);padding:30px 26px;border:none;border-radius:0;box-shadow:none}.card .icon{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);font-size:19px}.card h3{margin:18px 0 8px;font-size:16px;color:var(--ink)}.card p{margin:0;color:var(--text-secondary);line-height:1.65;font-size:14px}.auth-wrap .card,.dashboard .card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.auth-wrap{max-width:400px;margin:8px auto 0}footer{margin-top:56px;text-align:center;color:var(--text-secondary);font-size:13px}.card form,form.card,.login{display:grid;gap:16px}.card h2,.login h3{margin:0;color:var(--ink)}.card label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary)}.card input,.card select,.card textarea{padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-primary);font-size:15px;font-family:inherit;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.card input:focus,.card select:focus,.card textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.card input:disabled{opacity:.65;cursor:not-allowed}.card input[type=checkbox]{width:auto}.check-row{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:400;color:var(--text-primary)}.hint{font-size:12px;color:var(--text-secondary);margin:-4px 0 0}.error{color:var(--danger);font-size:14px;margin:0;font-weight:500}.foot-link{font-size:14px;text-align:center;margin:0;color:var(--text-secondary)}.foot-link a{color:var(--primary);font-weight:600;text-decoration:none}.foot-link a:hover{text-decoration:underline}.btn{padding:11px 24px;border:0;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease,transform .12s ease,opacity .15s ease}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-secondary{background:var(--primary-soft);color:var(--primary-dark)}.btn-secondary:hover{background:var(--primary-soft-strong)}.btn-sm{padding:6px 14px;font-size:13px}.card form button,form.card button,.login button{padding:11px 24px;border:0;border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease}.card form button:hover:not(:disabled),form.card button:hover:not(:disabled),.login button:hover:not(:disabled){background:var(--primary-dark)}.card form button:disabled,form.card button:disabled,.login button:disabled{opacity:.55;cursor:default}.dashboard{display:flex;flex-direction:column;gap:20px}.page-title{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.page-title h2{margin:0;font-size:22px;color:var(--ink)}.state-card{text-align:center;padding:48px 24px}.state-card .state-icon{font-size:34px;margin-bottom:12px}.state-card h3{margin:0 0 6px}.state-card p{color:var(--text-secondary);margin:0 0 20px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.tab{padding:9px 18px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease,border-color .15s ease}.tab:hover{border-color:var(--primary)}.tab.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.panel-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:8px}.panel-header h3{margin:0;color:var(--ink)}.filter-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.filter-row select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-primary);font-family:inherit;font-size:14px}.table-wrap{overflow-x:auto;margin-top:8px}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data th{text-align:left;padding:10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:2px solid var(--border);white-space:nowrap}table.data td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}table.data tbody tr{transition:background .12s ease}table.data tbody tr:hover{background:var(--surface-muted)}table.data .cell-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.badge-status{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;white-space:nowrap}.badge-draft{background:var(--neutral-bg);color:var(--neutral)}.badge-pending_payment{background:var(--warning-bg);color:var(--warning)}.badge-confirmed{background:var(--success-bg);color:var(--success)}.badge-cancelled{background:var(--danger-bg);color:var(--danger)}.badge-refunded{background:var(--info-bg);color:var(--info)}@media(max-width:720px){.hero-photo{display:block;min-height:0;box-shadow:none}.hero-art{position:static;height:190px;border-radius:24px 24px 0 0}.hero-art:before{-webkit-mask-image:none;mask-image:none}.hero-route{display:none}.hero-card{position:static;margin:0;max-width:none;border-radius:0 0 24px 24px;box-shadow:none}.hero-stat{position:static;margin:16px;box-shadow:var(--shadow-card)}}
