@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}.label-bold{font-weight:700}body{margin:0;padding:0;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-root{--font-ui: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--bg-main: #f4f7fc;--bg-ambient-a: rgba(19, 98, 255, .14);--bg-ambient-b: rgba(16, 185, 129, .12);--surface-bg: rgba(255, 255, 255, .78);--surface-border: rgba(15, 23, 42, .1);--surface-shadow: 0 22px 48px rgba(15, 23, 42, .12);--header-bg: rgba(255, 255, 255, .78);--header-border: rgba(15, 23, 42, .1);--title-color: #0f172a;--subtle-text: #475569;--muted-surface: rgba(15, 23, 42, .04);--muted-border: rgba(15, 23, 42, .1);--strong-accent: #1362ff;--dash-bg: #f4f7fc;--dash-card-bg: rgba(255, 255, 255, .85);--dash-card-border: rgba(15, 23, 42, .08);--dash-stat-title: #64748b;--dash-stat-value: #0f172a;--dash-chart-grid: rgba(15, 23, 42, .08);--dash-chart-text: #64748b;--dash-table-header-bg: rgba(15, 23, 42, .04);--dash-table-row-hover: rgba(19, 98, 255, .05);min-height:100vh;font-family:var(--font-ui),sans-serif;background:radial-gradient(900px circle at 0% -18%,var(--bg-ambient-a),transparent 54%),radial-gradient(760px circle at 108% 105%,var(--bg-ambient-b),transparent 52%),var(--bg-main)}html,body{transition:background-color .25s ease}body.theme-light-bg{background-color:#f4f7fc}body.theme-dark-bg{background-color:#050b16;color-scheme:dark}.app-root.theme-dark{--bg-main: #050b16;--bg-ambient-a: rgba(30, 64, 175, .36);--bg-ambient-b: rgba(13, 148, 136, .24);--surface-bg: rgba(10, 18, 34, .72);--surface-border: rgba(148, 163, 184, .18);--surface-shadow: 0 28px 56px rgba(2, 8, 19, .55);--header-bg: rgba(8, 15, 30, .78);--header-border: rgba(148, 163, 184, .2);--title-color: #e2e8f0;--subtle-text: #94a3b8;--muted-surface: rgba(148, 163, 184, .08);--muted-border: rgba(148, 163, 184, .24);--strong-accent: #4f8bff;--dash-bg: #050b16;--dash-card-bg: #111b2d;--dash-card-border: #1e293b;--dash-stat-title: #94a3b8;--dash-stat-value: #f8fafc;--dash-chart-grid: #1e293b;--dash-chart-text: #94a3b8;--dash-table-header-bg: #1e293b;--dash-table-row-hover: #1e293b}.app-layout.ant-layout{min-height:100vh;background:transparent}.app-header.ant-layout-header{height:auto;min-height:68px;padding:0 20px;line-height:1;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--header-border);background:var(--header-bg)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 0}.app-title.ant-typography,.app-title{margin:0!important;color:var(--title-color)!important;letter-spacing:-.015em}.app-user-greeting{color:var(--subtle-text);font-weight:500}.app-content.ant-layout-content,.app-content{padding:clamp(14px,2vw,24px)}.app-page-width{width:min(1240px,100%);margin:0 auto}.app-surface{border:1px solid var(--surface-border);border-radius:20px;padding:clamp(14px,2vw,24px);background:var(--surface-bg);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}.app-section-title{margin:0 0 12px;color:var(--title-color);font-size:28px;letter-spacing:-.015em}.app-muted-box{margin-bottom:24px;padding:16px;border-radius:12px;border:1px solid var(--muted-border);background:var(--muted-surface)}.app-muted-title{margin:0 0 14px;color:var(--subtle-text)}.app-total-line{text-align:right;font-size:16px;font-weight:700;color:var(--title-color)}.app-empty-note{color:var(--subtle-text);font-style:italic}.app-inline-end{display:flex;justify-content:flex-end}.app-theme-switch.ant-switch{background:color-mix(in srgb,var(--strong-accent) 42%,#94a3b8)}.app-menu-wrap{margin-right:12px}.app-root .ant-card,.app-root .ant-table,.app-root .ant-picker,.app-root .ant-select-dropdown,.app-root .ant-modal-content,.app-root .ant-input,.app-root .ant-input-affix-wrapper,.app-root .ant-input-number,.app-root .ant-select-selector,.app-root .ant-statistic,.app-root .ant-descriptions,.app-root .ant-popover-inner,.app-root .ant-dropdown-menu{border-radius:12px}.app-root .ant-btn{border-radius:20px;corner-shape:squircle}.app-root .ant-table-wrapper .ant-table{background:transparent}.app-root .ant-table-thead>tr>th{background:color-mix(in srgb,var(--surface-bg) 72%,transparent);color:var(--title-color);border-bottom-color:var(--surface-border);font-weight:600}.app-root.theme-dark .ant-table-thead>tr>th{background:transparent}.app-root .ant-table-tbody>tr>td,.app-root .ant-table tfoot>tr>td{border-bottom-color:var(--surface-border)}.app-root .ant-table-tbody>tr:hover>td{background:color-mix(in srgb,var(--strong-accent) 10%,transparent)}.app-root .ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-disabled){background:linear-gradient(120deg,#1362ff,#0f4fd4);border-color:transparent;box-shadow:0 10px 24px #1362ff40}.app-root.theme-light .ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover,.app-root.theme-light .ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):focus,.app-root.theme-light .ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):focus-visible{background:linear-gradient(120deg,#2a71ff,#1556dc);border-color:transparent;box-shadow:0 10px 24px #1362ff52}.app-root.theme-light .ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):active{background:linear-gradient(120deg,#0f58eb,#0d47c2);border-color:transparent}.app-root.theme-dark .ant-btn.ant-btn-primary:not(:disabled):not(.ant-btn-disabled){background:linear-gradient(120deg,#2563eb,#1d4ed8);box-shadow:0 10px 24px #2563eb61}.app-root .ant-btn{transition:box-shadow .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease}.app-root .create-submit-btn.ant-btn:disabled,.app-root .create-submit-btn.ant-btn[disabled],.app-root .create-submit-btn.ant-btn.ant-btn-disabled{transition:none;animation:none;transform:none}.app-root .ant-form-item-label>label{color:var(--subtle-text);font-weight:600}@media(max-width:768px){.app-header.ant-layout-header{padding:0 12px}.app-surface{border-radius:16px;padding:14px}.app-section-title{font-size:24px}}.app-root .app-table-resizable-header{position:relative}.app-root .app-table-resizable-header-inner{position:relative;display:inline-flex;align-items:center;width:100%;min-height:20px;padding-right:10px}.app-root .app-table-resize-handle{position:absolute;top:-6px;right:-6px;width:10px;height:calc(100% + 12px);cursor:col-resize;z-index:2}.app-root .app-table-resizable-header:hover .app-table-resize-handle{background:color-mix(in srgb,var(--strong-accent) 28%,transparent)}.app-root .app-table-data-cell{vertical-align:top}.app-root .app-table-text-cell{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;white-space:pre-line;word-break:break-word}body.theme-dark-bg input:-webkit-autofill,body.theme-dark-bg input:-webkit-autofill:hover,body.theme-dark-bg input:-webkit-autofill:focus,body.theme-dark-bg input:-webkit-autofill:active,body.theme-dark-bg textarea:-webkit-autofill,body.theme-dark-bg textarea:-webkit-autofill:hover,body.theme-dark-bg textarea:-webkit-autofill:focus,body.theme-dark-bg textarea:-webkit-autofill:active,body.theme-dark-bg input:-internal-autofill-selected{-webkit-text-fill-color:var(--title-color)!important;-webkit-box-shadow:0 0 0px 1000px #141c2f inset!important;box-shadow:0 0 0 1000px #141c2f inset!important;background-color:transparent!important;background-image:none!important;transition:background-color 5000s ease-in-out 0s!important}@media(max-width:576px){.hidden-xs{display:none!important}}@media(max-width:768px){.archive-header{flex-direction:column;align-items:stretch!important;gap:16px}.archive-actions{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.archive-actions .ant-btn{flex:1;min-width:120px}.calendar-section{padding:8px!important}.mobile-hide{display:none!important}.ant-table-wrapper{overflow-x:auto}}@media(max-width:480px){.archive-header h2{font-size:1.25rem;margin-bottom:0}.archive-actions{flex-direction:column}.archive-actions .ant-btn{width:100%}}.production-label{display:block;font-weight:700;min-height:3.5em;display:flex;align-items:flex-end;margin-bottom:8px}.production-label .short-text{display:none}@media(max-width:1200px){.production-label .full-text{display:none}.production-label .short-text{display:inline}}.login-page{--font-ui: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--bg-main: #f3f6fb;--bg-ambient-a: rgba(19, 98, 255, .18);--bg-ambient-b: rgba(20, 184, 166, .14);--panel-bg: rgba(255, 255, 255, .74);--panel-border: rgba(15, 23, 42, .08);--panel-shadow: 0 26px 56px rgba(15, 23, 42, .16);--text-main: #0f172a;--text-soft: #4b5563;--text-muted: #64748b;--input-bg: rgba(255, 255, 255, .9);--input-border: #d6dfeb;--input-focus: #1362ff;--button-bg: linear-gradient(120deg, #1362ff 0%, #0f4fd4 100%);--button-shadow: 0 12px 28px rgba(19, 98, 255, .34);position:fixed;inset:0;overflow:auto;display:grid;place-items:center;padding:clamp(16px,3vw,32px);background:radial-gradient(900px circle at 0% -10%,var(--bg-ambient-a),transparent 56%),radial-gradient(800px circle at 110% 100%,var(--bg-ambient-b),transparent 52%),var(--bg-main);font-family:var(--font-ui)}.login-page:before,.login-page:after{content:"";position:absolute;border-radius:999px;filter:blur(70px);pointer-events:none}.login-page:before{width:320px;height:320px;left:-100px;top:14%;background:#2563eb47}.login-page:after{width:300px;height:300px;right:-80px;bottom:8%;background:#2dd4bf38}.login-page.dark{--bg-main: #050a14;--bg-ambient-a: rgba(30, 64, 175, .4);--bg-ambient-b: rgba(15, 118, 110, .28);--panel-bg: rgba(8, 15, 29, .7);--panel-border: rgba(148, 163, 184, .16);--panel-shadow: 0 30px 60px rgba(1, 4, 10, .55);--text-main: #e2e8f0;--text-soft: #cbd5e1;--text-muted: #94a3b8;--input-bg: rgba(15, 23, 42, .72);--input-border: rgba(148, 163, 184, .3);--input-focus: #4f8bff;--button-bg: linear-gradient(120deg, #2563eb 0%, #1d4ed8 100%);--button-shadow: 0 12px 28px rgba(37, 99, 235, .42)}.login-shell{position:relative;z-index:1;width:min(520px,100%);border-radius:28px;border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--panel-bg);display:block;overflow:hidden;animation:login-rise .42s ease}.login-brand{padding:clamp(28px,4vw,44px);border-right:1px solid var(--panel-border);display:flex;flex-direction:column;justify-content:space-between;gap:32px;background:linear-gradient(145deg,rgba(19,98,255,.08),transparent 55%)}.login-brand__title{margin:0;color:var(--text-main);font-size:clamp(30px,4vw,44px);line-height:1.05;letter-spacing:-.02em}.login-brand__subtitle{margin:14px 0 0;color:var(--text-soft);max-width:28ch;font-size:15px}.login-brand__footer{color:var(--text-muted);font-size:13px}.login-card{margin:0;border:0;box-shadow:none;background:transparent;padding:clamp(22px,3vw,36px)!important}.login-header{margin-bottom:22px;text-align:left}.login-title.ant-typography{margin:0;color:var(--text-main);font-size:38px;letter-spacing:-.02em}.login-subtitle.ant-typography{margin-top:8px;color:var(--text-soft);font-size:15px}.login-form .ant-form-item{margin-bottom:18px}.login-form .ant-input-affix-wrapper,.login-form .ant-input-password{background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;height:48px;transition:border-color .2s ease,box-shadow .2s ease}.login-form .ant-input-affix-wrapper:hover,.login-form .ant-input-password:hover{border-color:var(--input-focus)}.login-form .ant-input-affix-wrapper:focus,.login-form .ant-input-affix-wrapper-focused,.login-form .ant-input-password:focus,.login-form .ant-input-password-focused{border-color:var(--input-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--input-focus) 24%,transparent)}.login-form .ant-input,.login-form .ant-input-password input,.login-form .ant-input-prefix,.login-form .ant-input-suffix{color:var(--text-main)}.login-form .ant-input-affix-wrapper .ant-input,.login-form .ant-input-password .ant-input,.login-form .ant-input-affix-wrapper input{background:transparent!important}.login-form .ant-input:-webkit-autofill,.login-form .ant-input:-webkit-autofill:hover,.login-form .ant-input:-webkit-autofill:focus,.login-form .ant-input-password input:-webkit-autofill,.login-form .ant-input-password input:-webkit-autofill:hover,.login-form .ant-input-password input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px transparent inset;box-shadow:0 0 0 1000px transparent inset;transition:background-color 99999s ease-out 0s}.login-form .ant-input::placeholder,.login-form .ant-input-password input::placeholder{color:var(--text-muted)}.login-submit.ant-btn{margin-top:4px;height:46px;border:0;border-radius:12px;font-weight:600;font-size:17px;letter-spacing:.01em;background:var(--button-bg);box-shadow:var(--button-shadow)}.login-submit.ant-btn:hover,.login-submit.ant-btn:focus{filter:brightness(1.04);transform:translateY(-1px)}@media(max-width:900px){.login-shell{max-width:480px}.login-brand{display:none}.login-title.ant-typography{font-size:34px}}@media(max-width:520px){.login-page{padding:12px}.login-shell{border-radius:20px}.login-card{padding:20px!important}.login-title.ant-typography{font-size:30px}}@keyframes login-rise{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app-layout.dashboard-container,.dashboard-container .app-content{background-color:var(--dash-bg)!important}.app-card.dash-card{background-color:var(--dash-card-bg)!important;border:1px solid var(--dash-card-border)!important;border-radius:12px!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-card.dash-card .ant-card-head{border-bottom:1px solid var(--dash-card-border)!important;color:var(--dash-stat-title)!important}.app-card.dash-card .ant-card-head-title,.app-card.dash-card .ant-statistic-title{color:var(--dash-stat-title)!important}.app-card.dash-card .ant-statistic-content{color:var(--dash-stat-value)!important}.app-card.dash-card .text-secondary{color:var(--dash-stat-title)!important;font-size:12px}.app-card.dash-card .ant-statistic-suffix{color:var(--dash-stat-title)!important}.highlight-card{transition:transform .2s ease,box-shadow .2s ease}.theme-dark .highlight-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0006}.theme-light .highlight-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0f172a1f}.app-table{width:100%;border-collapse:collapse}.app-table th{text-align:left;padding:12px;background-color:var(--dash-table-header-bg);color:var(--dash-stat-title);font-size:12px;border-bottom:1px solid var(--dash-card-border)}.app-table td{padding:12px;color:var(--dash-stat-value);border-bottom:1px solid var(--dash-card-border);font-size:13px}.app-table tr:hover{background-color:var(--dash-table-row-hover)}.table-responsive{overflow-x:auto}.dashboard-size-table-wrap{max-width:520px}.dashboard-size-table-wrap--full{max-width:none}.dashboard-size-table td{padding:14px 16px;font-size:15px}.dashboard-size-table .dashboard-size-table__size{width:50%;font-weight:700;text-align:right}.dashboard-size-table .dashboard-size-table__volume{white-space:nowrap;text-align:left}.dashboard-size-table .dashboard-size-table__unit{color:var(--dash-stat-title)}.dashboard-size-table .dashboard-size-table__total .dashboard-size-table__size{font-weight:800}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--dash-chart-grid)}.recharts-text{fill:var(--dash-chart-text)!important}@media(max-width:576px){.app-table th,.app-table td{padding:8px 4px;font-size:11px}.dashboard-size-table td{padding:12px;font-size:13px}}.custom-loader-container{display:flex;align-items:center;justify-content:center;padding:20px}.custom-loader-logo{display:block;animation:rotate-accelerate 1.2s cubic-bezier(.5,0,1,.5) infinite;will-change:transform}@keyframes rotate-accelerate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
