@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ui-font-sans: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ui-navy-950: #062654;--ui-navy-900: #0a3268;--ui-navy-800: #12447d;--ui-canvas: #edf3fa;--ui-surface: #ffffff;--ui-surface-muted: #f7faff;--ui-border: #dce6f0;--ui-border-strong: #c8d6e5;--ui-text: #13243a;--ui-text-muted: #728095;--ui-primary: #10b981;--ui-primary-hover: #079669;--ui-primary-soft: #eafaf4;--ui-control-radius: 8px;--ui-warning: #f5c518;--ui-danger: #d94b4b;--ui-shadow: 0 10px 30px rgb(26 55 91 / 7%);color:var(--ui-text);background:var(--ui-canvas);font-family:var(--ui-font-sans);font-synthesis:none}html,body,#app,.app-frame{font-family:var(--ui-font-sans)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--ui-canvas)}button,input,select,textarea{font:inherit}.app-frame{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.app-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:24px 14px;color:#f7fbff;background:linear-gradient(180deg,var(--ui-navy-950),var(--ui-navy-900));box-shadow:8px 0 24px #0626541a}.app-sidebar nav{min-height:0;overflow-y:auto}.app-brand{display:flex;gap:12px;align-items:center;min-height:48px;margin-bottom:28px;padding:0 8px}.app-brand__mark{width:9px;height:34px;border-radius:8px;background:var(--ui-primary);box-shadow:0 0 0 4px #10b9811f}.app-brand strong,.app-brand span{display:block}.app-brand span{margin-top:3px;color:#a9bdd7;font-size:13px}.nav-item{display:block;width:100%;min-height:40px;margin-bottom:4px;padding:10px 12px;border:0;border-radius:8px;color:#c8d7eb;background:transparent;text-align:left;cursor:pointer;text-decoration:none}.nav-item:hover,.nav-item--active,.nav-item.router-link-exact-active{border-left-color:transparent;color:#fff;background:#ffffff1a;box-shadow:inset 3px 0 0 var(--ui-primary)}.nav-group{margin-bottom:4px}.nav-group__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:10px 12px;border:0;border-radius:8px;color:#c8d7eb;background:transparent;text-align:left;cursor:pointer;font:inherit}.nav-group__toggle:hover{color:#fff;background:#ffffff1a}.nav-group__toggle--open{color:#fff;background:#ffffff0f}.nav-group__chevron{margin-left:8px;font-size:11px;color:#8ba3bf;transition:transform .15s ease}.nav-group__toggle--open .nav-group__chevron{transform:rotate(90deg)}.nav-submenu{padding:2px 0 6px}.nav-subitem{display:block;width:100%;min-height:34px;padding:8px 12px 8px 24px;border-radius:6px;color:#c8d7eb;text-decoration:none;font-size:13px}.nav-subitem:hover,.nav-subitem.router-link-exact-active{color:#fff;background:#ffffff1a;box-shadow:inset 3px 0 0 var(--ui-primary)}.app-main{min-width:0;background:var(--ui-canvas)}.app-code{margin:0;color:var(--ui-primary-hover);font-size:12px;font-weight:700;text-transform:uppercase}.app-status{padding:5px 9px;border:1px solid var(--ui-border-strong);border-radius:8px;color:var(--ui-text-muted);background:var(--ui-surface-muted);font-size:12px}.sidebar-user{flex:0 0 auto;display:grid;gap:9px;margin-top:auto;padding:16px 8px 0;border-top:1px solid rgb(255 255 255 / 12%)}.sidebar-user__identity{display:flex;min-width:0;gap:9px;align-items:center}.sidebar-user__avatar{flex:0 0 auto;display:grid;width:30px;height:30px;border-radius:50%;color:#fff;background:#ffffff24;font-size:12px;font-weight:800;place-items:center}.user-name{overflow:hidden;color:#d9e6f5;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sidebar-language{display:grid;gap:5px;color:#aebfd3;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sidebar-language select{width:100%;min-height:36px;padding:7px 30px 7px 10px;border:1px solid rgb(255 255 255 / 18%);border-radius:8px;color:#f0f5fb;background:#16375d;font:inherit;font-size:12px;font-weight:700;letter-spacing:normal;text-transform:none;cursor:pointer}.sidebar-language select:focus-visible{outline:2px solid #7eb2ea;outline-offset:2px}.sidebar-signout{display:inline-flex;gap:8px;align-items:center;justify-content:flex-start;width:100%;min-height:36px;padding:7px 10px;border:1px solid rgb(255 255 255 / 18%);border-radius:var(--ui-control-radius);color:#d9e6f5;background:#ffffff12;text-align:left;cursor:pointer}.sidebar-signout:before{width:16px;height:16px;flex:0 0 auto;background:currentColor;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 17 5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3Cpath d='M13 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-1'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 17 5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3Cpath d='M13 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-1'/%3E%3C/svg%3E") center / contain no-repeat}.sidebar-signout:hover{color:#fff;background:#ffffff21}.text-button{min-height:34px;padding:5px 9px;border:1px solid var(--ui-border-strong);border-radius:8px;color:var(--ui-navy-900);background:var(--ui-surface);cursor:pointer}.text-button:hover{border-color:#a9bfd5;background:var(--ui-surface-muted)}.app-content{width:100%;max-width:1480px;padding:20px 28px 28px}.app-content h2{margin:0 0 8px;font-size:24px;letter-spacing:0}.app-main .app-content .page-heading,.app-main .app-content>header,.app-main .app-content .passport-form>header{min-height:0;margin-bottom:14px;gap:12px}.app-main .app-content .page-heading h2,.app-main .app-content>header h2,.app-main .app-content .passport-form>header h2{margin:2px 0;font-size:22px;line-height:1.2}.app-main .app-content .page-heading .eyebrow,.app-main .app-content>header .eyebrow,.app-main .app-content .passport-form>header .eyebrow{margin-bottom:2px;font-size:11px}.app-main .app-content .page-heading p:last-child,.app-main .app-content>header p:last-child,.app-main .app-content .passport-form>header p:last-child{margin:3px 0 0;font-size:13px;line-height:1.4}.app-content>p{max-width:720px;margin:0;color:var(--ui-text-muted);line-height:1.6}.app-main .app-content :is(.back-link,.back)[data-tooltip]{position:relative;display:inline-grid;width:34px;height:34px;margin-bottom:12px;padding:0;border:1px solid var(--ui-border-strong);border-radius:8px;color:transparent;background:var(--ui-surface);box-shadow:0 2px 7px #1a375b0d;font-size:0;line-height:1;text-decoration:none;place-items:center}.app-main .app-content :is(.back-link,.back)[data-tooltip]:before{position:absolute;top:50%;left:50%;width:17px;height:17px;background:var(--ui-navy-900);content:"";transform:translate(-50%,-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E") center / contain no-repeat}.app-main .app-content .page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.app-main .app-content .page-toolbar :is(.back-link,.back){flex:0 1 auto;margin:0}.app-main .app-content .page-toolbar__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-left:auto}.app-main .app-content .page-toolbar__action--primary{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:38px;padding:9px 14px;border:0;border-radius:var(--ui-control-radius);color:#fff;background:var(--ui-primary);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.app-main .app-content .page-toolbar__action--primary:hover{background:var(--ui-primary-hover)}.app-main .app-content .page-toolbar__action--primary:disabled{opacity:.55;cursor:not-allowed}.app-main .app-content .page-toolbar__actions>:is(a,button){display:inline-flex;align-items:center;gap:8px;justify-content:center;height:34px;min-height:34px;border-radius:var(--ui-control-radius);padding-top:0;padding-bottom:0;white-space:nowrap}@media(max-width:560px){.app-main .app-content .page-toolbar{align-items:stretch;flex-direction:column}.app-main .app-content .page-toolbar__actions{display:grid;width:100%;margin-left:0}.app-main .app-content .page-toolbar__actions>*{justify-content:center;width:100%}}.app-main .app-content :is(.back-link,.back)[data-tooltip]:after{position:absolute;z-index:50;top:50%;left:calc(100% + 8px);padding:7px 10px;border-radius:7px;color:#fff;background:var(--ui-navy-950);box-shadow:var(--ui-shadow);content:attr(data-tooltip);font-size:12px;font-weight:700;line-height:1.2;opacity:0;pointer-events:none;transform:translate(-4px,-50%);transition:opacity .14s ease,transform .14s ease;white-space:nowrap}.app-main .app-content :is(.back-link,.back)[data-tooltip]:hover{border-color:#9eb4ca;background:var(--ui-primary-soft)}.app-main .app-content :is(.back-link,.back)[data-tooltip]:hover:after,.app-main .app-content :is(.back-link,.back)[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(-50%)}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:32px}.module-tile{position:relative;min-height:126px;padding:22px 20px;overflow:hidden;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}.module-tile__accent{position:absolute;inset:0 auto 0 0;width:4px;background:var(--ui-primary)}.module-tile h3{margin:0 0 10px;font-size:16px;letter-spacing:0}.module-tile p{margin:0;color:var(--ui-text-muted);font-size:13px}.login-screen,.state-screen{display:grid;min-height:100vh;padding:24px;place-items:center;background:radial-gradient(circle at 78% 18%,rgb(16 185 129 / 10%),transparent 28%),linear-gradient(145deg,#e7eff8,#f6f9fd)}.login-panel,.state-panel{width:min(100%,390px);padding:30px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);box-shadow:0 22px 60px #1133581f}.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:36px}.login-brand strong,.login-brand span{display:block}.login-brand span{margin-top:3px;color:var(--ui-text-muted);font-size:13px}.login-panel h1,.state-panel h1{margin:0 0 24px;font-size:24px;letter-spacing:0}.login-panel label{display:block;margin:16px 0 6px;color:#43546a;font-size:13px;font-weight:700}.login-panel input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--ui-border-strong);border-radius:8px;color:var(--ui-text);background:var(--ui-surface)}.login-panel input:focus{border-color:var(--ui-primary);outline:3px solid rgb(16 185 129 / 14%)}.form-error{margin:14px 0 0;color:#a42f22;font-size:13px;line-height:1.4}.primary-button{width:100%;min-height:44px;margin-top:22px;border:0;border-radius:8px;color:#fff;background:var(--ui-primary);font-weight:700;cursor:pointer}.primary-button:disabled{cursor:wait;opacity:.65}.primary-button:hover:not(:disabled){background:var(--ui-primary-hover)}.state-panel{text-align:center}.state-panel--wide{width:min(100%,520px)}.state-panel p{color:#5d6b66;line-height:1.5}.state-loader{display:inline-block;width:28px;height:28px;border:3px solid var(--ui-border);border-top-color:var(--ui-primary);border-radius:50%;animation:state-spin .8s linear infinite}.portal-shell{min-height:100vh;padding:24px;background:linear-gradient(135deg,#ffffffb8,#edf3faeb),var(--ui-canvas)}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1480px;margin:0 auto 28px}.portal-brand{display:flex;min-width:0;gap:12px;align-items:center}.portal-brand strong,.portal-brand span{display:block}.portal-brand strong{color:var(--ui-navy-950)}.portal-brand span{margin-top:3px;color:var(--ui-text-muted);font-size:13px}.portal-userbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.portal-userbar__name{max-width:220px;overflow:hidden;color:var(--ui-navy-900);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.portal-language{display:inline-flex;align-items:center;gap:8px;color:var(--ui-text-muted);font-size:12px;font-weight:800}.portal-language select{min-height:34px;padding:6px 28px 6px 10px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-control-radius);color:var(--ui-text);background:var(--ui-surface);font:inherit;cursor:pointer}.portal-access-count{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid #9ee7cf;border-radius:var(--ui-control-radius);color:#087a57;background:var(--ui-primary-soft);font-size:12px;font-weight:800}.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:14px;max-width:1480px;margin:0 auto}.portal-card{position:relative;display:grid;min-height:178px;align-content:center;justify-items:center;gap:8px;overflow:hidden;padding:22px 18px 18px;border:1px solid var(--ui-border);border-radius:8px;color:var(--ui-text);background:var(--ui-surface);box-shadow:none;text-decoration:none;text-align:center}.portal-card--active{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.portal-card--active:hover,.portal-card--active:focus-visible{border-color:var(--ui-border-strong);box-shadow:0 16px 34px #1a375b1c;transform:translateY(-2px)}.portal-card--disabled{opacity:.48;filter:grayscale(.55)}.portal-card__icon{display:grid;width:76px;height:76px;margin-bottom:6px;color:#4f6177;place-items:center}.portal-card h2{margin:0;color:var(--ui-navy-950);font-size:18px;line-height:1.25;letter-spacing:0}.portal-card p{margin:0;color:var(--ui-text-muted);font-size:11px;line-height:1.35}.portal-instructions{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1480px;margin:18px auto 0;padding:4px 0}.portal-instructions p{max-width:760px;margin:0;color:var(--ui-text-muted);font-size:12px;line-height:1.45;text-align:right}.route-state{max-width:560px;padding:24px 0}.route-state h2{margin:5px 0 10px;font-size:26px;letter-spacing:0}.route-state>p:not(.app-code){color:#64716c;line-height:1.5}.route-state a{display:inline-block;margin-top:10px;color:var(--ui-primary-hover);font-weight:700}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll>table{min-width:600px}.table-scroll .data-table{min-width:600px}.app-content :where(section,.summary-card,.metric-card,.toolbar,.filters-panel,.table-shell,.list-panel,.detail-card,.form-card){border-color:var(--ui-border)!important;border-radius:12px!important;background:var(--ui-surface)!important;box-shadow:var(--ui-shadow)}.app-content :where(table){border-color:var(--ui-border)!important;background:var(--ui-surface)}.app-content :where(th){border-color:var(--ui-border)!important;color:#53647b!important;background:#f5f8fc!important}.app-content :where(td){border-color:#e8eef5!important}.app-content :where(tbody tr:hover){background:#f8fbff}.app-content :where(input,select,textarea){border-color:var(--ui-border-strong)!important;border-radius:var(--ui-control-radius)!important;color:var(--ui-text)!important;background:var(--ui-surface)!important}.app-content :where(input,select,textarea):focus{border-color:var(--ui-primary)!important;outline:3px solid rgb(16 185 129 / 13%)!important}.app-content :where(a){color:var(--ui-navy-800)}.app-content :where(button:not(.danger-button):not(.destructive-button):not([class*=danger]):not([class*=delete]),.primary-action,.author-action){border-radius:var(--ui-control-radius)!important}.app-content :where(button[type=submit],.primary-action,.author-action,.filter-button--active,.pagination-button--active,.page-button--active){border-color:var(--ui-primary)!important;color:#fff!important;background:var(--ui-primary)!important}.app-content :where(button[type=submit],.primary-action,.author-action):hover:not(:disabled){background:var(--ui-primary-hover)!important}.app-content :where(.section-state,.permission-notice,.empty-state,.loading-state){border-radius:8px;color:var(--ui-text-muted)!important;background:var(--ui-surface-muted)!important}.smart-picker-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;padding:24px;background:#051f4385;place-items:center}.smart-picker{display:grid;width:min(720px,100%);max-height:min(680px,90vh);gap:12px;padding:20px;border:1px solid var(--ui-border-strong);border-radius:12px;background:var(--ui-surface);box-shadow:0 24px 60px #051f4340}.smart-picker__header,.smart-picker__footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.smart-picker__header h3{margin:0}.smart-picker__eyebrow{margin:0 0 4px;color:var(--ui-text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.smart-picker__close{padding:2px 10px;border:0;color:var(--ui-text-muted);background:transparent;font-size:28px;cursor:pointer}.smart-picker__search{display:grid;gap:6px;color:#53625d;font-size:13px;font-weight:700}.smart-picker__search input{padding:11px 12px}.smart-picker__state{display:grid;min-height:180px;color:var(--ui-text-muted);place-items:center}.smart-picker__state--error{color:#852d22}.smart-picker__list{display:grid;border:1px solid var(--ui-border);border-radius:12px;overflow-y:auto}.smart-picker__option{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:16px;padding:7px 12px;border:0;border-bottom:1px solid #e1e7e5;color:var(--ui-navy-900);background:var(--ui-surface);text-align:left;cursor:pointer}.smart-picker__option:last-child{border-bottom:0}.smart-picker__option:hover,.smart-picker__option:focus-visible{background:var(--ui-primary-soft)}.smart-picker__actions{display:flex;gap:7px}.smart-picker__actions button,.smart-picker__state button{min-height:34px;padding:7px 11px;border:1px solid var(--ui-border-strong);border-radius:var(--ui-control-radius);color:var(--ui-navy-800);background:var(--ui-surface);cursor:pointer}.smart-picker__actions button:disabled{color:#9aa7a3;background:#f3f6f5;cursor:default}.app-content :where(.eyebrow,dt,.muted,small,.section-heading p){color:var(--ui-text-muted)}.app-content :where(.readiness--ready,.status--active,.badge--success,.consistency-status--ok,.consistency-ok){border-color:#8bdcc1!important;color:#087a57!important;background:var(--ui-primary-soft)!important}.app-content :where(.pagination-controls,.listing-pagination){border-color:var(--ui-border)!important;background:var(--ui-surface)!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgb(16 185 129 / 22%);outline-offset:2px}@keyframes state-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.portal-shell{padding:18px}.portal-header{align-items:stretch;flex-direction:column}.portal-userbar{justify-content:flex-start}.portal-instructions{align-items:flex-start;flex-direction:column}.portal-instructions p{text-align:left}}:root{--app-safe-top: env(safe-area-inset-top, 0px);--app-safe-right: env(safe-area-inset-right, 0px);--app-safe-bottom: env(safe-area-inset-bottom, 0px);--app-safe-left: env(safe-area-inset-left, 0px);--app-topbar-height: 56px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body,.app-frame{min-height:100vh;min-height:100dvh}.app-main,.app-content,.app-sidebar,.app-topbar,.login-screen,.login-panel,.portal-shell,.portal-header,.picker-modal,.modal{min-width:0}.app-content>*{max-width:100%;min-width:0}img,svg,video,canvas,iframe{max-width:100%}.app-content :where(td,th,dd,dt,p,h1,h2,h3,h4,span){overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.app-content :where(.cell-code,.cell-name,.mono,code,pre){overflow-wrap:break-word;word-break:normal}.app-content{width:100%;padding:clamp(14px,1.5vw,28px);padding-right:calc(clamp(14px,1.5vw,28px) + var(--app-safe-right));padding-bottom:calc(clamp(16px,1.5vw,28px) + var(--app-safe-bottom));padding-left:calc(clamp(14px,1.5vw,28px) + var(--app-safe-left))}.app-main .app-content :is(.page-heading h2,>header h2){font-size:clamp(19px,2.1vw,22px)}.login-screen{display:flex;min-height:100vh;min-height:100dvh;padding:clamp(16px,4vw,40px);padding-bottom:calc(clamp(16px,4vw,40px) + var(--app-safe-bottom));align-items:center;justify-content:center}.login-panel{width:100%;max-width:440px}button,a,label,select,summary,[role=button],.nav-item,.nav-subitem,.picker-option,.text-button,.link-action,.page-button,.secondary-button,.close-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(pointer:coarse){:where(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:16px}:where(button,.btn-primary,.btn-secondary,.text-button,.link-action,.page-button,.secondary-button,.nav-item,.nav-subitem,.sidebar-signout,input,select,textarea){min-height:44px}.nav-subitem{padding-top:12px;padding-bottom:12px}:where(.pagination,.pagination-controls,.listing-pagination) :where(button,a){min-width:44px}}:where(.toolbar,.filters,.filter-bar,.filter-row,.list-toolbar,.table-toolbar,.page-actions,.summary-row,.stat-row,.legend,.legend-row,.chip-row,.tabs,.pagination,.pagination-controls,.listing-pagination,.modal-actions,.footer-actions,.form-actions){flex-wrap:wrap;row-gap:8px}:where(.table-shell,.table-scroll,.table-wrapper,.table-wrap,.data-table-shell,.scroll-shell,.ledger-shell,.picker-list){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}:where(.search-input,.filter-select,.date-input,.text-input){max-width:100%}@media(max-width:1120px){.app-content{padding:18px;padding-bottom:calc(24px + var(--app-safe-bottom))}}.app-topbar,.app-nav-backdrop{display:none}@media(max-width:900px){body.app-has-topbar .app-frame{grid-template-columns:minmax(0,1fr)}body.app-has-topbar .app-sidebar{position:fixed;z-index:70;top:0;bottom:0;left:0;width:min(84vw,320px);height:100vh;height:100dvh;padding:calc(18px + var(--app-safe-top)) 14px calc(18px + var(--app-safe-bottom));overflow-y:auto;overscroll-behavior:contain;transform:translate(-102%);transition:transform .22s ease}body.app-has-topbar.app-nav-open .app-sidebar{transform:none}body.app-has-topbar .app-sidebar nav{display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}body.app-has-topbar :where(.nav-item,.nav-group,.nav-group__toggle){width:100%;min-width:0;margin-bottom:4px}body.app-has-topbar :where(.nav-item,.nav-group__toggle){border-bottom:0;border-left:3px solid transparent}body.app-has-topbar :where(.nav-item--active,.nav-item.router-link-exact-active,.nav-group__toggle--open){border-bottom-color:transparent;border-left-color:var(--ui-primary);box-shadow:none}body.app-has-topbar .nav-submenu{position:static;min-width:0;background:transparent;box-shadow:none}body.app-has-topbar .app-nav-backdrop{display:block;position:fixed;z-index:65;top:0;right:0;bottom:0;left:0;background:#0626548c;opacity:0;pointer-events:none;transition:opacity .2s ease}body.app-has-topbar.app-nav-open .app-nav-backdrop{opacity:1;pointer-events:auto}body.app-has-topbar.app-nav-open{overflow:hidden}body.app-has-topbar .app-topbar{display:flex;position:sticky;z-index:60;top:0;gap:10px;align-items:center;min-height:var(--app-topbar-height);padding:6px 12px;padding-top:calc(6px + var(--app-safe-top));padding-right:calc(12px + var(--app-safe-right));padding-left:calc(12px + var(--app-safe-left));color:#f7fbff;background:linear-gradient(180deg,var(--ui-navy-950),var(--ui-navy-900));box-shadow:0 6px 18px #06265429}.app-topbar__menu{display:inline-grid;flex:0 0 auto;width:44px;height:44px;place-items:center;border:1px solid rgb(255 255 255 / 22%);border-radius:10px;color:#fff;background:#ffffff14;cursor:pointer}.app-topbar__menu:before{width:20px;height:20px;background:currentColor;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M4 18h16'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M4 18h16'/%3E%3C/svg%3E") center / contain no-repeat}.app-topbar__label{display:flex;flex-direction:column;min-width:0}.app-topbar__title{overflow:hidden;color:#fff;font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.app-topbar__subtitle{overflow:hidden;color:#a9bdd7;font-size:11px;font-weight:700;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}}@media(max-width:760px){:where(.form-grid,.form-grid--tight,.field-grid,.panel-grid,.detail-grid,.details-grid,.two-column,.two-columns,.split-grid,.modal-grid,.form-row,.input-row,.kv-grid){grid-template-columns:minmax(0,1fr)!important}:where(.metric-grid,.stat-grid,.stats-grid,.kpi-grid,.summary-grid,.summary-cards,.card-grid,.tile-grid){grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}:where(.toolbar,.filters,.filter-bar,.filter-row,.list-toolbar,.table-toolbar,.page-actions,.summary-row,.stat-row){align-items:stretch}:where(.toolbar,.filters,.filter-bar,.filter-row,.list-toolbar,.table-toolbar)>*{flex:1 1 auto;min-width:0}:where(.search-input,.filter-select,.date-input,.text-input,.toolbar input,.filters input,.filters select){width:100%}:where(.table-shell,.table-scroll,.table-wrapper,.table-wrap,.data-table-shell)>:where(table,.data-table){min-width:min(640px,100%)}.modal-backdrop{padding:0;align-items:stretch}:where(.picker-modal,.modal,.dialog,.dialog-panel,.form-modal){display:flex!important;flex-direction:column;width:100%!important;max-width:none!important;height:100vh!important;height:100dvh!important;max-height:none!important;border-radius:0!important}:where(.picker-modal,.modal,.dialog,.dialog-panel,.form-modal)>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}:where(.picker-list,.modal-body,.dialog-body){flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto}:where(.modal-actions,.footer-actions,.form-actions,.picker-actions){position:sticky;bottom:0;padding-bottom:calc(10px + var(--app-safe-bottom))!important;background:var(--ui-surface);box-shadow:0 -6px 16px #1a375b0f}:where(.close-button,.modal-close){width:44px;height:44px}:where(.portal-grid,.module-grid,.app-grid){grid-template-columns:minmax(0,1fr)!important}.portal-shell{padding:16px;padding-bottom:calc(24px + var(--app-safe-bottom))}}@media(max-height:560px)and (orientation:landscape){:where(.picker-modal,.modal,.dialog,.dialog-panel,.form-modal){height:auto!important;max-height:calc(100vh - 24px)!important;max-height:calc(100dvh - 24px)!important}}@media(max-width:400px){.app-content{padding:12px;padding-bottom:calc(18px + var(--app-safe-bottom))}:where(.metric-grid,.stat-grid,.stats-grid,.kpi-grid,.summary-grid,.summary-cards,.card-grid,.tile-grid){grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}:where(.data-table,table){font-size:13px}}@media(prefers-reduced-motion:reduce){:where(.app-sidebar,.app-nav-backdrop,.modal-backdrop,.modal,.picker-modal){transition:none!important}}:root{--packing-accent: #1f6f5c;--packing-accent-soft: #e7f1ed;--packing-ink: #1d2521;--packing-muted: #5c6a64;--packing-line: #d6ddd9;--packing-danger: #a03434;--packing-warning: #8a5a12}body{-webkit-tap-highlight-color:transparent}.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0 18px}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.btn-primary{border:0;color:#fff;background:var(--packing-accent)}.btn-primary:hover:not(:disabled){background:#185a4b}.btn-primary:disabled,.btn-secondary:disabled{opacity:.55;cursor:default}.btn-secondary{border:1px solid #c3cdc6;color:#33433b;background:#fff}.btn-secondary:hover:not(:disabled){background:#f2f5f2}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.field{display:grid;gap:6px;min-width:0}.field label{color:#4a5a53;font-size:13px;font-weight:700}.field small{color:var(--packing-muted);font-size:12px;font-weight:400}.field input,.field select,.field textarea{padding:9px 12px;border:1px solid #c9d2cc;border-radius:8px;font:inherit;font-size:13px;background:#fff;min-width:0}.data-table{width:100%;border-collapse:collapse;border:1px solid var(--packing-line);border-radius:10px;overflow:hidden;background:#fff;font-size:13px}.data-table th{padding:10px 12px;background:#f2f5f2;color:#4a5a53;font-size:12px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.02em}.data-table td{padding:10px 12px;border-top:1px solid #e6ebe7;vertical-align:top}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#f7faf6}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.state-message{display:grid;gap:12px;place-items:center;padding:48px 20px;color:var(--packing-muted);text-align:center}.state-message p{margin:0}.state-message.error{color:var(--packing-danger)}.error-inline{color:var(--packing-danger);font-size:13px;font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;padding:20px;background:#061c1073}.modal{display:grid;width:min(520px,100%);gap:14px;padding:20px;border:1px solid #c9d2cc;border-radius:12px;background:#fff}.modal h3{margin:0;font-size:16px;font-weight:700;color:var(--packing-ink)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.packing-scan-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:2px solid var(--packing-accent);border-radius:10px;background:var(--packing-accent-soft)}.packing-scan-bar label{font-weight:700;color:var(--packing-ink)}.packing-scan-bar input{flex:1 1 240px;min-height:48px;font-size:17px;letter-spacing:.04em;text-transform:uppercase}.packing-status{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 14px;border:1px solid var(--packing-line);border-radius:10px;background:#fff;font-size:13px;color:var(--packing-muted)}.packing-status strong{color:var(--packing-ink)}.packing-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--packing-line);background:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--packing-muted);white-space:nowrap}.packing-chip--ok{border-color:#9dc4b6;color:var(--packing-accent);background:var(--packing-accent-soft)}.packing-chip--warn{border-color:#e0c48e;color:var(--packing-warning);background:#fdf6e7}.packing-chip--danger{border-color:#d9a5a5;color:var(--packing-danger);background:#fbeeee}.packing-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}.packing-panel{border:1px solid var(--packing-line);border-radius:12px;background:#fff;padding:14px 16px;min-width:0}.packing-panel h3{margin:0 0 10px;font-size:15px;color:var(--packing-ink)}.packing-panel h4{margin:14px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--packing-muted)}.packing-progress{height:8px;border-radius:999px;background:#e8edea;overflow:hidden}.packing-progress>span{display:block;height:100%;background:var(--packing-accent);border-radius:999px;transition:width .16s linear}.packing-actions{display:flex;flex-wrap:wrap;gap:8px}.packing-actions button,.packing-actions a{inline-size:auto}.packing-quantity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.packing-quantity input{min-height:56px;font-size:26px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.packing-quantity .packing-actions{grid-column:1 / -1}.packing-steppers{display:flex;gap:6px;flex-wrap:wrap}.packing-steppers button{min-height:48px;min-width:56px;font-size:15px;font-weight:700;border:1px solid var(--packing-line);background:#fff;border-radius:8px;cursor:pointer}.packing-steppers button:hover{border-color:var(--packing-accent);color:var(--packing-accent)}.packing-content-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}.packing-content-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--packing-line);border-radius:10px;background:#fff;cursor:pointer;min-height:56px}.packing-content-row--selected{border-color:var(--packing-accent);background:var(--packing-accent-soft)}.packing-content-row--disabled{cursor:not-allowed;opacity:.6}.packing-content-row__qty{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.packing-content-row__meta{display:block;font-size:12px;color:var(--packing-muted)}.packing-events{display:grid;gap:6px;padding:0;margin:0;list-style:none;max-height:320px;overflow:auto}.packing-event{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:8px 10px;border-bottom:1px solid var(--packing-line);font-size:13px}.packing-event:last-child{border-bottom:0}.packing-event__time{color:var(--packing-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.packing-checklist{display:grid;gap:6px;padding:0;margin:0 0 10px;list-style:none}.packing-checklist li{display:flex;gap:8px;align-items:flex-start;font-size:13px}.packing-checklist li[data-ok=true]{color:var(--packing-accent)}.packing-checklist li[data-ok=false]{color:var(--packing-danger)}.packing-banner{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 14px;border-radius:10px;border:1px solid var(--packing-line);background:#f7f9f8;font-size:13px}.packing-banner--warn{border-color:#e0c48e;background:#fdf6e7;color:var(--packing-warning)}.packing-banner--ok{border-color:#9dc4b6;background:var(--packing-accent-soft);color:var(--packing-accent)}.packing-banner--danger{border-color:#d9a5a5;background:#fbeeee;color:var(--packing-danger)}.packing-label-preview{display:grid;gap:4px;padding:12px;border:1px dashed var(--packing-line);border-radius:10px;font-family:Courier New,monospace;font-size:12px;background:#fbfcfb;overflow-wrap:anywhere}.packing-label-preview svg{width:100%;height:auto}.packing-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.packing-tile{display:grid;gap:6px;padding:14px;border:1px solid var(--packing-line);border-radius:12px;background:#fff;text-align:start;cursor:pointer}.packing-tile:hover,.packing-tile:focus-visible{border-color:var(--packing-accent)}.packing-tile strong{font-size:15px}.packing-tile small{color:var(--packing-muted)}.packing-empty{padding:24px;text-align:center;color:var(--packing-muted);border:1px dashed var(--packing-line);border-radius:12px}.packing-outbox-row{display:grid;gap:4px;padding:12px;border:1px solid var(--packing-line);border-radius:10px;background:#fff}.packing-outbox-row--attention{border-color:#e0c48e;background:#fdf6e7}.packing-inline-toggle,.packing-sound-toggle{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;border:1px solid var(--packing-line);border-radius:8px;background:#fff;cursor:pointer;font-size:13px}@media(max-width:1024px){.packing-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.packing-panel{padding:12px}.packing-quantity{grid-template-columns:minmax(0,1fr)}.packing-quantity input{font-size:32px;min-height:64px}.packing-actions button{flex:1 1 140px;min-height:48px}.packing-content-row{grid-template-columns:auto minmax(0,1fr)}.packing-content-row__qty{grid-column:2}}
