:root{--color-bg: #f4f5f7;--color-surface: #ffffff;--color-surface-soft: #f8f9fb;--color-surface-muted: #f0f2f5;--color-card: #ffffff;--color-text: #17181c;--color-text-soft: #383b42;--color-muted: #626977;--color-subtle: #8b919d;--color-border: #dfe3ea;--color-border-soft: #edf0f4;--color-primary: #e1192c;--color-primary-hover: #c91527;--color-primary-soft: #fff0f2;--color-primary-muted: #ffd9df;--color-success: #16833a;--color-success-soft: #e9f7ee;--color-warning: #946114;--color-warning-soft: #fff5db;--color-danger: #c72235;--color-danger-soft: #ffe9ed;--color-info: #1769c2;--color-info-soft: #e9f3ff;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(23, 24, 28, .06);--shadow-md: 0 12px 28px rgba(23, 24, 28, .12);--sidebar-width: 256px;--header-height: 64px;--drawer-width: 520px;--control-height: 36px;--transition-fast: .16s ease;--transition-base: .22s cubic-bezier(.22, 1, .36, 1);--z-sidebar: 10;--z-header: 20;--z-drawer-backdrop: 70;--z-drawer: 80}@font-face{font-family:Gilroy;src:url(/assets/fonts/gilroy-regular.ttf);font-weight:400;font-display:swap}@font-face{font-family:Gilroy;src:url(/assets/fonts/gilroy-medium.ttf);font-weight:500;font-display:swap}@font-face{font-family:Gilroy;src:url(/assets/fonts/gilroy-semi-bold.ttf);font-weight:600;font-display:swap}@font-face{font-family:Gilroy;src:url(/assets/fonts/gilroy-bold.ttf);font-weight:700;font-display:swap}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{height:100%;overflow:hidden}body{height:100%;overflow:hidden;background:var(--color-bg);color:var(--color-text);font-family:Gilroy,Segoe UI,system-ui,sans-serif;font-weight:500;line-height:1.45;font-size:15px;font-kerning:normal;text-rendering:optimizeLegibility}app-root{display:block;height:100%}button,input,textarea,select,a{color:inherit;font:inherit;letter-spacing:0}button{border:0;background:none;cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed}a{text-decoration:none}img,picture{display:block;max-width:100%}ul,ol{list-style:none;padding:0}textarea{resize:vertical}input,textarea,select{border:0;outline:0}:focus-visible{outline:3px solid rgba(225,25,44,.22);outline-offset:2px}.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}.admin-page{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-width:0}.page-header__content{display:flex;min-width:0;max-width:72ch;flex-direction:column;gap:var(--space-2)}.page-header__title{color:var(--color-text);font-size:1.75rem;font-weight:600;line-height:1.15}.page-actions,.toolbar,.button-group{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.segmented{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:3px}.segmented__button{min-height:30px;border-radius:6px;padding:0 10px;color:var(--color-muted);font-size:.9rem;font-weight:600;transition:background-color var(--transition-fast),color var(--transition-fast)}.segmented__button:hover{color:var(--color-text)}.segmented__button--active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.toolbar{justify-content:space-between}.control-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.button{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);padding:0 14px;border:1px solid transparent;font-size:.94rem;font-weight:600;line-height:1;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.button i{font-size:1rem}.button--primary{background:var(--color-primary);color:#fff}.button--primary:hover{background:var(--color-primary-hover)}.button--secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-soft)}.button--secondary:hover{border-color:var(--color-primary-muted);background:var(--color-primary-soft);color:var(--color-primary-hover)}.button--ghost{color:var(--color-muted)}.button--ghost:hover{background:var(--color-surface-muted);color:var(--color-text)}.button:disabled{opacity:.55}.icon-button{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-muted);transition:background-color var(--transition-fast),color var(--transition-fast)}.icon-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.icon-action{display:inline-flex;width:30px;height:30px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.icon-action:hover{border-color:var(--color-primary-muted);background:var(--color-primary-soft);color:var(--color-primary-hover)}.icon-action:active{background:var(--color-primary-muted)}.icon-action:disabled{opacity:.48}.icon-action i{font-size:.96rem;line-height:1}.action-group{display:inline-flex;min-width:0;align-items:center;gap:4px;flex-wrap:nowrap;justify-self:center;white-space:nowrap}.form-control,.form-select,.form-textarea{min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:.94rem;font-weight:500;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control,.form-select{padding:0 12px}.form-textarea{padding:10px 12px;line-height:1.45}.form-control::placeholder,.form-textarea::placeholder{color:var(--color-muted)}.form-control:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #e1192c1f}.field{display:flex;min-width:0;flex-direction:column;gap:7px}.field__label{color:var(--color-text-soft);font-size:.88rem;font-weight:600}.field__hint{color:var(--color-muted);font-size:.88rem;line-height:1.35}.check-field{display:flex;min-width:0;align-items:flex-start;gap:var(--space-2);color:var(--color-text-soft);font-size:.94rem;font-weight:600;line-height:1.35}.check-field input{width:16px;height:16px;flex:0 0 auto;margin-top:2px;accent-color:var(--color-primary)}.search-field{position:relative;min-width:260px}.search-field i{position:absolute;top:50%;left:12px;color:var(--color-muted);transform:translateY(-50%);pointer-events:none}.search-field .form-control{padding-left:36px}.panel{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-sm)}.panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border-soft)}.panel__title{color:var(--color-text);font-size:1.12rem;font-weight:600;line-height:1.2}.panel__description{margin-top:4px;color:var(--color-muted);font-size:.9rem}.panel__body{padding:var(--space-5)}.status-badge{display:inline-flex;align-items:center;flex:0 0 auto;width:fit-content;gap:6px;border-radius:999px;padding:3px 8px;background:var(--color-surface-muted);color:var(--color-text-soft);font-size:.86rem;font-weight:600;line-height:1.15;white-space:nowrap}.status-badge:before{width:6px;height:6px;border-radius:999px;background:currentColor;content:""}.status-badge--success{background:var(--color-success-soft);color:var(--color-success)}.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge--info{background:var(--color-info-soft);color:var(--color-info)}.status-badge--muted{background:var(--color-surface-muted);color:var(--color-muted)}.data-list{display:flex;min-width:0;flex-direction:column}.table-scroll{--table-column-gap: var(--space-3);--table-padding-inline: var(--space-5);min-width:0;overflow-x:auto}.data-list__head,.data-list__row{display:grid;min-width:0;align-items:center;gap:var(--space-3)}.table-scroll .data-list__head,.table-scroll .data-list__row{grid-template-columns:var(--table-columns, minmax(0, 1fr));min-width:var(--table-min-width, 0);column-gap:var(--table-column-gap)}.data-list__head{border-bottom:1px solid var(--color-border-soft);padding:var(--space-3) var(--space-5);color:var(--color-muted);font-size:.84rem;font-weight:600}.data-list__row{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-soft)}.table-scroll .data-list__head,.table-scroll .data-list__row{padding-inline:var(--table-padding-inline)}.data-list__head>*,.data-list__row>*{min-width:0}.data-list__row:last-child{border-bottom:0}.cell-main{display:flex;min-width:0;flex-direction:column;gap:4px}.cell-title{min-width:0;color:var(--color-text);font-size:.96rem;font-weight:600;line-height:1.3}.cell-meta{min-width:0;color:var(--color-muted);font-size:.88rem;line-height:1.35}.cell-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-clamp{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.numeric{font-variant-numeric:tabular-nums}.empty-state{display:flex;min-width:0;align-items:center;gap:var(--space-3);padding:var(--space-5);color:var(--color-muted);font-size:.94rem}.empty-state i{color:var(--color-subtle);font-size:1.15rem}.table-state,.drawer-loading{display:flex;min-height:172px;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-muted);font-size:.94rem}.table-state--empty{flex-direction:column;gap:6px;padding:var(--space-8) var(--space-5);text-align:center}.table-state--empty strong{color:var(--color-text);font-size:1rem}.table-state--empty>span:last-child{font-size:.9rem}.table-state__icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;margin-bottom:4px;border-radius:var(--radius-lg);background:var(--color-surface-muted);color:var(--color-muted);font-size:1.16rem}.drawer-loading{min-height:calc(100dvh - 172px);flex-direction:column;gap:var(--space-3);text-align:center}.request-message{display:flex;align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3)}.request-message--error{border:1px solid var(--color-danger-soft);background:var(--color-danger-soft);color:var(--color-danger)}.field__error{color:var(--color-danger);font-size:.81rem;line-height:1.3}.icon-action--danger{color:var(--color-danger)}.icon-action--danger:hover{border-color:var(--color-danger-soft);background:var(--color-danger-soft);color:var(--color-danger)}.spinner-border{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-rotate .78s linear infinite}.spinner-border-sm{width:.9rem;height:.9rem}.drawer-form{display:flex;flex-direction:column;gap:var(--space-4)}.drawer-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.drawer-form__grid .field--full{grid-column:1 / -1}.form-section{display:flex;min-width:0;flex-direction:column;gap:var(--space-4);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4)}.form-section__header{display:flex;align-items:center;gap:var(--space-2)}.form-section__icon{display:inline-flex;width:30px;height:30px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);font-size:.94rem}.form-section__header h3{color:var(--color-text);font-size:1rem;font-weight:600;line-height:1.25}.note{display:flex;gap:var(--space-3);border:1px solid var(--color-info-soft);border-radius:var(--radius-md);background:var(--color-info-soft);color:var(--color-text-soft);padding:var(--space-3);font-size:.9rem;line-height:1.4}.note i{color:var(--color-info)}.none{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1;scroll-behavior:auto}.spinner-border{animation:none}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}
