body{margin:0;padding:0}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box}:root{--app-bg: #f4f7fb;--app-surface: rgba(255, 255, 255, .9);--app-surface-strong: #ffffff;--app-text: #14213d;--app-muted: #61708a;--app-border: rgba(20, 33, 61, .08);--app-primary: #1746a2;--app-primary-strong: #0f2f6d;--app-accent: #1fb6a6;--app-warning: #f59e0b;--app-danger: #dc2626;--app-success: #16a34a;--app-shadow: 0 18px 48px rgba(15, 47, 109, .08);--app-radius-lg: 24px;--app-radius-md: 18px;--app-radius-sm: 12px;--sidebar-width: 280px;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--app-text);background:radial-gradient(circle at top left,rgba(23,70,162,.12),transparent 28%),radial-gradient(circle at bottom right,rgba(31,182,166,.1),transparent 24%),var(--app-bg)}@keyframes authFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-10px,0)}}@keyframes authPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.06);opacity:.95}}@keyframes authShimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}body{margin:0;min-width:320px;color:var(--app-text);background:radial-gradient(circle at top left,rgba(23,70,162,.12),transparent 28%),radial-gradient(circle at bottom right,rgba(31,182,166,.1),transparent 24%),var(--app-bg)}button{font:inherit}.app-shell{min-height:100vh;background:transparent}.app-shell__main{margin-left:var(--sidebar-width);min-height:100vh;background:transparent}.app-shell__header{position:sticky;top:0;z-index:15;height:auto;min-height:52px;padding:7px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(135deg,#d6e4ffeb,#e9f5fff5);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,70,162,.12);box-shadow:0 10px 24px #1746a214}.app-shell__brand{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.app-shell__title.ant-typography{margin:0;color:var(--app-text);font-weight:800;letter-spacing:-.02em;font-size:16px;line-height:1.05}.app-shell__subtitle.ant-typography{color:var(--app-muted);display:none}.app-shell__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.app-shell__actions .ant-typography{margin:0;color:#113a83!important;font-weight:700;letter-spacing:.01em}.app-shell__content{padding:20px 22px}.page-stack{display:flex;flex-direction:column;gap:16px}.page-card.ant-card,.metric-card.ant-card,.panel-card.ant-card{border:1px solid var(--app-border);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);background:var(--app-surface-strong)}.page-card .ant-card-body,.metric-card .ant-card-body,.panel-card .ant-card-body{padding:18px}.page-section-title.ant-typography,.page-card-title.ant-typography{margin:0;color:var(--app-text);font-weight:750}.page-section-subtitle.ant-typography{color:var(--app-muted)}.hero-card{overflow:hidden;background:radial-gradient(circle at top right,rgba(31,182,166,.25),transparent 32%),linear-gradient(135deg,#10316b,#1746a2 58%,#1b6ca8);color:#fff}.hero-card .ant-card-body{padding:14px 16px}.hero-card__header{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.hero-card__eyebrow.ant-typography,.hero-card__meta.ant-typography{color:#ffffffb8}.hero-card__title.ant-typography{margin:4px 0 0;color:#fff;font-size:clamp(18px,2vw,24px);font-weight:800}.hero-card__description.ant-typography{max-width:720px;color:#ffffffd6;font-size:13px;line-height:1.45}.hero-card__stats{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.hero-stat{min-width:140px;padding:8px 12px;border-radius:12px;background:#ffffff1f;border:1px solid rgba(255,255,255,.12)}.hero-stat__label.ant-typography{display:block;color:#ffffffbd;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.hero-stat__value.ant-typography{display:block;margin-top:2px;color:#fff;font-size:18px;font-weight:800}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar__group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.soft-stat{border-radius:16px;border:1px solid var(--app-border);background:linear-gradient(180deg,#fffffffa,#f5f8fcfa);box-shadow:var(--app-shadow)}.soft-stat .ant-card-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}.soft-stat__label.ant-typography{display:block;color:var(--app-muted);font-size:14px;line-height:1.35}.soft-stat__value.ant-typography{display:block;margin-top:4px;color:var(--app-text);font-size:26px;line-height:1;font-weight:800}.form-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-item{padding:12px 14px;border-radius:14px;background:#f8fbff;border:1px solid rgba(23,70,162,.08)}.detail-item__label.ant-typography{display:block;margin-bottom:6px;color:var(--app-muted);font-size:13px}.detail-item__value.ant-typography{color:var(--app-text);font-size:16px;font-weight:700}.status-strip{display:flex;gap:8px;flex-wrap:wrap}.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.face-image{overflow:hidden}.face-image__preview{position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:16px;background:#eef3f8}.face-image__preview img{width:100%;height:100%;object-fit:cover}.face-image__meta{display:flex;flex-direction:column;gap:8px;margin-top:12px}.table-card .ant-table-wrapper,.table-card .ant-spin-nested-loading,.table-card .ant-spin-container{width:100%}.table-card .ant-table{border-radius:14px;overflow:hidden}.table-card .ant-table-thead>tr>th{background:#eef4fb!important;color:var(--app-text)!important;font-weight:700!important;border-bottom:1px solid rgba(20,33,61,.08)!important}.table-card .ant-table-tbody>tr:hover>td{background:#f5faff!important}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);padding:18px 14px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at top,rgba(31,182,166,.16),transparent 30%),linear-gradient(180deg,#0d2550,#12356f);box-shadow:24px 0 48px #0f2f6d2e;z-index:20}.sidebar__brand{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:16px;background:#ffffff14}.sidebar__brand-title.ant-typography{display:block;color:#fff;font-weight:700}.sidebar__brand-subtitle.ant-typography{color:#ffffffad;font-size:12px}.sidebar__nav{display:flex;flex-direction:column;gap:6px}.sidebar__item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-radius:14px;background:transparent;color:#ffffffc2;cursor:pointer;transition:all .2s ease}.sidebar__item:hover{background:#ffffff14;color:#fff}.sidebar__item--active{background:linear-gradient(135deg,#ffffff2e,#1fb6a638);color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.sidebar__footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}.sidebar__footer-row{display:flex;gap:10px}.sidebar__small-btn,.sidebar__wide-btn{border:0;color:#fff;background:#ffffff14;cursor:pointer;transition:all .2s ease}.sidebar__wide-btn{width:100%;padding:11px 13px;border-radius:12px;text-align:left}.sidebar__small-btn{flex:1;min-height:40px;border-radius:12px}.sidebar__wide-btn:hover,.sidebar__small-btn:hover{background:#ffffff29}.footer-note{padding:18px 4px 4px;text-align:center}.footer-note__text.ant-typography{color:var(--app-muted);font-size:13px}.auth-layout{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(520px,700px) minmax(400px,460px);justify-content:center;align-content:center;background:radial-gradient(circle at top left,rgba(23,70,162,.28),transparent 28%),radial-gradient(circle at 20% 80%,rgba(31,182,166,.22),transparent 24%),radial-gradient(circle at 85% 20%,rgba(245,158,11,.12),transparent 20%),linear-gradient(135deg,#e6efff,#eef7ff 42%,#f7f3ff);overflow:hidden;column-gap:48px;padding:28px 34px}.auth-layout__ambient{position:absolute;border-radius:999px;filter:blur(24px);opacity:.6;animation:authPulse 8s ease-in-out infinite}.auth-layout__ambient--one{width:380px;height:380px;top:-120px;left:-100px;background:#1746a23d}.auth-layout__ambient--two{width:280px;height:280px;right:200px;bottom:-120px;background:#1fb6a638}.auth-layout__hero,.auth-layout__panel{position:relative;z-index:1}.auth-layout__hero{display:flex;align-items:center;padding:30px 12px 30px 18px}.auth-layout__hero-inner{max-width:640px;position:relative;padding:18px 0}.auth-layout__hero-inner:after{content:"";position:absolute;right:-10px;top:10px;width:170px;height:170px;border-radius:36px;background:linear-gradient(135deg,#ffffff8c,#ffffff14),linear-gradient(135deg,#1746a240,#1fb6a62e);box-shadow:0 24px 48px #1746a21f;transform:rotate(14deg);animation:authFloat 6s ease-in-out infinite}.auth-layout__hero-inner:before{content:"";position:absolute;left:-22px;top:32px;bottom:24px;width:6px;border-radius:999px;background:linear-gradient(180deg,#1746a2,#1fb6a6);box-shadow:0 12px 28px #1746a22e}.auth-layout__eyebrow.ant-typography{color:#0f47af;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.auth-layout__hero-title.ant-typography{margin:10px 0 8px;color:#0f2447;font-size:clamp(34px,4vw,52px);line-height:1.05;font-weight:850;max-width:520px}.auth-layout__hero-description.ant-typography{max-width:520px;color:#42526b;font-size:16px;line-height:1.7}.auth-layout__highlights{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auth-layout__highlight-card{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#fffffff5,#f1f8ffd6);border:1px solid rgba(23,70,162,.08);box-shadow:0 18px 34px #0f2f6d14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:authFloat 7s ease-in-out infinite;position:relative;overflow:hidden}.auth-layout__highlight-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(23,70,162,.05),rgba(31,182,166,.04),transparent 70%);pointer-events:none}.auth-layout__highlight-card:nth-child(2){animation-delay:.8s}.auth-layout__highlight-card:nth-child(3){animation-delay:1.6s}.auth-layout__highlight-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;min-width:46px;min-height:46px;border-radius:14px;background:linear-gradient(135deg,#1746a2,#1fb6a6);color:#fff;font-size:17px;line-height:1;font-weight:800;box-shadow:0 12px 20px #1746a22e;text-align:center;letter-spacing:-.02em;overflow:hidden;white-space:nowrap}.auth-layout__highlight-title.ant-typography{display:block;color:var(--app-text);font-weight:700;font-size:16px}.auth-layout__highlight-text.ant-typography{display:block;margin-top:4px;color:#5f6f89;line-height:1.55}.auth-layout__panel{display:flex;align-items:center;justify-content:flex-start;padding:30px 0}.auth-layout__panel-inner{width:100%;max-width:460px;padding:30px;border-radius:26px;background:linear-gradient(180deg,#fffffff7,#ffffffe6);box-shadow:0 28px 60px #0f2f6d24;border:1px solid rgba(23,70,162,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden;margin-left:0}.auth-layout__panel-inner:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#1746a214,#1fb6a60d,#fff0);background-size:200% 200%;animation:authShimmer 8s linear infinite alternate;pointer-events:none}.auth-layout__panel-inner:after{content:"";position:absolute;top:0;left:26px;right:26px;height:4px;border-radius:999px;background:linear-gradient(90deg,#1746a2,#1fb6a6,#f59e0b);opacity:.9}.auth-layout__panel-inner>*{position:relative;z-index:1}.auth-form__heading.ant-typography{margin:0;color:#0f2447;font-weight:800;font-size:24px}.auth-form__description.ant-typography{display:block;margin-top:6px;color:var(--app-muted)}.auth-form__header{margin-bottom:20px}.auth-form__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:#1746a217;color:#1746a2;font-size:12px;font-weight:700;margin-bottom:12px}.auth-form__badge-dot{width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,#1746a2,#1fb6a6);box-shadow:0 0 0 4px #1746a21a}.auth-form__footer{text-align:center;margin-top:10px}.empty-state{padding:48px 24px;text-align:center}.empty-state .ant-typography{color:var(--app-muted)}@media(max-width:1180px){.auth-layout{grid-template-columns:1fr;column-gap:0;justify-content:stretch;align-content:start}.auth-layout__hero{padding:28px 22px 8px}.auth-layout__hero-inner:after{display:none}.auth-layout__hero-inner:before{display:none}.auth-layout__panel{padding:0 16px 20px;justify-content:center}.auth-layout__panel-inner{margin-left:0}.form-grid,.detail-grid,.auth-layout__highlights{grid-template-columns:1fr}}@media(max-width:1024px){.sidebar{position:static;width:100%;min-height:auto;box-shadow:none;border-bottom:1px solid rgba(255,255,255,.08)}.app-shell{display:block}.app-shell__main{margin-left:0}.app-shell__header{min-height:48px;padding:6px 12px}.app-shell__content{padding:16px}}@media(max-width:640px){.hero-card .ant-card-body,.page-card .ant-card-body,.metric-card .ant-card-body,.panel-card .ant-card-body,.auth-layout__panel-inner{padding:16px}.toolbar,.toolbar__group,.hero-card__header,.app-shell__header{align-items:stretch}.app-shell__actions,.toolbar__group{justify-content:stretch}.app-shell__title.ant-typography{font-size:14px}}
