.app-header{height:var(--layout-topbar-h);border-bottom:1px solid var(--brand-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-sticky);padding:0 var(--sp-8);background-color:#ffffffeb;justify-content:space-between;align-items:center;width:100%;min-width:0;display:flex;position:sticky;top:0}.app-header__left{align-items:center;gap:var(--sp-3);min-width:0;display:inline-flex}.app-header__title{font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--brand-text);word-break:break-word;flex:auto;min-width:0;margin:0}.app-header__menu-btn{border-radius:var(--r-md);border:1px solid var(--brand-border);width:36px;height:36px;color:var(--brand-text-medium);background:var(--brand-surface);justify-content:center;align-items:center;display:none}.app-header__right{align-items:center;gap:var(--sp-3);min-width:0;display:inline-flex}.app-header__notification-wrap{position:relative}.app-header__icon-btn{border-radius:var(--r-pill);border:1px solid var(--brand-border);background:var(--brand-surface);width:36px;height:36px;color:var(--brand-text-soft);transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);place-items:center;display:grid;position:relative}.app-header__icon-btn:hover{color:var(--brand-primary);border-color:var(--brand-primary);background:var(--brand-primary-faint)}.app-header__icon-btn:focus-visible{box-shadow:var(--ring);outline:none}.app-header__notif-badge{background-color:var(--c-error);color:#fff;min-width:18px;height:18px;font-size:10px;font-weight:var(--fw-semibold);border-radius:var(--r-pill);border:2px solid var(--brand-surface);justify-content:center;align-items:center;padding:0 4px;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-6px}.app-header__user-wrap{position:relative}.app-header__user{align-items:center;gap:var(--sp-2);color:var(--brand-text-medium);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);cursor:pointer;transition:background-color var(--dur-fast) var(--ease);background:0 0;border:0;display:inline-flex}.app-header__user:hover,.app-header__user[aria-expanded=true]{background:var(--brand-primary-faint)}.app-header__user:focus-visible{box-shadow:var(--ring);outline:none}.app-header__user-name{line-height:1}.app-header__user-caret{color:var(--brand-text-faint);transition:transform var(--dur-med) var(--ease)}.app-header__user-caret.is-open{transform:rotate(180deg)}.app-header__avatar{border-radius:var(--r-pill);color:#f2ede1;width:30px;height:30px;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.02em;background:linear-gradient(145deg,#35594f 0%,#223f38 100%);place-items:center;display:grid;box-shadow:0 2px 6px #162b2647}.app-header__menu{top:calc(100% + var(--sp-2));background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--r-lg);min-width:176px;box-shadow:var(--shadow-3);padding:var(--sp-1);z-index:var(--z-sticky);flex-direction:column;gap:2px;display:flex;position:absolute;right:0}.app-header__menu-item{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--brand-text);font-size:var(--fs-md);font-weight:var(--fw-medium);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;display:inline-flex}.app-header__menu-item:hover,.app-header__menu-item:focus-visible{background:var(--brand-primary-faint);color:var(--brand-primary);outline:none}@media (width<=1023.98px){.app-header__menu-btn{flex-shrink:0;display:inline-flex}}@media (width<=767.98px){.app-header{align-items:flex-start;gap:var(--sp-3);height:auto;padding:var(--sp-3) var(--sp-4);flex-direction:column;position:static}.app-header__left,.app-header__right{justify-content:flex-start;width:100%}.app-header__title{font-size:var(--fs-xl)}}@media (width<=639.98px){.app-header{padding:var(--sp-3) var(--sp-3)}.app-header__title{font-size:var(--fs-lg)}}.notification-dropdown{z-index:1000;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;width:380px;max-height:500px;margin-top:8px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.notification-dropdown__header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.notification-dropdown__title{color:#182420;flex:1;margin:0;font-size:16px;font-weight:600}.notification-dropdown__badge{color:#fff;background-color:#ef4444;border-radius:50%;justify-content:center;align-items:center;min-width:24px;height:24px;font-size:12px;font-weight:600;display:inline-flex}.notification-dropdown__mark-all-btn{color:#223f38;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:4px 8px;font-size:12px;font-weight:500}.notification-dropdown__mark-all-btn:hover{text-decoration:underline}.notification-dropdown__list{flex:1;max-height:350px;overflow-y:auto}.notification-dropdown__list::-webkit-scrollbar{width:6px}.notification-dropdown__list::-webkit-scrollbar-track{background:0 0}.notification-dropdown__list::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.notification-dropdown__list::-webkit-scrollbar-thumb:hover{background:#0003}.notification-dropdown__empty{text-align:center;color:#5c6b64;padding:32px 16px;font-size:14px}.notification-dropdown__item{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:12px;padding:12px 16px;transition:background-color .2s;display:flex}.notification-dropdown__item:hover{background-color:#f9fafb}.notification-dropdown__item--unread{background-color:#f0fdf4}.notification-dropdown__item--unread:hover{background-color:#dcfce7}.notification-dropdown__item--read{opacity:.75}.notification-dropdown__icon{background-color:#0000000d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.notification-dropdown__content{flex:1;min-width:0}.notification-dropdown__title-text{color:#182420;margin-bottom:4px;font-size:13px;font-weight:600;line-height:1.3}.notification-dropdown__message{color:#33413c;margin-bottom:4px;font-size:12px;line-height:1.4}.notification-dropdown__time{color:#5c6b64;font-size:11px}.notification-dropdown__mark-read-btn{color:#3b82f6;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:16px;display:flex}.notification-dropdown__mark-read-btn:hover{transform:scale(1.2)}.notification-dropdown__footer{text-align:center;color:#223f38;border-top:1px solid #e5e7eb;padding:12px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background-color .2s;display:block}.notification-dropdown__footer:hover{background-color:#f9fafb;text-decoration:underline}.empty-state{text-align:center;justify-content:center;align-items:center;gap:var(--sp-2);color:var(--brand-text-soft);flex-direction:column;display:flex}.empty-state--sm{padding:var(--sp-6) var(--sp-4)}.empty-state--md{padding:var(--sp-10) var(--sp-6)}.empty-state--lg{padding:var(--sp-12) var(--sp-6)}.empty-state__icon{width:44px;height:44px;margin-bottom:var(--sp-1);border-radius:var(--r-md);background:var(--brand-primary-faint);color:var(--brand-primary);justify-content:center;align-items:center;display:inline-flex}.empty-state__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--brand-text)}.empty-state__description{max-width:46ch;font-size:var(--fs-sm);line-height:var(--lh-normal)}.empty-state__action{margin-top:var(--sp-3)}.panel{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.panel__head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6) 0;display:flex}.panel__head-lead{min-width:0}.panel__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--brand-text)}.panel__description{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--brand-text-soft)}.panel__actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.panel__body{padding:var(--sp-6)}.panel--flush .panel__body{padding:0}@media (width<=600px){.panel__head{padding:var(--sp-4) var(--sp-4) 0}.panel__body{padding:var(--sp-4)}}.form-drawer .ant-drawer-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--brand-border)}.form-drawer .ant-drawer-body{padding:var(--sp-5)}.form-drawer .ant-drawer-footer{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--brand-border)}.form-drawer__title{flex-direction:column;gap:2px;min-width:0;display:flex}.form-drawer__title-text{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--brand-text);line-height:var(--lh-tight)}.form-drawer__subtitle{font-size:var(--fs-sm);color:var(--brand-text-soft);line-height:1.4}.form-drawer__footer{justify-content:flex-end;gap:var(--sp-3);display:flex}.form-drawer__footer .ant-btn{min-width:96px}@media (width<=639.98px){.form-drawer-root .ant-drawer-content-wrapper{max-width:100vw;width:100vw!important}.form-drawer .ant-drawer-body{padding:var(--sp-4)}.form-drawer .ant-drawer-header,.form-drawer .ant-drawer-footer{padding-left:var(--sp-4);padding-right:var(--sp-4)}.form-drawer__footer .ant-btn{flex:1}}.page-skeleton-table{gap:12px;width:100%;display:grid}.page-skeleton-table__card{background:#fff;border:1px solid #d5dfda;border-radius:12px;width:100%;max-width:100%;overflow:hidden}.page-skeleton-table__toolbar{background:#fff;border-bottom:1px solid #e7edea;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.page-skeleton-table__search{width:240px;min-width:170px;max-width:240px}.page-skeleton-table__filters{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:inline-flex}.page-skeleton-table__table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.page-skeleton-table__table{border-collapse:collapse;width:100%;min-width:680px}.page-skeleton-table__table th,.page-skeleton-table__table td{border-bottom:1px solid #f0f4f2;padding:14px 16px}.page-skeleton-table__table th{background:#f7faf8}.page-skeleton-table__pagination{border-top:1px solid #e7edea;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;display:flex}.page-skeleton-table__pages{align-items:center;gap:6px;display:inline-flex}.page-skeleton-module{background:#fff;border:1px solid #e2e9e5;border-radius:12px;padding:20px}.page-skeleton-dashboard{gap:18px;width:100%;max-width:100%;display:grid}.page-skeleton-dashboard__hero{background:linear-gradient(120deg,#26463e 0%,#223f38 55%,#16302a 100%);border-radius:18px;gap:9px;padding:26px 28px;display:grid}.page-skeleton-dashboard__hero .ant-skeleton-input{background:#ffffff2e linear-gradient(90deg,#ffffff2e 25%,#ffffff52 37%,#ffffff2e 63%)!important}.page-skeleton-dashboard__section{gap:12px;display:grid}.page-skeleton-dashboard__section-head{border-bottom:1px solid #e7edea;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.page-skeleton-dashboard__detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.page-skeleton-dashboard__detail-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.page-skeleton-dashboard__detail-card{background:#fff;border:1px solid #e2e9e5;border-radius:14px;gap:8px;min-height:80px;padding:16px;display:grid}.route-page-skeleton{align-content:start;gap:12px;width:100%;min-height:calc(100vh - 140px);padding:4px 0;display:grid}.route-page-skeleton__header{gap:6px;display:grid}.route-page-skeleton__block{background:#fff;border:1px solid #e2e9e5;border-radius:12px;padding:20px}.route-page-skeleton__block--full{min-height:calc(100vh - 220px)}.page-skeleton-dashboard .ant-skeleton,.page-skeleton-account .ant-skeleton{width:100%}.page-skeleton-account__tabs{gap:28px;margin-bottom:14px;display:flex}.page-skeleton-account__tab{background:linear-gradient(90deg,#f0f4f2 25%,#e9ecf2 37%,#f0f4f2 63%) 0 0/400% 100%;border-radius:4px;height:22px;animation:1.2s ease-in-out infinite page-skeleton-shimmer}.page-skeleton-account__tab--wide{width:120px}.page-skeleton-account__tab--narrow{width:96px}.page-skeleton-account__profile-outer{background:#fff;border:1px solid #e2e9e5;border-radius:12px;padding:20px}@media (width<=1100px){.page-skeleton-dashboard__detail-grid,.page-skeleton-dashboard__detail-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.page-skeleton-table__toolbar{flex-direction:column;align-items:stretch;padding:10px}.page-skeleton-table__search{max-width:unset;width:100%}.page-skeleton-table__filters{justify-content:flex-start;width:100%}}@media (width<=700px){.page-skeleton-dashboard__detail-grid,.page-skeleton-dashboard__detail-grid--3{grid-template-columns:1fr}.page-skeleton-dashboard__hero{padding:14px}.route-page-skeleton__block--full{min-height:calc(100vh - 190px)}}@media (width<=480px){.page-skeleton-account__tabs{gap:14px}.page-skeleton-module{padding:12px}}@keyframes page-skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.page-skeleton-form,.page-skeleton-detail__panel,.page-skeleton-detail__stat,.page-skeleton-detail__hero,.page-skeleton-report__panel,.page-skeleton-report__stat{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.page-skeleton-metrics,.page-skeleton-detail,.page-skeleton-report{gap:var(--sp-5);flex-direction:column;display:flex}.page-skeleton-chart{width:100%;padding:var(--sp-4) 0 0;align-items:flex-end;display:flex}.page-skeleton-chart__bars{align-items:flex-end;gap:var(--sp-3);width:100%;height:100%;display:flex}.page-skeleton-chart__bar{border-radius:var(--r-sm) var(--r-sm) 0 0;background:linear-gradient(90deg,#223f380f 25%,#223f3821 37%,#223f380f 63%) 0/400% 100%;flex:1;animation:1.4s infinite page-skeleton-shimmer}.page-skeleton-report__stats{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.page-skeleton-report__stat{gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);flex-direction:column;display:flex}.page-skeleton-report__panel{gap:var(--sp-4);padding:var(--sp-5);flex-direction:column;display:flex;overflow:hidden}.page-skeleton-detail__hero{align-items:center;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);display:flex}.page-skeleton-detail__hero-meta{gap:var(--sp-2);flex-direction:column;flex:1;min-width:0;display:flex}.page-skeleton-detail__stats{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.page-skeleton-detail__stat{gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);flex-direction:column;display:flex}.page-skeleton-detail__panels{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.page-skeleton-detail__panel{padding:var(--sp-5)}.page-skeleton-form{gap:var(--sp-5);padding:var(--sp-6);flex-direction:column;display:flex}.page-skeleton-form__fields{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.page-skeleton-form__field{gap:var(--sp-2);flex-direction:column;display:flex}.page-skeleton-form__actions{gap:var(--sp-3);flex-wrap:wrap;display:flex}.page-skeleton-metrics__head{align-items:center;gap:var(--sp-4);display:flex}.page-skeleton-metrics__stats{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.page-skeleton-metrics__panels{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}@media (width<=767.98px){.page-skeleton-report,.page-skeleton-detail,.page-skeleton-metrics{gap:var(--sp-4)}.page-skeleton-report__panel,.page-skeleton-detail__panel,.page-skeleton-form,.page-skeleton-detail__hero{padding:var(--sp-4)}}@media (width<=479.98px){.page-skeleton-detail__hero{flex-direction:column;align-items:flex-start}.page-skeleton-report__stats,.page-skeleton-detail__stats{grid-template-columns:1fr 1fr}}.page-skeleton-shell{grid-template-columns:var(--layout-sidebar-w) 1fr;background:var(--brand-bg);min-height:100svh;display:grid}.page-skeleton-shell__sidebar{height:100svh;padding:var(--sp-6) var(--sp-4);gap:var(--sp-5);background:linear-gradient(#26463e 0%,#223f38 45%,#16302a 100%);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.page-skeleton-shell__brand{border-radius:var(--r-md);background:#ffffff1a;width:70%;height:40px}.page-skeleton-shell__nav-group{gap:var(--sp-2);flex-direction:column;display:flex}.page-skeleton-shell__nav-heading{border-radius:var(--r-sm);background:#ffffff17;width:42%;height:9px;margin-bottom:2px}.page-skeleton-shell__nav-item{border-radius:var(--r-sm);background:#ffffff12;height:17px}.page-skeleton-shell__main{flex-direction:column;min-width:0;display:flex}.page-skeleton-shell__topbar{height:var(--layout-topbar-h);justify-content:space-between;align-items:center;gap:var(--sp-4);padding:0 var(--sp-8);border-bottom:1px solid var(--brand-border);background:#ffffffeb;flex-shrink:0;display:flex}.page-skeleton-shell__topbar-right{align-items:center;gap:var(--sp-3);display:inline-flex}.page-skeleton-shell__content{padding:var(--layout-content-pad) var(--sp-8);min-width:0}@media (width<=1023.98px){.page-skeleton-shell{grid-template-columns:1fr}.page-skeleton-shell__sidebar{display:none}.page-skeleton-shell__topbar,.page-skeleton-shell__content{padding-inline:var(--layout-content-pad)}}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6);display:flex}.page-header__lead{min-width:0}.page-header__back{margin-bottom:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--brand-text-soft);transition:color var(--dur-fast) var(--ease);align-items:center;gap:4px;display:inline-flex}.page-header__back:hover{color:var(--brand-primary)}.page-header__eyebrow{margin-bottom:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text-faint)}.page-header__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--brand-text)}.page-header__description{margin-top:var(--sp-2);max-width:68ch;font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--brand-text-soft)}.page-header__actions{align-items:center;gap:var(--sp-3);flex-shrink:0;display:flex}@media (width<=600px){.page-header{gap:var(--sp-3);margin-bottom:var(--sp-5);flex-direction:column}.page-header__actions{flex-wrap:wrap;width:100%}}.stat-card{align-content:center;gap:2px var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);text-align:left;grid-template-columns:auto 1fr;grid-template-areas:"icon label""icon value""icon hint";width:100%;display:grid}.stat-card:not(:has(.stat-card__icon)){grid-template-columns:1fr;grid-template-areas:"label""value""hint"}.stat-card--clickable{cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease)}.stat-card--clickable:hover{border-color:var(--brand-border-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.stat-card--clickable:focus-visible{box-shadow:var(--ring);outline:none}.stat-card__icon{border-radius:var(--r-md);background:var(--brand-primary-faint);width:38px;height:38px;color:var(--brand-primary);grid-area:icon;justify-content:center;align-self:center;align-items:center;display:inline-flex}.stat-card--accent .stat-card__icon{background:var(--brand-accent-faint);color:var(--brand-accent)}.stat-card--success .stat-card__icon{background:var(--c-success-bg);color:var(--c-success)}.stat-card--warning .stat-card__icon{background:var(--c-warning-bg);color:var(--c-warning)}.stat-card--error .stat-card__icon{background:var(--c-error-bg);color:var(--c-error)}.stat-card--neutral .stat-card__icon{background:var(--brand-surface-sunken);color:var(--brand-text-soft)}.stat-card__label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--brand-text-faint);grid-area:label}.stat-card__value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--brand-text);grid-area:value}.stat-card__hint{font-size:var(--fs-xs);color:var(--brand-text-soft);grid-area:hint;margin-top:2px}.single-select-field{width:100%}.single-select-field .ant-select-selector{border-radius:12px!important;height:46px!important}.single-select-field .ant-select-selection-item,.single-select-field .ant-select-selection-placeholder{align-items:center;min-height:44px;display:flex}.single-select-field__option{align-items:center;gap:8px;display:inline-flex}.single-select-field__option .anticon{color:#5c6b64;font-size:14px}
