:root{--font-main: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-bg: #fbf7f4;--color-bg-alt: #f7efe9;--color-surface: #ffffff;--color-surface-soft: #fff9f6;--color-surface-muted: #f4ebe6;--color-text: #231f20;--color-heading: #181314;--color-muted: #776c6f;--color-muted-light: #a09396;--color-border: #eadfd9;--color-border-strong: #dccbc3;--color-primary: #8f4d57;--color-primary-strong: #703540;--color-primary-soft: #f5e7ea;--color-primary-faint: #fbf2f4;--color-success: #067647;--color-success-soft: #ecfdf3;--color-danger: #b42318;--color-danger-soft: #fff3f3;--color-warning: #b54708;--color-warning-soft: #fffaeb;--color-info: #175cd3;--color-info-soft: #eff8ff;--shadow-xs: 0 1px 2px rgba(35, 31, 32, .05);--shadow-sm: 0 8px 24px rgba(35, 31, 32, .07);--shadow-md: 0 18px 45px rgba(35, 31, 32, .09);--shadow-lg: 0 28px 70px rgba(35, 31, 32, .13);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 14px;--radius-full: 999px;--radius-control: var(--radius-md);--radius-card: var(--radius-xl);--radius-dialog: var(--radius-2xl);--radius-menu: var(--radius-lg);--focus-ring: 0 0 0 3px rgba(143, 77, 87, .14);--control-height: 44px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 2rem;--space-8: 2.5rem;--space-9: 3rem;--space-10: 4rem;--space-11: 5rem;--space-12: 6rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem;--text-5xl: 3.25rem;--container: 1180px;--content-width: 1280px;--dashboard-content-width: none;--dashboard-page-gutter: clamp(1.25rem, 2.4vw, 2.25rem);--sidebar-width: 280px;--header-height: 74px;--topbar-height: 72px;--z-base: 1;--z-sticky: 20;--z-dropdown: 40;--z-select: 55;--z-modal: 60;--z-toast: 80}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;-webkit-text-size-adjust:100%}body{min-height:100%;margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-main);line-height:1.5}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-top:0}a{color:inherit;text-decoration:none}img,picture,svg,video,canvas{display:block;max-width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.62}[hidden]{display:none!important}:focus-visible{outline:3px solid rgba(143,77,87,.22);outline-offset:2px}.container{width:min(var(--container),calc(100% - 32px));margin-inline:auto}.container-wide{width:min(var(--content-width),calc(100% - 32px));margin-inline:auto}.main-section{padding:var(--space-9) 0}.section-sm{padding:var(--space-6) 0}.section-lg{padding:var(--space-11) 0}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.stack{display:grid;gap:var(--space-4)}.stack-sm{display:grid;gap:var(--space-2)}.stack-lg{display:grid;gap:var(--space-6)}@media(max-width:980px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.between{align-items:flex-start;flex-direction:column}}.form-stack{display:grid;gap:var(--space-3)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(min(100%,260px),1fr));gap:var(--space-4);align-items:start}.form-grid.two{grid-template-columns:repeat(2,minmax(min(100%,260px),1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(min(100%,220px),1fr))}.form-section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:var(--space-5);align-items:start}.form-section-side{position:sticky;top:calc(var(--topbar-height) + var(--space-5))}.field,.field-group{display:grid;gap:var(--space-2)}.field-wide{grid-column:1 / -1}.field label,.field-label{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text);font-size:var(--text-sm);font-weight:850}.required-mark{color:var(--color-danger)}.field-help{color:var(--color-muted);font-size:var(--text-xs)}.input,.textarea,.select,.file-input{width:100%;border:1px solid var(--color-border-strong);min-height:var(--control-height);border-radius:var(--radius-control);background:#fff;color:var(--color-text);padding:.68rem .82rem;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.textarea{min-height:132px;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--color-muted-light)}.input:hover,.textarea:hover,.select:hover,.file-input:hover{border-color:var(--color-primary)}.input:focus,.textarea:focus,.select:focus,.file-input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.input.is-invalid,.textarea.is-invalid,.select.is-invalid{border-color:var(--color-danger)}.input-error{color:var(--color-danger);font-size:var(--text-xs);font-weight:750}.check-row,.radio-row{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-sm);font-weight:700}.check-row input,.radio-row input{width:1rem;height:1rem;accent-color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:42px;border:1px solid transparent;border-radius:var(--radius-control);padding:.66rem 1rem;font-size:var(--text-sm);font-weight:850;line-height:1;text-align:center;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-sm{min-height:34px;border-radius:var(--radius-sm);padding:.48rem .75rem;font-size:var(--text-xs)}.btn-lg{min-height:48px;padding:.78rem 1.15rem;font-size:var(--text-md)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 10px 24px #8f4d5738}.btn-primary:hover{background:var(--color-primary-strong)}.btn-light,.btn-secondary{border-color:var(--color-border-strong);background:#fff;color:var(--color-text)}.btn-light:hover,.btn-secondary:hover{border-color:var(--color-primary);background:var(--color-primary-faint)}.btn-ghost{background:transparent;color:var(--color-muted)}.btn-ghost:hover{background:var(--color-surface-soft);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-link{display:inline-flex;align-items:center;border:0;background:transparent;color:var(--color-danger);cursor:pointer;font-weight:850;padding:0}.inline-form{display:inline}@media(max-width:900px){.form-section-grid{grid-template-columns:1fr}.form-section-side{position:static}}@media(max-width:760px){.form-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr}}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-primary-strong) 50%),linear-gradient(135deg,var(--color-primary-strong) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2.4rem}.select-native-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.custom-select{position:relative;z-index:1;width:100%}.custom-select.is-open{z-index:var(--z-select)}.custom-select-trigger{display:flex;width:100%;min-height:var(--control-height);align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:.68rem .82rem;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.custom-select-trigger:hover{border-color:var(--color-primary)}.custom-select.is-open .custom-select-trigger,.custom-select-trigger:focus-visible{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.custom-select-value{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.custom-select-value.is-placeholder{color:var(--color-muted-light)}.custom-select-arrow{width:0;height:0;flex:0 0 auto;border-top:5px solid var(--color-primary-strong);border-right:5px solid transparent;border-left:5px solid transparent;transition:transform .16s ease}.custom-select.is-open .custom-select-arrow{transform:rotate(180deg)}.custom-select-menu{position:absolute;z-index:var(--z-select);top:calc(100% + 6px);right:auto;left:0;display:none;width:max(100%,var(--select-menu-width, 220px));max-width:min(420px,calc(100vw - 2rem));border:1px solid rgba(143,77,87,.24);border-radius:var(--radius-menu);background:var(--color-surface);box-shadow:var(--shadow-lg);padding:var(--space-2)}.custom-select.is-open .custom-select-menu{display:grid;gap:var(--space-2)}.custom-select-search-wrap{position:sticky;z-index:1;top:0;background:var(--color-surface)}.custom-select-search{width:100%;min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-soft);color:var(--color-text);outline:none;padding:.55rem .7rem;font-size:var(--text-sm)}.custom-select-search:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.custom-select-options{display:grid;max-height:260px;overflow-y:auto;gap:2px;overscroll-behavior:contain}.custom-select-option{display:flex;width:100%;min-height:38px;align-items:center;justify-content:space-between;gap:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);cursor:pointer;padding:.55rem .7rem;text-align:left}.custom-select-option-label{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.custom-select-option:hover,.custom-select-option:focus-visible,.custom-select-option.is-focused{background:var(--color-primary-faint);color:var(--color-primary-strong);outline:none}.custom-select-option.is-selected{background:var(--color-primary-soft);color:var(--color-primary-strong);font-weight:850}.custom-select-option.is-disabled{cursor:not-allowed;opacity:.48}.custom-select-check{display:grid;width:1.2rem;height:1.2rem;place-items:center;border-radius:var(--radius-xs);background:var(--color-primary);color:#fff;font-size:var(--text-xs);font-weight:900}.custom-select-empty{border-radius:var(--radius-sm);color:var(--color-muted);padding:var(--space-3);text-align:center;font-size:var(--text-sm);font-weight:750}.custom-select.is-disabled{opacity:.62;pointer-events:none}.custom-select.is-invalid .custom-select-trigger{border-color:var(--color-danger)}.custom-select-multiple .custom-select-option{justify-content:flex-start}.password-control{position:relative}.password-control .input{padding-right:3rem}.password-toggle{position:absolute;top:50%;right:.45rem;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);cursor:pointer;transform:translateY(-50%);transition:background .16s ease,color .16s ease}.password-toggle:hover,.password-toggle:focus-visible{background:var(--color-primary-faint);color:var(--color-primary-strong)}.password-toggle svg{width:18px;height:18px;stroke:currentColor}.check-row input,.radio-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;width:1rem;height:1rem;place-content:center;border:1px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer}.check-row input{border-radius:var(--radius-xs)}.radio-row input{border-radius:var(--radius-full)}.check-row input:before,.radio-row input:before{width:.52rem;height:.52rem;background:var(--color-primary);content:"";transform:scale(0);transition:transform .12s ease}.check-row input:before{clip-path:polygon(14% 44%,0 59%,40% 100%,100% 17%,84% 3%,38% 68%)}.radio-row input:before{border-radius:var(--radius-full)}.check-row input:checked,.radio-row input:checked{border-color:var(--color-primary);background:var(--color-primary-soft)}.check-row input:checked:before,.radio-row input:checked:before{transform:scale(1)}.card,.card-flat,.panel,.surface-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs)}.card,.panel{padding:var(--space-6)}.card-flat,.surface-card{padding:var(--space-5)}.card-elevated{box-shadow:var(--shadow-md)}.card-muted{background:var(--color-surface-soft)}.card-title{margin:0 0 var(--space-2);font-size:var(--text-xl);letter-spacing:-.035em}.card-text{color:var(--color-muted);font-size:var(--text-sm)}.badge,.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:28px;border:1px solid var(--badge-border, var(--color-border));border-radius:var(--radius-full);background:var(--badge-bg, var(--color-surface-soft));color:var(--badge-text, var(--color-muted));padding:.25rem .65rem;font-size:var(--text-xs);font-weight:850;text-transform:capitalize;white-space:nowrap}.badge-primary{--badge-bg: var(--color-primary-soft);--badge-border: rgba(143, 77, 87, .18);--badge-text: var(--color-primary-strong)}.badge-success,.status-active,.status-paid,.status-completed{--badge-bg: var(--color-success-soft);--badge-border: rgba(6, 118, 71, .16);--badge-text: var(--color-success)}.badge-danger,.status-rejected,.status-hidden,.status-suspended,.status-cancelled,.status-failed{--badge-bg: var(--color-danger-soft);--badge-border: rgba(180, 35, 24, .16);--badge-text: var(--color-danger)}.status-inactive{--badge-bg: var(--color-surface-muted);--badge-border: var(--color-border-strong);--badge-text: var(--color-muted)}.badge-warning,.status-pending,.status-draft,.status-unpaid{--badge-bg: var(--color-warning-soft);--badge-border: rgba(181, 71, 8, .16);--badge-text: var(--color-warning)}.badge-info,.status-processing{--badge-bg: var(--color-info-soft);--badge-border: rgba(23, 92, 211, .16);--badge-text: var(--color-info)}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-xs)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.table-actions,.table-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}table,.table{width:100%;border-collapse:collapse}th,td,.table th,.table td{border-bottom:1px solid var(--color-border);padding:.9rem 1rem;text-align:left;vertical-align:middle}th,.table th{background:var(--color-surface-soft);color:var(--color-muted);font-size:var(--text-xs);font-weight:900;letter-spacing:.055em;text-transform:uppercase}tr:last-child td{border-bottom:0}tbody tr:hover{background:#8f4d5709}.table-empty{padding:var(--space-7)}.pagination-wrap,nav[role=navigation]{margin-top:var(--space-4)}@media(max-width:720px){.table-toolbar{align-items:stretch;flex-direction:column}}.muted,.text-muted{color:var(--color-muted)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-center{text-align:center}.text-right{text-align:right}.page-title{margin:0 0 var(--space-2);color:var(--color-heading);font-size:clamp(2.1rem,4.5vw,3.8rem);line-height:1.02;letter-spacing:-.06em}.section-title{margin:0 0 var(--space-5);color:var(--color-heading);font-size:clamp(1.45rem,3vw,2rem);line-height:1.1;letter-spacing:-.04em}.empty-state{display:grid;gap:var(--space-2);place-items:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-soft);color:var(--color-muted);padding:var(--space-7);text-align:center}.empty-state strong{color:var(--color-text)}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap}.mt-1{margin-top:var(--space-2)}.mt-2{margin-top:var(--space-4)}.mt-3{margin-top:var(--space-6)}.mt-4{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-2)}.mb-2{margin-bottom:var(--space-4)}.mb-3{margin-bottom:var(--space-6)}.w-full{width:100%}.is-soft-hidden{opacity:.55}.overflow-auto{overflow:auto}.skip-link{position:fixed;z-index:calc(var(--z-toast) + 1);top:var(--space-3);left:var(--space-3);transform:translateY(-180%);border-radius:var(--radius-md);background:var(--color-heading);color:#fff;padding:.7rem 1rem;font-size:var(--text-sm);font-weight:900;transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}
