.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-text: #113844;--brand-text-strong: #0F2D3A;--brand-muted-text: #52626A;--brand-placeholder: #7A8A92;--brand-accent: #1FA39A;--brand-accent-warm: #FFB557;--brand-focus-ring: rgba(31, 163, 154, .12);--brand-hover: rgba(31, 163, 154, .04);--brand-hover-strong: rgba(31, 163, 154, .08);--brand-border-soft: #D7E5E1;--brand-border-subtle: #E6F0EC;--brand-table-border: #E8F1EE;--brand-soft-button-bg: #DDF3EA;--brand-soft-button-border:#CDE8DE;--brand-header-gradient: linear-gradient(90deg, #123745, #1FA39A);--brand-modal-header-gradient: linear-gradient(90deg, #6E9C93, #9FE1D6);--brand-soft-surface-gradient: linear-gradient(90deg, #F7FBFA, #EEF8F5);--brand-soft-shadow: 0 8px 24px rgba(15, 45, 58, .06);--color-error: #D0021B;--color-error-bg: #FDF3F4;--color-success: #008d53;--color-success-bg: #e6f5ef;--color-warning: #f5a623;--color-warning-bg: #fff7eb;--color-info: #38579A;--color-info-bg: #EDF6FD;--navy: #113844;--blue: #1FA39A;--blue-50: #EEF8F5;--blue-100: #D8EDE6;--teal: #1FA39A;--teal-50: #EEF8F5;--teal-100: #DDF3EA;--gold: #FFB557;--gold-50: #fff7eb;--gold-100: #FFCB92;--white: #FFFFFF;--gray-50: #F7FBFA;--gray-100: #E8F1EE;--gray-200: #D7E5E1;--gray-300: #C2D4CF;--gray-400: #7A8A92;--gray-500: #52626A;--gray-600: #435259;--gray-700: #32444D;--gray-800: #113844;--gray-900: #0F2D3A;--success: #008d53;--warning: #f5a623;--error: #D0021B;--purple: #7A54A0;--purple-50: #F4F0F8;--purple-100: #E4DAF0;--r-sm: 3px;--r-md: 4px;--r-lg: 8px;--r-xl: 12px;--shadow-sm: 0 2px 6px rgba(15, 45, 58, .06);--shadow-md: 0 4px 10px rgba(23, 23, 23, .08);--shadow-lg: 0 8px 24px rgba(15, 45, 58, .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(--gray-50);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-header-gradient);color:#fff;box-shadow:0 8px 20px #1fa39a33}.btn-primary:hover{box-shadow:0 10px 24px #1fa39a47}.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;padding:3px 9px;border-radius:99px;font-size:.7rem;font-weight:700;line-height:1.4}.badge-blue{background:#ebf5ff;color:#38579a;border:1px solid #D6E6F5}.badge-teal{background:var(--brand-soft-button-bg);color:#117067;border:1px solid var(--brand-soft-button-border)}.badge-gold{background:var(--color-warning-bg);color:#b97514;border:1px solid #FFE3BD}.badge-green{background:var(--color-success-bg);color:var(--color-success);border:1px solid #C3E8D8}.badge-red{background:var(--color-error-bg);color:var(--color-error);border:1px solid #F2CCD1}.badge-gray{background:var(--gray-50);color:var(--brand-muted-text);border:1px solid var(--brand-border-soft)}.badge-purple{background:var(--purple-50);color:var(--purple);border:1px solid var(--purple-100)}.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-border-soft);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}.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-border-soft);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-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}}
