:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17231c;background:#f2f4ef;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% 5%,rgba(211,232,207,.75),transparent 28rem),#f2f4ef}button,input{font:inherit}.auth-loading{display:grid;place-items:center;align-content:center;gap:18px;min-height:100vh;color:#587064}.login-shell{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(440px,.92fr);min-height:100vh;background:#f2f4ef}.login-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,5vw,76px);color:#ecf5ed;background:#143e2b}.login-story:before,.login-story:after{position:absolute;content:"";border:1px solid rgba(203,226,207,.14);border-radius:50%;pointer-events:none}.login-story:before{width:560px;height:560px;right:-310px;top:-170px}.login-story:after{width:380px;height:380px;right:-220px;top:-80px}.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:16px}.login-brand-logo{display:grid;place-items:center;width:96px;height:62px;padding:8px 10px;background:#eaf3e9;border-radius:15px;overflow:hidden}.login-brand-logo img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.login-brand .eyebrow{color:#98b9a1}.login-brand strong{font-size:1.05rem}.login-message{position:relative;z-index:1;width:min(100%,590px);padding:clamp(56px,9vh,104px) 0}.login-message .eyebrow{color:#98b9a1}.login-message h1{max-width:560px;margin:14px 0 30px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.8rem,5.2vw,6.1rem);font-weight:500;line-height:.92;letter-spacing:-.058em;text-wrap:balance}.login-message>p:last-child{max-width:470px;margin-bottom:0;color:#b9cfc0;font-size:1.05rem;line-height:1.65}.login-footnote{position:relative;z-index:1;display:flex;gap:18px;align-items:center;width:min(100%,510px);padding-top:24px;border-top:1px solid rgba(220,238,223,.18)}.login-footnote span{color:#81a88d;font-family:Georgia,serif;font-size:1.9rem}.login-footnote p{max-width:380px;margin:0;color:#b9cfc0;line-height:1.5}.login-access{display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 88% 8%,rgba(204,229,203,.75),transparent 25rem),#f2f4ef}.login-card{width:min(100%,440px)}.login-card-heading{position:relative;margin-bottom:38px}.login-card-heading h2{margin:8px 0 10px;color:#14231a;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,4vw,3.5rem);font-weight:500;letter-spacing:-.045em}.login-card-heading>p:last-child{color:#637269}.login-lock{position:absolute;top:-8px;right:0;display:grid;place-items:center;width:46px;height:46px;color:#245f3e;background:#e2eee2;border:1px solid #cadccb;border-radius:50%;font-size:1.25rem;transform:rotate(-45deg)}.login-card .field{margin-bottom:18px}.login-card .field input{padding:16px 18px;background:#ffffffd1}.login-error{margin:0 0 18px;padding:12px 14px;color:#7e302b;background:#fae9e6;border:1px solid #ecc9c5;border-radius:11px}.login-button{display:flex;justify-content:space-between;width:100%;margin-top:8px;padding:16px 19px}.login-security{display:block;margin-top:18px;color:#718078;text-align:center;line-height:1.5}.user-menu{display:flex;align-items:center;gap:8px}.user-menu>span{display:grid;color:#285c3f;font-size:.84rem;font-weight:750;text-align:right}.user-menu small{color:#728077;font-size:.65rem;font-weight:650}.user-menu .text-button{padding:8px 10px}.user-menu .admin-action{padding:8px 12px;font-size:.78rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0e1f1594;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.password-modal{width:min(100%,480px);padding:28px;background:#f7f9f5;border:1px solid #d4ddd4;border-radius:20px;box-shadow:0 28px 90px #0c231647}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.modal-heading h2{margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.modal-heading p:last-child{margin-bottom:0;color:#64736a}.modal-close{width:38px;height:38px;padding:0;color:#456052;background:#e6eee5;border:0;border-radius:50%;cursor:pointer;font-size:1.45rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.password-success{display:grid;gap:10px;padding:20px;color:#245d3c;background:#e5f0e5;border:1px solid #c9dccb;border-radius:14px}.password-success span{color:#5d7064;line-height:1.5}.password-success .primary-button{justify-self:start;margin-top:8px}.page-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:28px 0 72px}.topbar{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding-bottom:26px;border-bottom:1px solid #d6ddd4}.brand-mark{display:grid;place-items:center;width:84px;height:54px;padding:7px 9px;background:#fff;border:1px solid #d6ddd4;border-radius:14px;overflow:hidden}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.eyebrow{margin:0 0 5px;color:#587064;font-size:.72rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:1.05rem}.environment{padding:8px 12px;color:#366149;background:#e2eee2;border:1px solid #c7d9c8;border-radius:999px;font-size:.78rem;font-weight:700}.hero{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end;padding:72px 0 48px}.hero h2{max-width:720px;margin-bottom:18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,6vw,5.2rem);font-weight:500;line-height:.97;letter-spacing:-.055em}.hero-copy{max-width:610px;margin-bottom:0;color:#526158;font-size:1.08rem;line-height:1.65}.limit-card{display:grid;min-width:190px;padding:24px;color:#eaf4eb;background:#173f2c;border-radius:22px;box-shadow:0 18px 45px #1c412d29}.limit-card span,.limit-card small{color:#b9d1bf}.limit-card strong{margin:10px 0 2px;font-family:Georgia,Times New Roman,serif;font-size:4rem;font-weight:500;line-height:1}.workflow{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;background:#ffffff9e;border:1px solid #dce2da;border-radius:18px}.workflow-step{min-height:112px;padding:22px;border-right:1px solid #dce2da}.workflow-step:last-child{border-right:0}.workflow-step span{color:#72a381;font-family:Georgia,Times New Roman,serif;font-size:1.8rem}.workflow-step p{margin:16px 0 0;font-weight:700}.workflow-step{opacity:.52;transition:opacity .18s ease,background .18s ease}.workflow-step.active{opacity:1;background:#e8f2e8b8}.compact-hero{padding-top:52px}.compact-hero h2{font-size:clamp(2.7rem,5vw,4.5rem)}.panel{margin-top:24px;padding:30px;background:#ffffffdb;border:1px solid #dce2da;border-radius:20px;box-shadow:0 16px 40px #2a42330f}.panel-heading,.order-header,.confirmation-bar,.action-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-heading h3{margin-bottom:0;font-size:1.45rem}.safe-badge{padding:8px 12px;color:#37644a;background:#e6f1e7;border-radius:999px;font-size:.75rem;font-weight:750}.dropzone{display:grid;place-items:center;min-height:220px;margin:28px 0 22px;padding:28px;text-align:center;background:#f7f9f5;border:1.5px dashed #b8c7b9;border-radius:18px;cursor:pointer;transition:border-color .16s ease,background .16s ease}.dropzone:hover,.dropzone.has-file{background:#eff6ee;border-color:#5c936c}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone strong{margin-top:14px;overflow-wrap:anywhere}.dropzone small,.field small,.item-row small{color:#718078}.field{display:grid;gap:8px;margin-bottom:22px}.field>span{font-size:.86rem;font-weight:750}.field input{width:100%;padding:14px 16px;color:#17231c;background:#fff;border:1px solid #cfd8cf;border-radius:12px;outline:none}.field input:focus{border-color:#2c7650;box-shadow:0 0 0 3px #2c76501f}.primary-button,.secondary-button,.text-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:13px 20px;border-radius:12px;border:0;cursor:pointer;font-weight:760}.primary-button{color:#fff;background:#1e6540;box-shadow:0 8px 20px #1e65402e}.primary-button:disabled{cursor:not-allowed;opacity:.42}.secondary-button{color:#245d3c;background:#e5f0e5;border:1px solid #c9dccb}.text-button{color:#4b6255;background:transparent}.loading-panel{display:grid;place-items:center;min-height:260px;text-align:center}.loading-panel h3{margin:18px 0 8px}.loading-panel p{margin:0;color:#65746b}.spinner{width:36px;height:36px;border:3px solid #cfddd1;border-top-color:#26734a;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{display:flex;gap:10px;margin-top:18px;padding:15px 18px;border-radius:13px;line-height:1.45}.alert strong{flex:none}.error-alert{color:#7e302b;background:#fae9e6;border:1px solid #ecc9c5}.warning-alert{color:#745616;background:#fbf3da;border:1px solid #eadba9}.action-row{justify-content:flex-start;margin-top:18px}.preview-stack{margin-top:24px}.summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.summary-grid article{grid-column:span 1;display:grid;gap:8px;min-height:108px;padding:18px;background:#fff;border:1px solid #dce2da;border-radius:15px}.summary-grid article.wide{grid-column:span 2}.summary-grid span{color:#68776e;font-size:.78rem;font-weight:700}.summary-grid strong{align-self:end;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.order-card{margin-top:18px;padding:22px;background:#f9faf8;border:1px solid #e0e5df;border-radius:16px}.order-header h4{margin:10px 0 4px;font-size:1.18rem}.order-header p{margin:0;color:#627168}.status{padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.status-ready{color:#276143;background:#dfefe2}.status-duplicate{color:#765816;background:#f8edc9}.status-blocked{color:#873b34;background:#f6dfdc}.order-total{display:grid;gap:5px;text-align:right}.order-total span{color:#617067}.inline-error{margin:16px 0 0;padding:10px 12px;color:#813c35;background:#f9e8e5;border-radius:9px}.item-table{margin-top:18px;overflow-x:auto;border-top:1px solid #dce2da}.item-row{display:grid;grid-template-columns:1.2fr 1fr .45fr .7fr .7fr;gap:12px;min-width:680px;padding:12px 4px;border-bottom:1px solid #e5e9e4;font-size:.86rem}.item-row>span{display:grid;align-content:center;gap:3px}.item-head{color:#718078;font-size:.72rem;font-weight:800;text-transform:uppercase}.blocked-panel article{display:grid;gap:5px;padding:16px 0;border-bottom:1px solid #e3e7e2}.blocked-panel article:last-child{border-bottom:0}.blocked-panel article span,.blocked-panel article p{color:#68776e}.blocked-panel article p{margin:0}.confirmation-bar{position:sticky;bottom:16px;z-index:2;margin-top:24px;padding:20px 22px;color:#eff7f0;background:#163d2af5;border:1px solid #315d46;border-radius:17px;box-shadow:0 18px 50px #1534243d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.confirmation-bar>div{display:grid;gap:5px}.confirmation-bar span{color:#bfd1c3;font-size:.84rem}.button-group{display:flex!important;grid-auto-flow:column;gap:10px!important}.result-summary{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.result-summary span{padding:10px 14px;background:#edf3ed;border-radius:10px}.notification-result{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid #bed7c5;border-radius:12px;background:#edf7ef}.notification-result>div{display:grid;gap:4px}.notification-result span{color:#607067;font-size:.86rem}.notification-failed{border-color:#e5c2bd;background:#fff2f0}.result-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid #e1e6e0}.result-row>div{display:grid;gap:4px}.result-row>div:last-child{color:#627168;text-align:right}.result-failed{color:#843b34}.empty-state{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-top:24px;padding:30px;background:#fff;border:1px solid #e0e4de;border-radius:18px}.empty-state h3{margin-bottom:8px;font-size:1.3rem}.empty-state p:last-child{margin-bottom:0;color:#607067}.file-icon{display:grid;place-items:center;width:72px;height:72px;color:#21633e;background:#e9f2e8;border:1px solid #cee0ce;border-radius:16px;font-size:.72rem;font-weight:800;letter-spacing:.08em}@media(min-width:761px){.page-shell{padding:18px 0 36px}.topbar{padding-bottom:16px}.compact-hero{gap:32px;padding:28px 0 24px}.compact-hero h2{max-width:650px;margin-bottom:10px;font-size:clamp(2.5rem,4vw,3.8rem);line-height:.98}.hero-copy{max-width:680px;font-size:.98rem;line-height:1.5}.limit-card{min-width:165px;padding:18px 20px;border-radius:18px}.limit-card strong{margin-top:6px;font-size:3rem}.workflow-step{min-height:82px;padding:14px 18px}.workflow-step span{font-size:1.45rem}.workflow-step p{margin-top:8px;font-size:.9rem}.upload-panel{margin-top:16px;padding:22px 26px}.upload-panel .panel-heading h3{font-size:1.25rem}.dropzone{min-height:140px;margin:18px 0 14px;padding:18px}.file-icon{width:54px;height:54px;border-radius:13px}.dropzone strong{margin-top:9px}.upload-panel .field{gap:6px;margin-bottom:14px}.upload-panel .field input{padding:11px 14px}.upload-panel .primary-button{padding:11px 18px}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-story{min-height:36vh;padding:26px 24px 34px}.login-message{padding:58px 0 22px}.login-message h1{font-size:clamp(3.5rem,17vw,5.5rem)}.login-message>p:last-child,.login-footnote{display:none}.login-access{padding:42px 24px 64px}.page-shell{width:min(100% - 24px,1180px);padding-top:16px}.topbar{grid-template-columns:auto 1fr}.user-menu{grid-column:1 / -1;justify-content:space-between;padding-top:10px;border-top:1px solid #d6ddd4}.user-menu>span{text-align:left}.user-menu .admin-action{margin-left:auto}.password-modal{padding:22px}.modal-actions{flex-direction:column-reverse}.hero{grid-template-columns:1fr;padding-top:48px}.limit-card{grid-template-columns:auto auto 1fr;gap:8px;align-items:baseline}.limit-card strong{font-size:2.5rem}.workflow{grid-template-columns:1fr 1fr}.workflow-step:nth-child(2){border-right:0}.workflow-step:nth-child(-n+2){border-bottom:1px solid #dce2da}.empty-state{grid-template-columns:1fr}.panel{padding:20px}.panel-heading,.order-header,.confirmation-bar,.action-row{align-items:stretch;flex-direction:column}.summary-grid{grid-template-columns:1fr 1fr}.summary-grid article,.summary-grid article.wide{grid-column:span 1}.summary-grid article.wide{grid-column:span 2}.order-total{text-align:left}.button-group,.result-row{align-items:stretch;flex-direction:column}.result-row>div:last-child{text-align:left}}
