﻿.btn{display:inline-flex;align-items:center;gap:8px;border-radius:0;padding:9px 18px;font-weight:700;font-size:var(--fs-base, 13px);cursor:pointer;text-decoration:none;transition:opacity .15s;white-space:nowrap;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.is-loading::before{content:"";width:13px;height:13px;border:2px solid currentColor;border-top-color:rgba(0,0,0,0);border-radius:50%;display:inline-block;animation:btn-spin .6s linear infinite;flex-shrink:0}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){opacity:.88}.btn--secondary{background:var(--accent-dim);color:var(--accent)}.btn--secondary:hover:not(:disabled){background:var(--border)}.btn--danger{background:var(--red);color:#fff}.btn--danger:hover{opacity:.88}.btn--full{width:100%;justify-content:center}.btn-back{background:rgba(0,0,0,0);border:none;color:var(--muted);cursor:pointer;font-size:var(--fs-base, 13px);display:inline-flex;align-items:center;gap:6px;padding:0;margin-bottom:8px;transition:color .15s}.btn-back:hover{color:var(--text, #e8edf5)}.btn-icon{background:rgba(0,0,0,0);border:none;color:var(--muted);cursor:pointer;padding:5px 7px;border-radius:0;font-size:var(--fs-base, 13px);transition:all .15s}.btn-icon:hover{color:var(--text, #e8edf5);background:var(--border-dim)}.btn-icon--red:hover{color:var(--red);background:rgba(224,92,92,.1)}.btn-icon-inline{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:0;background:rgba(0,0,0,0);color:var(--muted);font-size:var(--fs-2xs, 10px);cursor:pointer;transition:all .15s;padding:0}.btn-icon-inline:hover{color:var(--accent);background:var(--accent-dim)}.form-grid{display:grid;grid-template-columns:380px 1fr;gap:24px}.form-col{display:flex;flex-direction:column;gap:16px}.form-actions{display:flex;align-items:center;gap:10px;padding-top:8px;flex-wrap:wrap}.form-actions--end{justify-content:flex-end}.form-actions--between{justify-content:space-between}.form-row{margin-bottom:18px}.form-status{margin-left:10px;font-size:var(--fs-base, 13px);font-weight:500;vertical-align:middle}.form-status--success{color:var(--green)}.form-status--error{color:var(--red)}.form-status--working{color:var(--accent)}.form-section{background:var(--bg-card, #111b2e);border:1px solid var(--border-dim);border-radius:0;padding:20px}.form-html-section{display:flex;flex-direction:column}.form-section-title{font-size:var(--fs-xl, 18px);font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:16px;display:flex;align-items:center;gap:8px}.field{margin-bottom:12px}.field-hint{font-size:var(--fs-xs, 11px);color:var(--muted);margin-top:4px;line-height:1.5}.field label{font-size:var(--fs-xs, 11px);color:var(--muted);font-weight:700;letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:5px}.field-err{font-size:var(--fs-xs, 11px);color:var(--red);margin-top:3px;min-height:16px}.field-error{display:block;font-size:var(--fs-xs, 11px);color:var(--red);margin-top:4px;line-height:1.5}[aria-invalid=true]{border-color:var(--red) !important}.req{color:var(--red)}.input{width:100%;background:var(--bg-main, #0d1321);border:1px solid var(--border-dim);border-radius:0;padding:9px 12px;color:var(--text, #e8edf5);font-size:var(--fs-base, 13px);transition:border-color .15s;outline:none}.input:focus{border-color:var(--accent)}.input.error{border-color:var(--red)}.input:disabled,.input.is-readonly{background:var(--bg-deep, rgba(0, 0, 0, 0.15));color:var(--muted, #7a8aaa);cursor:not-allowed;opacity:.7}.input--inline{width:auto}.input--mono{font-family:var(--mono);font-size:var(--fs-sm, 12px);flex:1;min-height:480px}.input--password{flex:1;font-family:monospace;letter-spacing:2px}.input--password::placeholder{font-family:var(--font);letter-spacing:normal;font-size:var(--fs-base, 13px)}select.input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a6575' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer}select.input:focus{border-color:var(--accent)}select.input option{background:var(--bg-card, #111b2e);color:var(--text, #e8edf5)}.char-count{font-size:var(--fs-sm, 12px);color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:8px}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(8,12,20,.85);align-items:center;justify-content:center;z-index:100}.modal-overlay.open{display:flex}#app-modal{z-index:9999 !important}#app-modal-body ul,#app-modal-body ol{text-align:left}.modal-prompt-field{margin-top:4px}.modal-prompt-field .input{width:100%}.modal-prompt-field textarea.input{resize:vertical;min-height:88px}.modal{background:var(--bg-card, #111b2e);border:1px solid var(--border);border-radius:0;padding:36px;text-align:center;max-width:480px;width:90%}.modal--form{text-align:left;max-width:540px;padding:28px 32px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal--wide{max-width:560px}.modal>i{font-size:var(--fs-7xl, 36px);color:var(--red)}.modal-icon-wrap{font-size:var(--fs-8xl, 40px);margin-bottom:4px;line-height:1}.modal h3{color:var(--text, #e8edf5);margin:12px 0 8px}.modal p{color:var(--muted);font-size:var(--fs-base, 13px);margin-bottom:20px;line-height:1.6}.modal-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.modal-btns .btn{min-width:110px;justify-content:center}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg-card, #111b2e);border:1px solid var(--border, rgba(20, 150, 230, 0.18));border-radius:0;padding:12px 18px;font-size:var(--fs-base, 13px);display:flex;align-items:center;gap:10px;z-index:200;transform:translateY(80px);opacity:0;transition:all .3s;pointer-events:none}.toast.show{transform:translateY(0);opacity:1}.toast i{color:var(--green, #3acf8f)}.colorpicker-wrap{position:relative}.colorpicker-trigger{display:flex;align-items:center;gap:10px;cursor:pointer;width:100%;text-align:left}.colorpicker-swatch{width:22px;height:22px;border:1px solid var(--border);flex-shrink:0;background:repeating-conic-gradient(#444 0% 25%, #222 0% 50%) 50%/10px 10px}.colorpicker-value{font-family:"Courier New",monospace;font-size:var(--fs-base, 13px);color:var(--text, #e8edf5);flex:1;min-width:0}.colorpicker-caret{color:var(--muted);font-size:var(--fs-xs, 11px)}.colorpicker-pop{display:none;position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:244px;background:var(--bg-card, #111b2e);border:1px solid var(--border);padding:12px;box-shadow:0 12px 40px rgba(0,0,0,.5);flex-direction:column;gap:10px}.colorpicker-pop.open{display:flex}.colorpicker-sv{position:relative;width:100%;height:130px;cursor:crosshair;touch-action:none;border:1px solid var(--border-dim);background-image:linear-gradient(to top, #000, rgba(0, 0, 0, 0)),linear-gradient(to right, #fff, rgba(255, 255, 255, 0))}.colorpicker-sv-thumb,.colorpicker-hue-thumb{position:absolute;width:12px;height:12px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.6);transform:translate(-50%, -50%);pointer-events:none}.colorpicker-hue{position:relative;width:100%;height:12px;cursor:ew-resize;touch-action:none;background:linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)}.colorpicker-hue-thumb{top:50%}.colorpicker-brand{display:flex;gap:6px}.colorpicker-bswatch{width:100%;height:22px;border:1px solid var(--border-dim);cursor:pointer;padding:0}.colorpicker-fields{display:flex;flex-direction:column;gap:6px}.colorpicker-field{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:8px}.colorpicker-field>span{font-size:var(--fs-2xs, 10px);font-weight:700;letter-spacing:1px;color:var(--muted)}.colorpicker-field .input{padding:6px 8px;font-size:var(--fs-sm, 12px);font-family:"Courier New",monospace}.hub-palette-list,.hub-fonts-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.hub-palette-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--border);padding:4px 6px 4px 4px}.hub-palette-swatch{width:20px;height:20px;border:1px solid var(--border-dim);flex-shrink:0}.hub-palette-cname{font-size:var(--fs-sm, 12px);color:var(--text, #e8edf5)}.hub-palette-cval{font-size:var(--fs-xs, 11px);color:var(--muted);font-family:"Courier New",monospace}.hub-palette-del{background:none;border:0;color:var(--muted);cursor:pointer;padding:0 2px;line-height:1}.hub-palette-del:hover{color:var(--red)}.hub-palette-add{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.hub-palette-add .hub-palette-name{max-width:170px}.hub-palette-add .colorpicker-wrap{width:190px}.hub-brand-slots{display:flex;flex-direction:column;gap:10px}.hub-brand-slot{border:1px solid var(--border);padding:10px 12px}.hub-brand-slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.hub-brand-slot-label{font-size:var(--fs-base, 13px);color:var(--text, #e8edf5)}.hub-brand-slot-assets{display:flex;flex-direction:column;gap:6px}.hub-brand-asset{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm, 12px)}.hub-brand-asset-name{color:var(--text, #e8edf5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.hub-brand-asset-ext{color:var(--muted);font-size:var(--fs-2xs, 10px);font-weight:700;flex-shrink:0}.hub-brand-icon{background:none;border:0;color:var(--muted);cursor:pointer;padding:0 2px;text-decoration:none}.hub-brand-icon:hover{color:var(--accent)}.hub-brand-del:hover{color:var(--red)}.badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 8px;border-radius:0;font-size:9px;line-height:1;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.badge--accent{background:rgba(20,150,230,.15);color:var(--accent)}.badge--green{background:rgba(58,207,143,.15);color:var(--green, #3acf8f)}.badge--teal{background:rgba(16,185,129,.15);color:var(--teal, #10b981)}.badge--red{background:rgba(224,92,92,.15);color:var(--red, #e05c5c)}.badge--orange{background:rgba(224,154,58,.15);color:var(--orange)}.badge--violet{background:rgba(167,139,250,.15);color:var(--violet, #a78bfa)}.badge--yellow{background:rgba(245,200,66,.15);color:var(--yellow, #f5c842)}.badge--info{background:rgba(96,165,250,.15);color:var(--info, #60a5fa)}.badge--muted{background:hsla(0,0%,100%,.07);color:var(--muted)}.badge.is-chip{text-transform:none;letter-spacing:normal;font-size:var(--fs-xs, 11px)}.badge.is-active{filter:brightness(1.25)}.badge-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:inherit;cursor:pointer;padding:0;margin-left:2px;line-height:1;font-size:var(--fs-md, 14px);opacity:.55;transition:opacity .12s}.badge-remove:hover{opacity:1}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:0;font-size:var(--fs-base, 13px);line-height:1.6;border:1px solid}.alert>i{flex-shrink:0;margin-top:2px;font-size:var(--fs-lg, 16px)}.alert>span,.alert>div{flex:1;min-width:0}.alert strong{font-weight:700}.alert code{font-family:ui-monospace,SFMono-Regular,monospace;background:rgba(0,0,0,.3);padding:1px 6px;border-radius:0;font-size:11.5px}.alert--info{background:color-mix(in srgb, var(--accent, #1496E6) 8%, transparent);border-color:color-mix(in srgb, var(--accent, #1496E6) 25%, transparent);color:var(--accent, #1496E6)}.alert--success{background:color-mix(in srgb, var(--green, #3acf8f) 8%, transparent);border-color:color-mix(in srgb, var(--green, #3acf8f) 25%, transparent);color:var(--green, #3acf8f)}.alert--warning{background:color-mix(in srgb, var(--yellow, #f5c842) 10%, transparent);border-color:color-mix(in srgb, var(--yellow, #f5c842) 32%, transparent);color:var(--yellow, #f5c842)}.alert--error,.alert--danger{background:color-mix(in srgb, var(--red, #e05c5c) 8%, transparent);border-color:color-mix(in srgb, var(--red, #e05c5c) 25%, transparent);color:var(--red, #e05c5c)}.banner{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;padding:10px 16px;font-size:var(--fs-base, 13px);line-height:1.5;border-bottom:1px solid;color:var(--text, #e8edf5)}.banner>i{flex-shrink:0;font-size:var(--fs-lg, 16px)}.banner__body{flex:1;min-width:0}.banner__actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.banner__btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 14px;border-radius:0;font-size:var(--fs-sm, 12px);font-weight:600;cursor:pointer;text-decoration:none;background:color-mix(in srgb, currentColor 14%, transparent);border:1px solid color-mix(in srgb, currentColor 45%, transparent)}.banner__btn:hover{background:color-mix(in srgb, currentColor 24%, transparent)}.banner--static{position:static}.banner--pulse{animation:banner-pulse 3s ease-in-out infinite}.banner--info{background:color-mix(in srgb, var(--accent, #1496E6) 12%, transparent);border-bottom-color:color-mix(in srgb, var(--accent, #1496E6) 45%, transparent)}.banner--info>i,.banner--info strong,.banner--info .banner__btn{color:var(--accent, #1496E6)}.banner--success{background:color-mix(in srgb, var(--green, #3acf8f) 12%, transparent);border-bottom-color:color-mix(in srgb, var(--green, #3acf8f) 45%, transparent)}.banner--success>i,.banner--success strong,.banner--success .banner__btn{color:var(--green, #3acf8f)}.banner--warning{background:color-mix(in srgb, var(--yellow, #f5c842) 12%, transparent);border-bottom-color:color-mix(in srgb, var(--yellow, #f5c842) 45%, transparent)}.banner--warning>i,.banner--warning strong,.banner--warning .banner__btn{color:var(--yellow, #f5c842)}.banner--error,.banner--danger{background:color-mix(in srgb, var(--red, #e05c5c) 14%, transparent);border-bottom-color:color-mix(in srgb, var(--red, #e05c5c) 55%, transparent)}.banner--error>i,.banner--error strong,.banner--error .banner__btn,.banner--danger>i,.banner--danger strong,.banner--danger .banner__btn{color:var(--red, #e05c5c)}@keyframes banner-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.22)}}.notification-stack{position:sticky;top:0;z-index:99;display:flex;flex-direction:column;gap:4px;padding:6px 8px}.notification{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:0;background:color-mix(in srgb, var(--bg-card, #131a2b) 92%, #000);border-left:4px solid;font-size:var(--fs-base, 13px)}.notification>i{flex-shrink:0}.notification__text{flex:1;min-width:0;color:var(--text, #e8edf5)}.notification__dismiss{background:rgba(0,0,0,0);border:none;color:inherit;opacity:.6;cursor:pointer;padding:2px 8px;font-size:var(--fs-md, 14px);flex-shrink:0}.notification__dismiss:hover{opacity:1}.notification--info{border-left-color:var(--accent, #1496E6)}.notification--info>i{color:var(--accent, #1496E6)}.notification--success{border-left-color:var(--green, #3acf8f)}.notification--success>i{color:var(--green, #3acf8f)}.notification--warning{border-left-color:var(--yellow, #f5c842)}.notification--warning>i{color:var(--yellow, #f5c842)}.notification--danger,.notification--error{border-left-color:var(--red, #e05c5c)}.notification--danger>i,.notification--error>i{color:var(--red, #e05c5c)}.disclosure>summary,.disclosure>.disclosure__summary{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;list-style:none;font-size:var(--fs-sm, 12px);font-weight:600;color:var(--disclosure-accent, var(--accent, #3acf8f));padding:4px 0}.disclosure>summary::-webkit-details-marker,.disclosure>.disclosure__summary::-webkit-details-marker{display:none}.disclosure>summary::marker,.disclosure>.disclosure__summary::marker{content:""}.disclosure>summary::before,.disclosure>.disclosure__summary::before{content:"";font-family:"Font Awesome 6 Free";font-weight:700;flex-shrink:0;font-size:var(--fs-xs, 11px);line-height:1;transition:transform .15s ease;color:var(--disclosure-accent, var(--accent, #3acf8f))}.disclosure>summary:hover,.disclosure>.disclosure__summary:hover{filter:brightness(1.15)}.disclosure[open]>summary::before,.disclosure[open]>.disclosure__summary::before{transform:rotate(90deg)}.disclosure__count{color:var(--muted, #7a8aaa);font-weight:500}.disclosure__body{padding-top:8px}.disclosure--green{--disclosure-accent: var(--green, #3acf8f)}.disclosure--blue{--disclosure-accent: var(--blue, #38a9e0)}.disclosure--purple{--disclosure-accent: var(--purple, #a78bfa)}.disclosure--yellow{--disclosure-accent: var(--yellow, #f5c842)}.disclosure--orange{--disclosure-accent: var(--orange, #e09a3a)}.disclosure--red{--disclosure-accent: var(--red, #e05c5c)}.disclosure--panel{background:var(--bg-card, #111b2e);border:1px solid var(--border);overflow:hidden}.disclosure--panel>.disclosure__summary{padding:12px 16px;gap:10px;color:var(--text, #e8edf5);transition:background .15s}.disclosure--panel>.disclosure__summary::before{color:var(--muted, #7a8aaa)}.disclosure--panel>.disclosure__summary:hover{background:var(--accent-dim);filter:none}.disclosure--panel>.disclosure__summary strong{flex:1;font-size:var(--fs-md, 14px);font-weight:700}.card-component{background:var(--bg-card, #111b2e);border:1px solid var(--border);border-radius:0;overflow:hidden;margin-bottom:16px}.card-component:last-child{margin-bottom:0}.card-grid>.card-component,.tile-grid>.card-component{margin-bottom:0}.card-component__header{display:flex;align-items:flex-start;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border)}.card-component__header>i{color:var(--accent);margin-top:3px}.card-component__header-action{margin-left:auto;align-self:center;display:flex;gap:8px;flex-shrink:0}.card-component__title-wrap{flex:1;min-width:0}.card-component__title{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm, 12px);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted2);margin:0}.card-component__title i{color:var(--accent)}.card-component__subtitle{font-size:var(--fs-sm, 12px);color:var(--muted);margin-top:4px;text-transform:none;letter-spacing:normal;font-weight:400;line-height:1.5}.card-component__body{padding:18px}.card-component__footer{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:12px 18px;border-top:1px solid var(--border);background:rgba(0,0,0,.1)}.card-component__footer .btn{flex:0 0 auto}.card-component__footer--start{justify-content:flex-start}.card-component__footer--between{justify-content:space-between}.card-component__footer--center{justify-content:center}.empty-state{background:var(--bg-card, #111b2e);border:1px solid var(--border-dim);border-radius:0;padding:60px 40px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}.empty-state i{font-size:var(--fs-8xl, 40px);opacity:.4}.empty-state h3{color:var(--text, #e8edf5);font-size:var(--fs-lg, 16px)}.empty-state p{font-size:var(--fs-base, 13px);max-width:300px;line-height:1.6}.loading-msg{padding:40px;text-align:center;color:var(--muted);font-size:var(--fs-md, 14px);display:flex;align-items:center;justify-content:center;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card, #111b2e);border:1px solid var(--border-dim);border-radius:0;padding:20px;text-align:center}.stat-val{font-size:var(--fs-7xl, 36px);font-weight:700;color:var(--accent);line-height:1}.stat-label{font-size:var(--fs-xs, 11px);color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:6px}.datepicker-wrap{position:relative}.datepicker-input{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;padding:9px 12px}.datepicker-input:focus{outline:none;border-color:var(--accent)}.datepicker-input i{color:var(--muted);font-size:var(--fs-base, 13px);flex-shrink:0}.datepicker-placeholder{color:var(--muted);flex:1;font-size:var(--fs-base, 13px)}.datepicker-value{color:var(--text, #e8edf5);flex:1;font-size:var(--fs-base, 13px)}.datepicker-clear{background:none;border:none;cursor:pointer;color:var(--muted);padding:0 0 0 4px;display:flex;align-items:center;transition:color .15s}.datepicker-clear:hover{color:var(--red)}.datepicker-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;background:var(--bg-card, #111b2e);border:1px solid var(--border);border-radius:0;padding:14px;z-index:9999;width:280px;box-shadow:0 8px 32px rgba(0,0,0,.4)}.datepicker-dropdown.open{display:block}.datepicker-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:6px}.datepicker-nav-btn{background:var(--bg-main, #0d1321);border:1px solid var(--border-dim);border-radius:0;padding:5px 10px;color:var(--text, #e8edf5);cursor:pointer;font-size:var(--fs-sm, 12px);transition:border-color .15s}.datepicker-nav-btn:hover{border-color:var(--accent);color:var(--accent)}.datepicker-month-btn{flex:1;background:none;border:none;color:var(--text, #e8edf5);font-size:var(--fs-base, 13px);font-weight:700;cursor:pointer;font-family:var(--font);padding:4px 8px;border-radius:0;transition:background .15s}.datepicker-month-btn:hover{background:var(--bg-main, #0d1321)}.datepicker-body{display:grid;grid-template-columns:repeat(7, 1fr);gap:2px}.datepicker-body.month-view{grid-template-columns:1fr;gap:0}.dp-weekday{text-align:center;font-size:var(--fs-2xs, 10px);font-weight:700;color:var(--muted);padding:4px 0;letter-spacing:.5px;text-transform:uppercase}.dp-day{text-align:center;font-size:var(--fs-sm, 12px);padding:6px 4px;border-radius:0;cursor:pointer;color:var(--text, #e8edf5);transition:background .12s,color .12s;border:1px solid rgba(0,0,0,0)}.dp-day:hover{background:var(--bg-main, #0d1321);border-color:var(--border-dim)}.dp-day.selected{background:var(--accent);color:#fff;font-weight:700;border-color:var(--accent)}.dp-day.selected:hover{background:var(--accent)}.dp-day.empty{cursor:default}.dp-day.empty:hover{background:none;border-color:rgba(0,0,0,0)}.datepicker-months{display:grid;grid-template-columns:repeat(3, 1fr);gap:6px;width:100%}.dp-month-item{text-align:center;font-size:var(--fs-sm, 12px);padding:8px 4px;border-radius:0;cursor:pointer;color:var(--text, #e8edf5);transition:background .12s;border:1px solid rgba(0,0,0,0)}.dp-month-item:hover{background:var(--bg-main, #0d1321);border-color:var(--border-dim)}.dp-month-item.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.dp-time{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-dim);font-size:var(--fs-base, 13px)}.dp-time>i{color:var(--muted);font-size:var(--fs-base, 13px)}.dp-time-label{color:var(--muted);margin-right:2px}.dp-time-sep{color:var(--muted);font-weight:700}.dp-time-sel{background:var(--bg-main, #0d1321);color:var(--text, #e8edf5);border:1px solid var(--border);border-radius:0;padding:4px 6px;font-size:var(--fs-base, 13px);cursor:pointer}.dp-time-sel:focus{outline:none;border-color:var(--accent)}.dp-time-ampm{margin-left:4px}.lang-switcher{display:flex;align-items:center;gap:4px}.lang-btn{background:none;border:1px solid rgba(0,0,0,0);border-radius:0;padding:3px 8px;font-size:var(--fs-xs, 11px);font-weight:700;letter-spacing:.5px;color:var(--muted);cursor:pointer;transition:all .15s;text-transform:uppercase}.lang-btn:hover{color:var(--text, #e8edf5);border-color:var(--border)}.lang-btn.active{color:var(--accent);border-color:var(--accent);background:rgba(20,150,230,.08)}.lang-switcher-sep{font-size:var(--fs-xs, 11px);color:var(--border);user-select:none}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch-min, 44px);min-height:32px;background:none;border:1px solid rgba(0,0,0,0);border-radius:0;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s;font-size:var(--fs-md, 14px)}.theme-toggle:hover{color:var(--text, #e8edf5);border-color:var(--border)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#htmx-indicator{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:9999;opacity:0}#htmx-indicator.active{opacity:1;animation:htmx-progress 1.5s ease-in-out infinite}@keyframes htmx-progress{0%{transform:scaleX(0)}50%{transform:scaleX(0.7)}100%{transform:scaleX(1)}}.htmx-indicator{opacity:0;transition:opacity .2s}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{opacity:1}.htmx-swapping{opacity:0;transition:opacity .15s ease-out}.htmx-settling{opacity:1;transition:opacity .2s ease-in}.htmx-refreshable{position:relative}.htmx-refreshable::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(13,19,33,.35);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:10;border-radius:inherit}.htmx-refreshable::before{content:"";position:absolute;top:50%;left:50%;width:32px;height:32px;margin-top:-16px;margin-left:-16px;border:3px solid hsla(0,0%,100%,.15);border-top-color:var(--accent);border-radius:50%;opacity:0;pointer-events:none;z-index:11;transition:opacity .15s ease;animation:htmx-spin .7s linear infinite}.htmx-refreshable.htmx-request::after,.htmx-refreshable.htmx-request::before{opacity:1;transition-delay:200ms}@keyframes htmx-spin{to{transform:rotate(360deg)}}.login-brand{margin-bottom:6px}input[type=checkbox]:not(.toggle-input){appearance:none;-webkit-appearance:none;flex:0 0 auto;width:18px;height:18px;min-height:0;min-width:0;margin:0;padding:0;box-sizing:border-box;vertical-align:middle;position:relative;background:var(--bg-main, #0d1321);border:1px solid var(--border, #2a3245);border-radius:0;cursor:pointer;transition:background .12s ease,border-color .12s ease}input[type=checkbox]:not(.toggle-input):hover{border-color:var(--accent, #1496E6)}input[type=checkbox]:not(.toggle-input):focus-visible{outline:2px solid var(--accent, #1496E6);outline-offset:1px}input[type=checkbox]:not(.toggle-input):checked{background:var(--accent, #1496E6);border-color:var(--accent, #1496E6)}input[type=checkbox]:not(.toggle-input):checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:not(.toggle-input):indeterminate,input[type=checkbox]:not(.toggle-input)[data-indeterminate="1"]{background:var(--accent, #1496E6);border-color:var(--accent, #1496E6)}input[type=checkbox]:not(.toggle-input):indeterminate::after,input[type=checkbox]:not(.toggle-input)[data-indeterminate="1"]::after{content:"";position:absolute;left:3px;top:7px;width:10px;height:2px;background:#fff;border:0;transform:none}input[type=checkbox]:not(.toggle-input):disabled{opacity:.5;cursor:not-allowed}.checkbox-field{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--fs-base, 13px);color:var(--text, #e8edf5);font-weight:400;letter-spacing:normal;text-transform:none}.checkbox-field input[type=checkbox]{flex:0 0 auto}.checkbox-field>span{line-height:1.4}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.switch .toggle-input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}.toggle-track{position:relative;flex:0 0 auto;width:38px;height:22px;background:var(--bg-main, #0d1321);border:none;border-radius:0;transition:background .15s ease}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--muted, #7a8aaa);border-radius:0;transition:transform .15s ease,background .15s ease}.toggle-input:checked+.toggle-track{background:var(--accent, #1496E6)}.toggle-input:checked+.toggle-track .toggle-thumb{transform:translateX(16px);background:#fff}.toggle-input:focus-visible+.toggle-track{outline:2px solid var(--accent, #1496E6);outline-offset:2px}.toggle-input:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.switch-label{font-size:var(--fs-base, 13px);color:var(--text, #e8edf5)}input[type=radio]{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:18px;height:18px;min-width:0;min-height:0;margin:0;padding:0;box-sizing:border-box;position:relative;vertical-align:middle;background:var(--bg-main, #0d1321);border:1px solid var(--border, #2a3245);border-radius:50%;cursor:pointer;transition:border-color .12s ease}input[type=radio]:hover{border-color:var(--accent, #1496E6)}input[type=radio]:focus-visible{outline:2px solid var(--accent, #1496E6);outline-offset:1px}input[type=radio]:checked{border-color:var(--accent, #1496E6)}input[type=radio]:checked::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%, -50%);border-radius:50%;background:var(--accent, #1496E6)}input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.radio-field{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--fs-base, 13px);color:var(--text, #e8edf5);font-weight:400;letter-spacing:normal;text-transform:none}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.skip-link{position:absolute;top:-100px;left:8px;z-index:99999;background:var(--accent);color:#fff;padding:10px 16px;border-radius:0;font-size:var(--fs-md, 14px);font-weight:700;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.4);transition:top .15s ease}.skip-link:focus,.skip-link:focus-visible{top:0;outline:2px solid #fff;outline-offset:-4px}.confirm-modal-overlay{position:fixed;inset:0;background:rgba(8,12,20,.85);display:flex;align-items:center;justify-content:center;z-index:9000}.confirm-modal-box{background:var(--bg-card, #1a2030);border:1px solid var(--border, #2a3245);border-radius:0;padding:20px;width:90%;max-width:420px;box-shadow:0 12px 48px rgba(0,0,0,.6)}.confirm-modal-msg{color:var(--text, #e8edf5);font-size:var(--fs-md, 14px);line-height:1.5;margin-bottom:18px}.confirm-modal-btns{display:flex;justify-content:flex-end;gap:8px}@media(max-width: 599px){.confirm-modal-box{max-width:100%;width:100%;margin:0;border-radius:0;padding:24px 20px;padding-bottom:calc(24px + env(safe-area-inset-bottom, 0));position:absolute;bottom:0;left:0;right:0;animation:slideUpModal .25s ease}.confirm-modal-btns{flex-direction:column-reverse;gap:10px}.confirm-modal-btns .btn{width:100%;min-height:var(--touch-min, 44px)}}@keyframes slideUpModal{from{transform:translateY(100%)}to{transform:translateY(0)}}.skeleton{background:linear-gradient(90deg, var(--bg-card, #111b2e) 0%, var(--border-dim, rgba(255, 255, 255, 0.08)) 50%, var(--bg-card, #111b2e) 100%);background-size:200% 100%;animation:skeletonShimmer 1.4s ease-in-out infinite;border-radius:0;display:block}.skeleton--text{height:14px;margin-bottom:8px;width:80%}.skeleton--text-short{width:40%}.skeleton--title{height:22px;margin-bottom:12px;width:60%}.skeleton--subtitle{height:12px;margin-bottom:16px;width:45%}.skeleton--card{height:110px;margin-bottom:12px;border-radius:0}.skeleton--row{height:56px;margin-bottom:8px;border-radius:0}.skeleton-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr))}.skeleton-form{display:flex;flex-direction:column;gap:16px;max-width:600px}.skeleton-form-field{display:flex;flex-direction:column;gap:6px}@keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}@media(prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--border-dim, rgba(255, 255, 255, 0.08))}}.ptr-indicator{position:absolute;top:-50px;left:50%;margin-left:-22px;width:44px;height:44px;background:var(--bg-card, #111b2e);border:1px solid var(--border, rgba(20, 150, 230, 0.18));border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent, #1496E6);font-size:var(--fs-lg, 16px);opacity:0;z-index:50;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.3);transition:opacity .2s ease}.ptr-indicator--ready{color:var(--green, #3acf8f);border-color:rgba(58,207,143,.4)}.ptr-indicator--active i{animation:ptrSpin .8s linear infinite}@keyframes ptrSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion: reduce){.ptr-indicator--active i{animation:none}}@keyframes btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion: reduce){.btn.is-loading::before{animation:none}}[data-ptr-callback]{overscroll-behavior-y:contain}.brand-icon-img{height:1em;width:auto;vertical-align:-0.15em;display:inline-block}.brand-logotype{height:36px;width:auto;display:inline-block;vertical-align:middle}.brand-logotype--large{height:56px}.brand-logotype.brand-logotype--light{display:none}[data-theme=light] .brand-logotype.brand-logotype--dark{display:none}[data-theme=light] .brand-logotype.brand-logotype--light{display:inline-block}@media(max-width: 600px){.brand-logotype{height:28px}.brand-logotype--large{height:44px}}.section{margin-bottom:24px}.section__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.section__title-wrap{flex:1;min-width:0}.section__title{font-size:var(--fs-xl, 18px);font-weight:700;color:var(--text, #e8edf5);margin:0;display:flex;align-items:center;gap:8px}.section__title i{color:var(--accent);font-size:var(--fs-lg, 16px)}.section__subtitle{font-size:var(--fs-sm, 12px);color:var(--muted);margin-top:4px;line-height:1.5}.section__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.section--collapsible>.section__header{cursor:pointer;user-select:none;border-radius:0;padding:8px 12px;margin:0 -12px 14px;transition:background .15s}.section--collapsible>.section__header:hover{background:rgba(20,150,230,.06)}.section--collapsible>.section__header:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section__chevron{color:var(--muted);font-size:var(--fs-sm, 12px);transition:transform .2s ease;margin-left:8px;flex-shrink:0;align-self:center}.section.is-collapsed>.section__header>.section__chevron{transform:rotate(-90deg)}.section.is-collapsed>.section__body{display:none}.card-component.is-active{border-color:var(--green, #3acf8f)}.card-component.is-danger{border-color:rgba(224,92,92,.4)}.card-component.is-warning{border-color:rgba(224,154,58,.4)}.card-component--clickable{cursor:pointer;transition:border-color .2s,transform .12s,background .2s;text-decoration:none;display:block}.card-component--clickable:hover{border-color:var(--accent);background:rgba(20,150,230,.04);transform:translateY(-1px)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:16px;width:100%}.card-grid--narrow{grid-template-columns:repeat(auto-fit, minmax(240px, 1fr))}.card-grid--3col{grid-template-columns:repeat(3, 1fr)}@media(max-width: 768px){.card-grid,.card-grid--3col{grid-template-columns:1fr}}.tile__label{font-size:var(--fs-xs, 11px);font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}.tile__value{font-size:var(--fs-3xl, 22px);font-weight:700;color:var(--text, #e8edf5);line-height:1.2}.tile__value--success{color:var(--green)}.tile__value--danger{color:var(--red)}.tile__value--warning{color:var(--orange)}.tile__value--accent{color:var(--accent)}.tile__hint{font-size:var(--fs-xs, 11px);color:var(--muted);margin-top:2px;line-height:1.5}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:12px;margin-bottom:20px}.tile-grid--4col{grid-template-columns:repeat(4, 1fr)}@media(max-width: 640px){.tile-grid,.tile-grid--4col{grid-template-columns:repeat(2, 1fr)}}.table-wrap{background:var(--bg-card, #111b2e);border:1px solid var(--border);border-radius:0;overflow:hidden}.table-wrap--scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-base, 13px)}.data-table th{padding:12px 16px;text-align:left;font-size:var(--fs-xs, 11px);font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);background:var(--bg-deep, #080c14);white-space:nowrap}.data-table th.is-sortable{cursor:pointer;user-select:none}.data-table th.is-sortable:hover{color:var(--text, #e8edf5)}.data-table th.is-sorted-asc::after{content:" ↑";color:var(--accent)}.data-table th.is-sorted-desc::after{content:" ↓";color:var(--accent)}.data-table td{padding:10px 16px;border-bottom:1px solid hsla(0,0%,100%,.04);vertical-align:middle;line-height:1.5;color:var(--text, #e8edf5)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:hsla(0,0%,100%,.02)}.data-table tr.is-active td{background:rgba(20,150,230,.04)}.data-table tr.is-danger td{background:rgba(224,92,92,.04)}.data-table td.col-actions,.data-table th.col-actions{text-align:right;white-space:nowrap}.data-table td.col-narrow,.data-table th.col-narrow{width:1%;white-space:nowrap}.data-table td.col-mono{font-family:var(--mono);font-size:var(--fs-sm, 12px);color:var(--muted)}.data-table td.col-numeric,.data-table th.col-numeric{text-align:right;font-variant-numeric:tabular-nums}@media(max-width: 640px){.data-table--responsive{display:block}.data-table--responsive thead{display:none}.data-table--responsive tbody{display:block}.data-table--responsive tr{display:block;border:1px solid var(--border-dim);border-radius:0;margin-bottom:8px;padding:8px;background:var(--bg-card, #111b2e)}.data-table--responsive td{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid hsla(0,0%,100%,.03);padding:6px 4px;text-align:right}.data-table--responsive td:last-child{border-bottom:none}.data-table--responsive td::before{content:attr(data-label);font-size:var(--fs-2xs, 10px);font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.5px;text-align:left;margin-right:12px}}.toolbar{display:flex;gap:8px;align-items:center;padding:12px 16px;background:var(--bg-card, #111b2e);border:1px solid var(--border-dim);border-radius:0;margin-bottom:12px;flex-wrap:wrap}.toolbar--inline{background:rgba(0,0,0,0);border:none;padding:0;margin-bottom:14px}.toolbar__search{flex:1;min-width:200px}.toolbar__spacer{flex:1}.badge--clickable{cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .12s}a.badge--clickable{text-decoration:none}.badge--clickable:hover{transform:translateY(-1px);filter:brightness(1.12)}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:0;font-size:var(--fs-2xs, 10px);font-weight:700;letter-spacing:.5px;text-transform:uppercase;line-height:1}.status-pill--success{background:rgba(58,207,143,.12);color:var(--green)}.status-pill--danger{background:rgba(224,92,92,.12);color:var(--red)}.status-pill--warning{background:rgba(224,154,58,.12);color:var(--orange)}.status-pill--info{background:rgba(20,150,230,.12);color:var(--accent)}.status-pill--accent{background:rgba(20,150,230,.12);color:var(--accent)}.status-pill--muted{background:hsla(0,0%,100%,.06);color:var(--muted)}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm, 12px);color:var(--text, #e8edf5);line-height:1}.status-dot__indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px hsla(0,0%,100%,.03)}.status-dot--only{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 2px hsla(0,0%,100%,.03);vertical-align:middle}.status-dot--success .status-dot__indicator,.status-dot--success.status-dot--only{background:var(--green);box-shadow:0 0 6px rgba(58,207,143,.4),0 0 0 2px rgba(58,207,143,.12)}.status-dot--danger .status-dot__indicator,.status-dot--danger.status-dot--only{background:var(--red);box-shadow:0 0 6px rgba(224,92,92,.4),0 0 0 2px rgba(224,92,92,.12)}.status-dot--warning .status-dot__indicator,.status-dot--warning.status-dot--only{background:var(--orange);box-shadow:0 0 6px rgba(224,154,58,.4),0 0 0 2px rgba(224,154,58,.12)}.status-dot--info .status-dot__indicator,.status-dot--info.status-dot--only{background:var(--accent);box-shadow:0 0 6px rgba(20,150,230,.4),0 0 0 2px rgba(20,150,230,.12)}.status-dot--muted .status-dot__indicator,.status-dot--muted.status-dot--only{background:var(--muted);box-shadow:0 0 0 2px hsla(0,0%,100%,.06)}.empty-state__icon{font-size:var(--fs-7xl, 36px);color:var(--muted2);opacity:.6;margin-bottom:8px}.empty-state__title{font-size:var(--fs-md, 14px);font-weight:700;color:var(--text, #e8edf5);margin-bottom:6px}.empty-state__desc{font-size:var(--fs-sm, 12px);color:var(--muted);line-height:1.6;max-width:360px}.empty-state__actions{margin-top:16px;display:flex;gap:8px;justify-content:center}.select{background:var(--bg-deep, #080c14);border:1px solid var(--border-dim);border-radius:0;color:var(--text, #e8edf5);padding:8px 32px 8px 12px;font-size:var(--fs-base, 13px);font-family:inherit;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml; utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%237a8aaa'><path d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:10px;transition:border-color .15s}.select:hover{border-color:var(--border)}.select:focus{border-color:var(--accent)}.select:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:4px 10px;font-size:var(--fs-sm, 12px)}.btn--icon{padding:8px 10px;background:var(--accent-dim);color:var(--accent)}.btn--icon:hover:not(:disabled){background:var(--border)}.btn--ghost{background:rgba(0,0,0,0);color:var(--muted)}.btn--ghost:hover:not(:disabled){background:var(--accent-dim);color:var(--text, #e8edf5)}.btn--warning{background:var(--orange);color:#fff}.btn--warning:hover:not(:disabled){opacity:.88}.btn--success{background:var(--green);color:#fff}.btn--success:hover:not(:disabled){opacity:.88}.btn--xs{padding:3px 8px;font-size:var(--fs-2xs, 10px);gap:5px}.btn--lg{padding:11px 22px;font-size:var(--fs-md, 14px);gap:9px}.btn--xl{padding:14px 28px;font-size:var(--fs-lg, 16px);gap:10px}.btn--outline{background:rgba(0,0,0,0);border:1px solid var(--border);color:var(--text, #e8edf5)}.btn--outline:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.btn--outline-primary{background:rgba(0,0,0,0);border:1px solid var(--accent);color:var(--accent)}.btn--outline-primary:hover:not(:disabled){background:var(--accent-dim)}.btn--outline-danger{background:rgba(0,0,0,0);border:1px solid var(--red);color:var(--red)}.btn--outline-danger:hover:not(:disabled){background:color-mix(in srgb, var(--red) 12%, transparent)}.btn--outline-success{background:rgba(0,0,0,0);border:1px solid var(--green);color:var(--green)}.btn--outline-success:hover:not(:disabled){background:color-mix(in srgb, var(--green) 12%, transparent)}.btn--outline-warning{background:rgba(0,0,0,0);border:1px solid var(--orange);color:var(--orange)}.btn--outline-warning:hover:not(:disabled){background:color-mix(in srgb, var(--orange) 12%, transparent)}.btn--icon-only{padding:0;gap:0;justify-content:center;width:38px;height:38px;flex-shrink:0}.btn--icon-only.btn--xs{width:26px;height:26px}.btn--icon-only.btn--sm{width:30px;height:30px}.btn--icon-only.btn--lg{width:44px;height:44px}.btn--icon-only.btn--xl{width:52px;height:52px}.btn--icon-only.is-loading>i{display:none}.brand-logomark{height:40px;width:auto;display:inline-block;vertical-align:middle}.brand-logomark--large{height:64px}.boot-logo .brand-logomark{display:block}.ctx-menu{position:fixed;z-index:9000;min-width:180px;padding:6px;background:var(--surface, #0f1629);border:1px solid var(--border, #243049);border-radius:0;box-shadow:0 10px 30px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:2px}.ctx-menu[hidden]{display:none}.ctx-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:rgba(0,0,0,0);border:0;color:var(--text, #e8edf5);font:inherit;font-size:var(--fs-md, 14px);text-align:left;cursor:pointer}.ctx-menu-item i{width:16px;text-align:center;color:var(--muted, #7a8aaa)}.ctx-menu-item:hover,.ctx-menu-item:focus{background:var(--surface-2, #1a2336);outline:none}.ctx-menu-item--danger{color:var(--danger, #e5484d)}.ctx-menu-item--danger i{color:var(--danger, #e5484d)}.modal-overlay.open{display:flex}.modal-box{background:var(--bg-card, #111b2e);border:1px solid var(--border);border-radius:0;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;max-width:480px}.modal-box--sm{max-width:480px}.modal-box--md{max-width:600px}.modal-box--lg{max-width:760px}.modal-box--xl{max-width:920px}.modal-box .modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border-dim);flex-shrink:0}.modal-box .modal-header h2,.modal-box .modal-header h3,.modal-box .modal-header h4{margin:0;font-size:var(--fs-md, 14px);font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}.modal-box .modal-body{padding:24px;flex:1 1 auto;overflow-y:auto;min-height:0}.modal-box .modal-body.modal-body--flush{padding:0}.modal-box .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border-dim);flex-shrink:0}.modal-box .modal-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:var(--fs-3xl, 22px);line-height:1;padding:4px 8px;border-radius:0}.modal-box .modal-close:hover{color:var(--text, #e8edf5);background:var(--bg-deep, #080c14)}@media(max-width: 820px){.input,select.input,textarea.input{font-size:16px}}
