.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:hsl(0,0%,70%) #ccc hsl(0,0%,85%)}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:rgba(0,0,0,0) rgba(0,0,0,0) #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid hsl(0,0%,90%)}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid rgb(183.6,218.88,255)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid rgb(183.6,218.88,255);border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid rgb(183.6,218.88,255)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid rgb(183.6,218.88,255)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}@charset "UTF-8";@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(Montserrat-Regular.2cf917c23fde5bc8.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(Montserrat-Medium.192610029081d536.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(Montserrat-SemiBold.a62d229e26708787.ttf) format("truetype")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(Montserrat-Bold.2d8d7280f9d81901.ttf) format("truetype")}@font-face{font-family:tabler-icons;font-style:normal;font-weight:400;font-display:block;src:url(tabler-icons.a7f4dccbd653c4d5.woff2) format("woff2")}.ti{font-family:tabler-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ti-chevron-down:before{content:"\ea5f"}.ti-search:before{content:"\eb1c"}.ti-x:before{content:"\eb55"}:root{--brand-dot: #06B6D4;--brand-accent: #0E7490;--brand-accent-strong: #155E75;--brand-accent-rgb: 14, 116, 144;--brand-tint: #ECFEFF;--brand-tint-border: #A5F3FC;--brand-primary: var(--brand-accent);--brand-primary-hover: var(--brand-accent-strong);--brand-text: #0F172A;--brand-text-strong: #0F172A;--brand-muted-text: #1E293B;--brand-placeholder: #475569;--brand-accent-warm: #FFB557;--brand-focus-ring: rgba(var(--brand-accent-rgb), .25);--brand-hover: rgba(var(--brand-accent-rgb), .06);--brand-hover-strong: rgba(var(--brand-accent-rgb), .12);--brand-border-soft: #0F172A;--brand-border-subtle: #0F172A;--brand-table-border: #E5E7EB;--brand-field-border: #0F172A;--page-bg: #FFFFFF;--brand-soft-button-bg: var(--brand-tint);--brand-soft-button-border:var(--brand-tint-border);--brand-header-gradient: #FFFFFF;--brand-modal-header-gradient: var(--brand-tint);--brand-soft-surface-gradient: #FFFFFF;--brand-soft-shadow: none;--color-error: #B91C1C;--color-error-bg: #FEF2F2;--color-success: #047857;--color-success-bg: #ECFDF5;--color-warning: #f5a623;--color-warning-bg: #fff7eb;--color-info: #38579A;--color-info-bg: #EDF6FD;--navy: #0F172A;--blue: var(--brand-accent);--blue-50: var(--brand-tint);--blue-100: var(--brand-tint-border);--teal: var(--brand-accent);--teal-50: var(--brand-tint);--teal-100: var(--brand-tint-border);--gold: #FFB557;--gold-50: #fff7eb;--gold-100: #FFCB92;--white: #FFFFFF;--gray-50: #F8FAFC;--gray-100: #E5E7EB;--gray-200: #CBD5E1;--gray-300: #CBD5E1;--gray-400: #475569;--gray-500: #334155;--gray-600: #1E293B;--gray-700: #1E293B;--gray-800: #0F172A;--gray-900: #0F172A;--success: #047857;--warning: #f5a623;--error: #B91C1C;--purple: var(--brand-accent);--purple-50: var(--brand-tint);--purple-100: var(--brand-tint-border);--r-sm: 3px;--r-md: 4px;--r-lg: 8px;--r-xl: 12px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 1px 2px rgba(15, 23, 42, .06);--shadow-lg: 0 8px 24px rgba(15, 23, 42, .12);--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:Montserrat,Segoe UI,system-ui,sans-serif;font-size:16px;scroll-behavior:smooth;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--page-bg);color:var(--brand-text);line-height:1.6}button,input,textarea,select{font-family:Montserrat,Segoe UI,system-ui,sans-serif}a{text-decoration:none;color:inherit}ul{list-style:none}button{cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:99px}::placeholder{color:var(--brand-placeholder)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 18px;border:0;border-radius:var(--r-sm);font-size:.875rem;font-weight:700;line-height:1.4;transition:var(--transition);cursor:pointer}.btn-primary{background:var(--brand-primary);color:#fff;box-shadow:none}.btn-primary:hover{background:var(--brand-primary-hover)}.btn-secondary{background:#fff;color:var(--brand-text-strong);border:2px solid var(--brand-text-strong);box-shadow:none}.btn-secondary:hover{background:var(--brand-text-strong);color:#fff}.btn-ghost{background:#fff;color:var(--brand-muted-text);border:1px solid var(--brand-border-soft)}.btn-ghost:hover{background:var(--brand-hover-strong);color:var(--brand-text)}.btn-danger{background:var(--color-error-bg);color:var(--color-error);border:1px solid #F2CCD1}.btn-danger:hover{background:#fae3e6}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-xs{padding:4px 10px;font-size:.72rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--r-md);border:1px solid var(--brand-border-soft);background:#fff;color:var(--brand-muted-text);cursor:pointer;transition:var(--transition)}.btn-icon:hover{background:var(--brand-hover-strong);border-color:var(--brand-accent);color:var(--brand-accent)}.btn-icon-danger,.btn-icon.btn-danger{color:var(--color-error);border-color:#f2ccd1}.btn-icon-danger:hover,.btn-icon.btn-danger:hover{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.btn:disabled{background:#f0f0f2;color:#c0c2c9;box-shadow:none;cursor:not-allowed;border-color:transparent}.badge{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:3px 9px;border-radius:99px;font-size:.7rem;font-weight:700;line-height:1.4}.badge-blue{background:#fff;color:var(--brand-text-strong);border:1px solid var(--brand-text-strong)}.badge-teal{background:var(--brand-tint);color:var(--brand-accent);border:1px solid var(--brand-accent)}.badge-gold{background:var(--color-warning-bg);color:#b97514;border:1px solid #FFE3BD}.badge-green{background:#fff;color:var(--color-success);border:1px solid var(--color-success)}.badge-red{background:#fff;color:var(--color-error);border:1px solid var(--color-error)}.badge-gray,.badge-purple{background:#fff;color:var(--brand-text-strong);border:1px solid var(--brand-text-strong)}.card{background:#fff;border:1px solid var(--brand-border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-md);overflow:hidden}.card-header{padding:16px 20px;border-bottom:1px solid var(--brand-table-border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:1rem;font-weight:700;color:var(--brand-text-strong)}.card-subtitle{font-size:.75rem;color:var(--brand-muted-text);margin-top:1px}.card-body{padding:20px}.form-label{display:block;font-size:.75rem;font-weight:400;color:var(--brand-muted-text);margin-bottom:6px}.form-hint{font-size:.7rem;color:var(--brand-placeholder);margin-top:4px}.form-control{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--brand-field-border);border-radius:var(--r-md);font-size:.875rem;color:var(--brand-text);background:#fff;transition:var(--transition);font-family:inherit}.form-control:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-focus-ring)}.form-control-invalid{border-color:var(--color-error);box-shadow:0 0 0 3px #d0021b1a}.field-error{font-size:.72rem;color:var(--color-error);margin-top:5px}.form-group{margin-bottom:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}select.form-control,select.filter-select{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2352626A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;cursor:pointer}input[type=date].form-control{min-height:40px;cursor:pointer;color-scheme:light}input[type=date].form-control::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1}.search-input{min-height:40px;padding:8px 14px;border:1px solid var(--brand-border-soft);border-radius:var(--r-md);font-size:.875rem;font-family:inherit;background:#fff;color:var(--brand-text);min-width:220px}.search-input:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-focus-ring)}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#fff;padding:10px 14px;text-align:left;font-size:.75rem;font-weight:400;color:var(--brand-muted-text);border-bottom:2px solid var(--brand-table-border);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid var(--brand-table-border);font-size:.875rem;color:var(--brand-text-strong);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--brand-hover);transition:background 50ms}.table-wrap{border:1px solid var(--brand-border-subtle);border-radius:var(--r-xl);overflow:hidden}.modal-overlay{position:fixed;inset:0;background:#0f2d3a80;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:#fff;border-radius:10px;box-shadow:var(--shadow-lg);width:100%;max-width:580px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:15px 20px;background:var(--brand-modal-header-gradient);color:var(--brand-text-strong);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}.modal-header h2,.modal-header h3,.modal-header .modal-title{font-size:1rem;font-weight:600;color:var(--brand-text-strong)}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{padding:14px 20px;border-top:1px solid var(--brand-table-border);display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-shrink:0}.close-btn{width:30px;height:30px;border-radius:var(--r-md);background:transparent;border:none;cursor:pointer;font-size:1rem;color:var(--brand-text-strong);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.close-btn:hover{background:#ffffff59}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--brand-table-border)}.toggle-row:last-child{border-bottom:none}.toggle-info{flex:1;padding-right:16px}.toggle-label{font-size:.82rem;font-weight:600;color:var(--brand-text)}.toggle-desc{font-size:.72rem;color:var(--brand-placeholder);margin-top:2px}.toggle{width:40px;height:22px;border-radius:99px;cursor:pointer;transition:var(--transition);position:relative;flex-shrink:0;border:none;background:var(--gray-300, #CBD5E1)}.toggle:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:var(--transition);box-shadow:0 1px 4px #0003}.toggle.on{background:var(--brand-accent)}.toggle.on:after{left:21px}.toggle.off{background:var(--gray-300)}app-admin-banner{margin-bottom:10px}.ng-select.ng-select-single,.ng-select.ng-select-multiple{font-size:.875rem;line-height:1.45}.ng-select.ng-select-single .ng-select-container,.ng-select.ng-select-multiple .ng-select-container{min-height:40px;border:1px solid var(--brand-field-border);border-radius:var(--r-md);color:var(--brand-text)}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{color:var(--brand-placeholder)}.ng-select.ng-select-single .ng-clear-wrapper,.ng-select.ng-select-multiple .ng-clear-wrapper{color:var(--brand-muted-text);width:20px;padding-right:10px}.ng-select.ng-select-single .ng-clear-wrapper:hover .ng-clear,.ng-select.ng-select-multiple .ng-clear-wrapper:hover .ng-clear{color:var(--brand-accent)}.ng-select.ng-select-single .ng-arrow-wrapper,.ng-select.ng-select-multiple .ng-arrow-wrapper{display:flex;align-items:center;justify-content:center;width:20px;padding-right:10px}.ng-select.ng-select-single .ng-arrow-wrapper:before,.ng-select.ng-select-multiple .ng-arrow-wrapper:before{font-family:tabler-icons;content:"\ea5f";font-size:.875rem;color:var(--brand-muted-text)}.ng-select.ng-select-single .ng-arrow-wrapper .ng-arrow,.ng-select.ng-select-multiple .ng-arrow-wrapper .ng-arrow{display:none}.ng-select.ng-select-single,.ng-select.ng-select-single .ng-select-container{height:40px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:10px}.ng-select.ng-select-single.ng-select-searchable .ng-arrow-wrapper{display:none}.ng-select.ng-select-single.ng-select-searchable:before{font-family:tabler-icons;content:"\eb1c";width:20px;height:20px;position:absolute;z-index:48;top:57%;left:10px;transform:translateY(-50%);pointer-events:none;color:var(--brand-muted-text)}.ng-select.ng-select-single.ng-select-searchable .ng-value-container,.ng-select.ng-select-single.ng-select-searchable .ng-value-container .ng-input{padding-left:30px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{align-items:center;padding-top:0;padding-left:10px;min-height:38px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:50%;transform:translateY(-50%);padding:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-top:3px;margin-bottom:3px}.ng-select.ng-select-opened>.ng-select-container{border-color:var(--brand-accent);z-index:49}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-left-radius:var(--r-md);border-bottom-right-radius:var(--r-md)}.ng-select.ng-select-opened ng-dropdown-panel{z-index:51}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-focus-ring)}.ng-dropdown-panel{border:1px solid var(--brand-border-soft);box-shadow:none}.ng-dropdown-panel.ng-select-bottom{margin-top:2px;border-radius:var(--r-md)}.ng-dropdown-panel.ng-select-top{margin-bottom:2px;border-radius:var(--r-md)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{padding:10px;border-top:1px solid var(--brand-table-border);white-space:normal;color:var(--brand-text);font-size:.875rem}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option:first-child{border-top:0;border-top-left-radius:var(--r-md);border-top-right-radius:var(--r-md)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:var(--brand-hover-strong);color:var(--brand-text)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{background-color:#ebf5ff;color:var(--brand-text);font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.page-container{padding:28px 32px;max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-title{font-size:1.5rem;font-weight:700;color:var(--brand-text-strong)}.page-subtitle{font-size:.82rem;color:var(--brand-muted-text);margin-top:2px}.flex{display:flex}.flex-c{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.text-sm{font-size:.82rem}.text-xs{font-size:.72rem}.text-muted{color:var(--brand-muted-text)}.font-mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem}.w-full{width:100%}.divider{height:1px;background:var(--brand-table-border);margin:12px 0}code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.75rem;background:var(--gray-50);border:1px solid var(--brand-border-subtle);border-radius:var(--r-sm);padding:1px 5px;color:var(--brand-text)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--brand-border-soft);border-top-color:var(--brand-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:48px 24px;color:var(--brand-placeholder)}.empty-icon{font-size:2.5rem;margin-bottom:12px}.app-modal [modal-footer]{display:flex;justify-content:flex-end;align-items:center;gap:14px}.data-table-wrap,.admin-table-card .card-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:640px}@media (max-width: 880px){.card-body{padding:16px}.card-header{padding:12px 16px;flex-wrap:wrap;gap:8px}.admin-data-grid{grid-template-columns:1fr!important;gap:12px}.modal{width:95vw!important;max-width:95vw!important;max-height:90vh}.modal-header,.modal-body,.modal-footer{padding:14px 16px}.modal-footer{flex-wrap:wrap;gap:8px}.modal-footer .btn{flex:1 1 auto}.form-row{grid-template-columns:1fr!important;gap:10px}}@media (max-width: 560px){html{font-size:15px}.topnav-links{display:none!important}.topnav-user-meta{gap:8px}.session-user .user-name{display:none}.admin-page-header{padding:14px}.admin-page-header-top{flex-direction:column;align-items:flex-start;gap:10px}.admin-page-stats{width:100%}.card-header{flex-direction:column;align-items:flex-start}.action-bar{flex-direction:column-reverse!important;gap:8px}.action-bar .btn{width:100%}.data-table th,.data-table td{padding:8px 10px;font-size:.8rem}.badge{padding:2px 7px;font-size:.65rem}}@media (max-width: 380px){.modal-header h3,.modal-header .modal-title{font-size:1rem}.btn{padding:8px 12px;font-size:.8rem}.btn-sm{padding:6px 10px;font-size:.72rem}}.hs-table{width:100%;border-collapse:separate;border-spacing:0}.hs-table th,.hs-table td{padding:12px 8px;text-align:left}.hs-table thead th{border-bottom:1px solid var(--brand-text-strong);color:var(--brand-text-strong);font-size:12px;font-weight:600;white-space:nowrap}.hs-table tbody td{border-bottom:1px solid var(--brand-table-border);color:var(--brand-text-strong);font-size:14px;font-weight:400;vertical-align:top}.hs-table tbody tr:last-child td{border-bottom:0}.hs-table tbody tr.clickable{cursor:pointer;transition:background-color 50ms ease-in-out}.hs-table tbody tr.clickable:hover{background-color:var(--brand-tint)}.hs-table tbody tr.clickable:hover td:first-child{box-shadow:inset 3px 0 0 var(--brand-accent)}.hs-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}input[type=radio],input[type=checkbox]{accent-color:var(--brand-accent)}.notice{padding:12px 16px;border-radius:8px;font-size:.85rem;margin:12px 0;line-height:1.45}.notice-error{background:var(--color-error-bg);border:1px solid #F2CCD1;color:#b4111f}.notice-warning{background:var(--color-warning-bg);border:1px solid #FFE3BD;color:#7a4b06}.notice-success{background:var(--color-success-bg);border:1px solid #C3E8D8;color:#00663c}.notice .notice-detail{display:block;font-size:.78rem;margin-top:3px;opacity:.9}.notice a{color:inherit;font-weight:600}.btn-icon-only{padding-left:10px!important;padding-right:10px!important;min-width:0}.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;cursor:pointer;border:1px solid var(--brand-border-soft);background:#fff;color:var(--brand-text-strong);flex-shrink:0}.copy-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.copy-btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.public-mark{display:inline-flex;color:#b97514;vertical-align:middle;margin-left:4px}.view-row{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:-4px 0 14px}.view-row app-pager{flex:1}.pager-top{margin:-4px 0 10px}.view-toggle{display:inline-flex;align-items:center;background:#f1f5f9;border-radius:8px;padding:3px;gap:2px}.view-toggle button{border:0;background:none;width:40px;height:34px;padding:0;border-radius:6px;color:var(--brand-muted-text);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0}.view-toggle button.active{background:#fff;color:var(--brand-text-strong);box-shadow:0 2px 5px #00000014}.view-toggle button:focus-visible,.row-actions button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px}.row-actions{display:inline-flex;gap:2px;justify-content:flex-end}.row-actions button{border:0;background:none;width:32px;height:32px;border-radius:6px;color:var(--brand-muted-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.row-actions button:hover{background:var(--brand-tint);color:var(--brand-text-strong)}.hs-table td.actions-cell{width:1%;white-space:nowrap;text-align:right;padding-top:6px;padding-bottom:6px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.gallery-card{display:flex;flex-direction:column;border:1px solid var(--brand-border-subtle);border-radius:12px;background:#fff;overflow:hidden;cursor:pointer;transition:box-shadow .15s,border-color .15s;min-width:0}.gallery-card:hover,.gallery-card:focus-visible{box-shadow:0 6px 16px #17171717;border-color:var(--brand-accent);outline:none}.gallery-thumb{aspect-ratio:16/10;background:#fff;border-bottom:1px solid var(--brand-border-subtle);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#b9c9c4}.gallery-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.gallery-thumb.chart{background:#fff;padding:8px 10px 4px}.gallery-body{padding:10px 12px 10px 14px;display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.gallery-title{font-weight:600;font-size:14px;color:var(--brand-text-strong);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gallery-sub{font-size:12.5px;color:var(--brand-muted-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-meta{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:4px;font-size:12px;color:var(--brand-muted-text);min-width:0}.gallery-meta .date{margin-left:auto;white-space:nowrap}.gallery-meta .row-actions{margin-right:-6px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 640px){.hs-table .opt{display:none}}.hs-table td.nowrap{white-space:nowrap}.hv-page{max-width:1312px;margin:0 auto;padding:36px 64px 64px;display:flex;flex-direction:column;gap:32px;color:var(--brand-text);font-size:14px;line-height:1.55;box-sizing:border-box}.hv-page h1,.hv-page h2,.hv-page h3,.hv-page p{margin:0}.hv-page a:not(.btn){color:var(--brand-accent);text-decoration:none}.hv-page a:not(.btn):hover{text-decoration:underline}.hv-page .crumbs{font-size:13px;color:var(--brand-placeholder);display:flex;gap:6px}.hv-page .page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.hv-page .page-head .copy{display:flex;flex-direction:column;gap:6px;max-width:760px}.hv-page .page-head h1{font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--brand-text-strong)}.hv-page .lead{font-size:15px;color:var(--brand-placeholder)}.hv-page .meta{font-size:13px;color:var(--brand-placeholder);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}.hv-page .actions{display:flex;gap:10px;flex-wrap:wrap}.hv-page .btn-quiet{background:none;border:0;color:var(--brand-accent);padding:0 6px;height:32px;font:600 13.5px Montserrat,sans-serif;cursor:pointer;white-space:nowrap}.hv-page .btn-quiet:hover{text-decoration:underline}.hv-page .btn-danger-quiet{background:none;border:0;color:var(--color-error);padding:0 6px;height:32px;font:600 13.5px Montserrat,sans-serif;cursor:pointer}.hv-page .h2{font-size:17px;font-weight:700;color:var(--brand-text-strong)}.hv-page .section{display:flex;flex-direction:column;gap:14px}.hv-page .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--brand-text-strong)}.hv-page .section-head .side{font-size:13px;color:var(--brand-placeholder)}.hv-page .cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}.hv-page .cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px}.hv-page .name{font-weight:600;display:block}.hv-page .sub{display:block;font-size:12.5px;color:var(--brand-placeholder);margin-top:2px}.hv-page .hint{font-size:13px;color:var(--brand-placeholder)}.hv-page .empty{font-size:13.5px;color:var(--brand-placeholder);padding:12px 0}.hv-page .state{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;white-space:nowrap}.hv-page .state:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.hv-page .state.ok{color:var(--color-success)}.hv-page .state.warn{color:#92400e}.hv-page .state.bad{color:var(--color-error)}.hv-page .state.off{color:var(--brand-placeholder)}.hv-page .prod{display:inline-flex;align-items:center;gap:6px;font-size:13px;margin-right:12px;white-space:nowrap}.hv-page .prod:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c, var(--brand-dot))}.hv-page .list{list-style:none;margin:0;padding:0}.hv-page .list li{display:flex;align-items:baseline;gap:14px;padding:11px 0;border-bottom:1px solid var(--brand-table-border)}.hv-page .list li .grow{flex:1;min-width:0}.hv-page .list .when{font-size:12.5px;color:var(--brand-placeholder);white-space:nowrap;font-variant-numeric:tabular-nums}.hv-page .attention{display:flex;flex-direction:column}.hv-page .attention .item{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--brand-table-border)}.hv-page .dl{display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:20px;margin:0}.hv-page .dl dt{color:var(--brand-placeholder);font-size:13px;padding:10px 0;border-bottom:1px solid var(--brand-table-border)}.hv-page .dl dd{margin:0;padding:10px 0;border-bottom:1px solid var(--brand-table-border);min-width:0;overflow-wrap:anywhere}.hv-page .tabs{display:flex;gap:6px;border-bottom:1px solid var(--brand-table-border);overflow-x:auto}.hv-page .tabs button{padding:10px 12px 9px;font:500 14px Montserrat,sans-serif;border:0;background:none;color:var(--brand-text);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap;cursor:pointer}.hv-page .tabs button.on{color:var(--brand-accent);border-bottom-color:var(--brand-accent);font-weight:700}.hv-page .tabs button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:-2px}.hv-page .tabs .n{color:var(--brand-placeholder);font-weight:500;margin-left:4px}.hv-page .hv-table{width:100%;border-collapse:collapse}.hv-page .hv-table th{text-align:left;font-size:12.5px;font-weight:600;color:var(--brand-placeholder);padding:0 14px 10px;border-bottom:1px solid var(--brand-text-strong);white-space:nowrap}.hv-page .hv-table td{padding:13px 14px;border-bottom:1px solid var(--brand-table-border);vertical-align:top}.hv-page .hv-table td:first-child,.hv-page .hv-table th:first-child{padding-left:0}.hv-page .hv-table tr.sel td{background:var(--brand-tint)}.hv-page .hv-table tr.clickable{cursor:pointer}.hv-page .hv-table tr.clickable:hover td{background:var(--brand-hover)}.hv-page .num{text-align:right;font-variant-numeric:tabular-nums}.hv-page .toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hv-page .count{font-size:13px;color:var(--brand-placeholder);margin-left:auto}.hv-page .pager{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--brand-placeholder);padding-top:4px}.hv-page .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.hv-page a.kpi{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--brand-text-strong)}.hv-page a.kpi:hover{text-decoration:none}.hv-page a.kpi:hover .l{text-decoration:underline}.hv-page .kpi-ring{--r1: #06B6D4;--r2: #8B5CF6;flex:none;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 6px var(--r1),inset 0 0 0 14px #fff,inset 0 0 0 19px var(--r2)}.hv-page .kpi:nth-child(2) .kpi-ring{--r1: #EC4899;--r2: #F59E0B}.hv-page .kpi:nth-child(3) .kpi-ring{--r1: #8B5CF6;--r2: #10B981}.hv-page .kpi:nth-child(4) .kpi-ring{--r1: #F59E0B;--r2: #06B6D4}.hv-page .kpi .v{font-size:30px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.hv-page .kpi .l{font-size:15px;font-weight:500;color:var(--brand-text-strong)}.hv-page .hello-dot{display:inline-block;width:.28em;height:.28em;border-radius:50%;background:var(--brand-dot);margin-left:.08em}.hv-page.front{max-width:1120px;padding:56px 64px 40px;gap:56px}.hv-page .front-hero{max-width:720px;display:flex;flex-direction:column;gap:18px}.hv-page .lockup{display:inline-flex;align-items:center;gap:.45em;font-size:28px;font-weight:700;color:var(--brand-text-strong)}.hv-page .lockup svg{width:1.6em;height:1.6em;flex:none}.hv-page .lockup .ring{fill:none;stroke:currentColor;stroke-width:26}.hv-page .lockup .dot{fill:var(--brand-dot)}.hv-page .front-claim{font-size:22px;line-height:1.45;font-weight:600;color:var(--brand-text-strong)}.hv-page .front-lead{font-size:15.5px;line-height:1.65;color:var(--brand-placeholder);max-width:64ch}.hv-page .feature{border-top:2px solid var(--brand-tint-border);padding-top:14px;display:flex;flex-direction:column;gap:6px}.hv-page .feature h3{font-size:15.5px;font-weight:700;color:var(--brand-text-strong)}.hv-page .feature p{font-size:14px;line-height:1.6;color:var(--brand-placeholder)}.hv-page .products{display:flex;gap:40px;flex-wrap:wrap}.hv-page .product-link{display:flex;align-items:center;gap:12px;color:var(--brand-text-strong);font-weight:600}.hv-page .product-link svg{width:34px;height:34px}.hv-page .product-link .ring2{fill:none;stroke:#0f172a;stroke-width:26}.hv-page .foot{border-top:1px solid var(--brand-table-border);padding-top:18px;font-size:13px;color:var(--brand-placeholder);display:flex;flex-wrap:wrap;gap:24px}@media (max-width: 1100px){.hv-page .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.hv-page,.hv-page.front{padding:24px 16px 48px}.hv-page .cols-2,.hv-page .cols-3{grid-template-columns:minmax(0,1fr)}.hv-page .attention .item{grid-template-columns:minmax(0,1fr);gap:4px}.hv-page .dl{grid-template-columns:minmax(0,1fr)}.hv-page .dl dt{border-bottom:0;padding-bottom:0}}@media (max-width: 560px){.hv-page .kpis{grid-template-columns:minmax(0,1fr)}.hv-page .kpi-ring{width:104px;height:104px}}.page-container{padding:24px 64px 64px;max-width:1312px;box-sizing:border-box}.badge{padding:0;border:0!important;border-radius:0;background:none!important;font-size:13px;font-weight:600;gap:7px;line-height:1.5}.badge-blue,.badge-gray,.badge-purple{color:var(--brand-placeholder);font-weight:500}.badge-teal{color:var(--brand-accent)}.badge-green{color:var(--color-success)}.badge-red{color:var(--color-error)}.badge-gold{color:#92400e}.badge-green:before,.badge-red:before,.badge-gold:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.card{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible;margin-bottom:32px}.card-header{padding:0 0 10px;border-bottom:1px solid var(--brand-text-strong);align-items:baseline}.card-title{font-size:17px}.card-subtitle{font-size:13px;color:var(--brand-placeholder)}.card-body{padding:14px 0 0}.data-table th{font-size:12.5px;font-weight:600;color:var(--brand-placeholder);border-bottom:1px solid var(--brand-text-strong);padding:0 14px 10px}.data-table td{padding:13px 14px;vertical-align:top}.data-table th:first-child,.data-table td:first-child{padding-left:0}.data-table tr:last-child td{border-bottom:1px solid var(--brand-table-border)}.table-wrap{border:0;border-radius:0}code{background:none;border:0;padding:0;color:var(--brand-placeholder);font-size:12.5px}.btn-ghost{background:none;border:0;color:var(--brand-accent);font-weight:600;padding-left:6px;padding-right:6px}.btn-ghost:hover:not(:disabled){background:none;color:var(--brand-accent-strong);text-decoration:underline}.btn-danger{background:none;border:0;color:var(--color-error);font-weight:600;padding-left:6px;padding-right:6px}.btn-danger:hover:not(:disabled){background:none;text-decoration:underline}.btn-xs{font-size:13px}
