.console-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr);background:var(--bg);color:var(--text)}.console-sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:6px;padding:18px 14px;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto}.console-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px;color:var(--text)}.console-brand img{width:34px;height:34px;border-radius:8px}.console-brand span{display:grid;line-height:1.2}.console-brand strong{font-size:16px}.console-brand small{color:var(--text-muted);font-size:12px}.console-nav{display:grid;grid-gap:2px;gap:2px}.console-nav a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border-radius:10px;color:var(--text-muted);font-weight:600;font-size:14px;transition:background-color .15s,color .15s}.console-nav a svg{width:18px;height:18px;flex-shrink:0}.console-nav a:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}.console-nav a.active{background:var(--accent);color:#fff}.console-sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.console-back-link{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border-radius:10px;color:var(--text-muted);font-size:13px}.console-back-link:hover{color:var(--text)}.console-back-link svg{width:16px;height:16px}.console-main{min-width:0;display:flex;flex-direction:column}.console-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px 24px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.console-topbar-title h1{margin:0;font-size:20px}.console-topbar-title span{color:var(--text-muted);font-size:13px}.console-topbar-actions{display:flex;align-items:center;gap:12px}.console-user-chip{display:flex;align-items:center;gap:8px}.console-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:13px}.console-user-name{font-size:13px;color:var(--text)}.console-content{padding:24px;max-width:1200px;width:100%;margin:0 auto}.console-panel{padding:20px;margin-bottom:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.console-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.console-panel-head h2{margin:0;font-size:17px}.console-panel-head span{color:var(--text-muted);font-size:13px}.console-subhead{margin:22px 0 12px;font-size:15px}.console-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.console-panel>.console-metrics{margin-bottom:0}.console-metric{display:grid;grid-gap:8px;gap:8px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.console-metric span{color:var(--text-muted);font-size:13px}.console-metric strong{font-size:26px;font-weight:700}.console-primary-btn,.console-secondary-btn,.console-text-btn{min-height:36px;padding:0 14px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:opacity .15s,background-color .15s,border-color .15s}.console-primary-btn{border:1px solid var(--accent);background:var(--accent);color:#fff}.console-primary-btn:hover{opacity:.9}.console-primary-btn:disabled{opacity:.6;cursor:not-allowed}.console-secondary-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.console-secondary-btn:hover{border-color:var(--accent);color:var(--accent)}.console-text-btn{min-height:30px;padding:0 8px;border:0;background:transparent;color:var(--accent)}.console-text-btn:hover{text-decoration:underline}.console-text-btn.danger{color:var(--rank-1)}.console-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.console-pill.ok{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.console-pill.muted{background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-muted)}.console-pill.status-pending{background:color-mix(in srgb,var(--rank-3) 20%,transparent);color:var(--rank-2)}.console-pill.status-confirmed{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.console-pill.status-cancelled{background:color-mix(in srgb,var(--rank-1) 16%,transparent);color:var(--rank-1)}.console-muted{color:var(--text-muted);font-size:13px}.console-table{display:grid;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.console-table-row{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));align-items:center;grid-gap:12px;gap:12px;min-height:50px;padding:10px 16px;border-bottom:1px solid var(--border)}.console-table-row:last-child{border-bottom:0}.console-table-row.head{min-height:42px;background:color-mix(in srgb,var(--text-muted) 8%,transparent);color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.console-table-row code{font-family:var(--font-mono);font-size:12px}.console-cell-strong{font-weight:600}.console-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:14px}.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.console-secret-wrap{margin-bottom:16px}.console-secret-hint{display:block;margin-bottom:6px;font-size:12px;color:var(--rank-2)}.console-secret{overflow-x:auto;margin:0;padding:14px;border-radius:8px;background:#0b1220;color:#7ee2a8;font-family:var(--font-mono);font-size:13px}.console-error{margin:0 0 14px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--rank-1) 40%,transparent);border-radius:8px;background:color-mix(in srgb,var(--rank-1) 10%,transparent);color:var(--rank-1);font-size:13px}.console-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.console-plan{display:grid;grid-gap:8px;gap:8px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.console-plan strong{font-size:16px}.console-plan-quota{color:var(--text-muted);font-size:13px}.console-plan-price{font-size:18px;font-weight:700;color:var(--accent)}.console-plan .console-secondary-btn{margin-top:4px;justify-content:center}.console-quota-bar{height:12px;margin-top:4px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 18%,transparent);overflow:hidden}.console-quota-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .4s ease}.console-quota-caption{margin:8px 0 0;color:var(--text-muted);font-size:13px}.console-segmented{display:inline-flex;padding:3px;border-radius:8px;background:color-mix(in srgb,var(--text-muted) 12%,transparent)}.console-segmented button{min-height:30px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer}.console-segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.console-chart{display:flex;align-items:flex-end;gap:4px;height:240px;padding:12px 4px 0;overflow-x:auto}.console-chart-col{flex:1 1;min-width:16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.console-chart-bar{position:relative;width:70%;min-height:2px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 55%,transparent));transition:height .3s ease}.console-chart-value{position:absolute;top:-18px;left:50%;transform:translateX(-50%)}.console-chart-label,.console-chart-value{font-size:10px;color:var(--text-muted);white-space:nowrap}.console-inline-form{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.console-inline-form input{flex:1 1 180px}.console-role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.console-role-card{display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.console-role-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.console-role-head strong{display:block;font-size:15px}.console-role-head code{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.console-perm-groups{display:grid;grid-gap:12px;gap:12px}.console-perm-group-label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-muted)}.console-perm-list{display:grid;grid-gap:4px;gap:4px}.console-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.console-check input{width:15px;height:15px;accent-color:var(--accent)}.console-role-foot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:6px}.console-chips{display:flex;flex-wrap:wrap;gap:6px}.console-chip{padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:12px}.console-chip.muted{background:color-mix(in srgb,var(--text-muted) 16%,transparent);color:var(--text-muted)}.console-role-picker{display:flex;flex-direction:column;gap:4px}.console-field{display:grid;grid-gap:6px;gap:6px;font-size:13px}.console-field>span{color:var(--text-muted);font-weight:600}.console-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.console-field-label{display:block;margin:4px 0;font-size:12px;font-weight:700;color:var(--text-muted)}.console-field-label code{font-family:var(--font-mono);color:var(--text)}input,select,textarea{font:inherit}.console-auth-panel input,.console-field input,.console-field select,.console-inline-form input,.console-visibility select{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.console-field input:focus,.console-field select:focus,.console-visibility select:focus{outline:none;border-color:var(--accent)}.console-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:8px}.console-editor{display:grid;grid-gap:12px;gap:12px;align-content:start;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.console-editor h3{margin:0;font-size:14px}.console-card-list{display:grid;grid-gap:12px;gap:12px}.console-edit-card{display:grid;grid-gap:10px;gap:10px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.console-edit-card-grid{display:grid;grid-template-columns:120px 1fr 1fr 90px;grid-gap:10px;gap:10px}.console-visibility{display:grid;grid-gap:8px;gap:8px}.console-visibility-row{display:flex;align-items:center;gap:8px}.console-visibility-row select{flex:1 1 auto}.console-loading{display:grid;place-items:center;grid-gap:14px;gap:14px;min-height:100vh;color:var(--text-muted)}.console-spinner{width:34px;height:34px;border-radius:50%;border:3px solid color-mix(in srgb,var(--text-muted) 30%,transparent);border-top-color:var(--accent);animation:console-spin .8s linear infinite}@keyframes console-spin{to{transform:rotate(1turn)}}.console-auth-page{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,440px);align-items:stretch;min-height:100vh;background:var(--bg)}.console-auth-brand{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:48px clamp(24px,5vw,72px);background:linear-gradient(150deg,#0b1220,#14233f);color:#fff}.console-auth-brand img{width:64px;height:64px;border-radius:14px}.console-auth-brand h1{margin:0;font-size:clamp(28px,4vw,44px)}.console-auth-brand p{margin:0;color:#9db0ca;font-weight:600}.console-auth-points{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-gap:10px;gap:10px}.console-auth-points li{position:relative;padding-left:22px;color:#c7d4e8;font-size:14px}.console-auth-points li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.console-auth-panel{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:48px clamp(24px,4vw,56px);background:var(--surface)}.console-auth-panel label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:600;color:var(--text-muted)}.console-auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;padding:4px;border-radius:10px;background:color-mix(in srgb,var(--text-muted) 12%,transparent)}.console-auth-tabs button{min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-weight:700;cursor:pointer}.console-auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.console-auth-panel .console-primary-btn{margin-top:6px;min-height:42px}@media (max-width:960px){.console-shell{grid-template-columns:1fr}.console-sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px}.console-brand{padding:6px 8px;width:100%}.console-nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;width:100%}.console-sidebar-foot{margin:0;border:0;padding:0}.console-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.console-editor-grid,.console-field-row,.console-plan-grid{grid-template-columns:1fr}.console-edit-card-grid{grid-template-columns:1fr 1fr}.console-auth-page{grid-template-columns:1fr}.console-auth-brand{display:none}}@media (max-width:600px){.console-content{padding:16px}.console-topbar{padding:12px 16px}.console-user-name{display:none}.console-metrics,.console-table-row{grid-template-columns:1fr 1fr}.console-table-row{font-size:13px}}.console-table-row.plans{grid-template-columns:1fr 1.4fr 1fr 1fr .8fr 1.4fr}.console-table-row.orders-admin{grid-template-columns:1.1fr 1.6fr 1fr .9fr 1.6fr}.console-table-row.orders-user{grid-template-columns:1.2fr 1fr .9fr 1fr}.console-table-row.nav-menu{grid-template-columns:.7fr 1.2fr 1.6fr .6fr 1.4fr}.console-table-row.nav-action{grid-template-columns:1.3fr 1.3fr 1.6fr 1.2fr}.console-table-row.sources{grid-template-columns:1.8fr 1fr 1.4fr .8fr}.console-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-muted)}.console-switch input{width:16px;height:16px;cursor:pointer}.console-switch input:disabled{cursor:not-allowed}.console-inline-input{height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px}.console-cell-sub{display:block;font-size:12px;color:var(--text-muted)}.console-modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,#000 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:console-fade .12s ease-out}.console-modal{width:100%;max-width:560px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 64px rgba(0,0,0,.28);animation:console-pop .14s ease-out}.console-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.console-modal-head h3{margin:0;font-size:16px}.console-modal-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer}.console-modal-close:hover{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text)}.console-modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.console-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border)}.console-field-hint{font-size:12px;color:var(--text-muted)}@keyframes console-fade{0%{opacity:0}to{opacity:1}}@keyframes console-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:600px){.console-table-row.nav-action,.console-table-row.nav-menu,.console-table-row.orders-admin,.console-table-row.orders-user,.console-table-row.plans,.console-table-row.sources{grid-template-columns:1fr 1fr}.console-modal{max-width:100%}}