.hidden{display:none!important}
.logout-btn{border:1px solid var(--line);background:#fff;color:#667270;border-radius:6px;padding:8px 11px;font:13px Manrope;cursor:pointer}
.logout-btn:hover{border-color:#e2a181;color:#bd704c}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f5f7f3 0%,#eef3e7 100%)}
.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #17302612;padding:34px}
.login-brand{color:var(--ink);padding:0;margin-bottom:48px}
.login-card h1{font-size:24px;letter-spacing:-.8px;margin:0}
.login-subtitle{color:#687770;font-size:14px;line-height:1.55;margin:8px 0 25px}
.login-card label{display:block;color:#657371;font-size:13px;font-weight:700;margin-top:15px}
.login-card input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:6px;background:#fbfcfa;font-size:14px}
.login-card input:focus{outline:0;border-color:#aec96a;box-shadow:0 0 0 3px #b5d63824}
.login-button{margin-top:20px}
.login-error{min-height:16px;color:#c77753;font-size:13px;margin:10px 0 0}
.login-hint{color:#687770;text-align:center;font-size:12px;line-height:1.5;margin:17px 0 0}
.file-upload{grid-column:1 / -1}
.file-upload input[type=file]{padding:9px;background:#fff}
.file-upload small{display:block;color:#687770;font-size:12px;font-weight:400;line-height:1.5;margin-top:6px}
.file-list{margin-top:12px;display:grid;gap:6px}
.file-row{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#f5f8ee;border:1px solid #e2ebc9;border-radius:6px;color:#52615c;font-size:13px}
.file-row small,.file-empty,.muted{color:#687770;font-size:12px}
.file-empty{margin:0;padding:8px 0}
.file-list-head{display:flex;justify-content:space-between;gap:12px;padding:2px 2px 4px;color:#52615c;font-size:12px}.file-list-head small{color:#687770;font-size:11px}.file-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-remove{border:0;background:transparent;color:#a56b58;font-size:17px;line-height:1;cursor:pointer;padding:0 2px;margin-left:5px}.file-remove:hover{color:#8e3e28}
.detail-inputs-panel{margin-top:18px;padding:16px;border:1px solid #e2ebc9;border-radius:8px;background:#fbfcf8}.detail-inputs-panel>div:first-child h3{margin:0 0 5px}.detail-inputs-panel>div:first-child p{margin:0 0 13px;color:#687770;font-size:11px}.detail-input-card{padding:12px 0;border-top:1px solid #e2ebc9}.detail-input-card:first-of-type{border-top:0;padding-top:0}.detail-input-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.detail-input-title strong{font-size:12px;color:#465650}.detail-input-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a8880;font-size:10px}.detail-input-card .form-grid{margin:0}.detail-input-card .nest-rotation{align-self:end;padding-bottom:8px}
.file-detail-row{display:block;padding:10px}.file-row-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.file-row-header>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-detail-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:10px 0 7px;color:#465650;font-size:11px}.file-detail-title span{color:#7a8880;font-size:10px}.file-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.file-detail-fields label{display:grid;gap:4px;color:#52615c;font-size:10px}.file-detail-fields input{width:100%;box-sizing:border-box}.file-detail-fields .nest-rotation{display:flex;align-items:center;gap:6px;padding-top:4px}.file-detail-fields .nest-rotation input{width:auto}
.price-input{width:112px;border:1px solid #dfe6dc;background:#fff;border-radius:5px;padding:6px 7px;color:#59656a;font-size:12px}.price-input+small{display:block;color:#687770;font-size:11px;margin-top:4px}
.nesting-detail-list{margin-top:18px;padding-top:16px;border-top:1px solid #e2ebc9}.nesting-detail-list h3{margin:0 0 10px}.nesting-detail-summary{display:grid;grid-template-columns:80px minmax(130px,1fr) minmax(150px,1fr) 130px 100px 90px;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #eef2ec;font-size:11px}.nesting-detail-summary span{color:#687770;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nesting-detail-summary strong{color:#465650}
.file-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:220px}
.file-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;background:#eef3dd;color:#718d1b;border-radius:5px;font-size:12px;text-decoration:none}
.file-chip:hover{background:#e1edbc}
.file-chip small{color:#9aa777;font-size:11px}
@media(max-width:780px){.file-upload{grid-column:auto}}
.account-wrap{position:relative}
.demo-user-switcher{display:flex;align-items:center;gap:7px;color:#94a09c;font-size:12px;white-space:nowrap}
.demo-user-switcher select{max-width:195px;border:1px solid #dce4d6;border-radius:6px;background:#f8fbdc;color:#53651c;padding:7px 25px 7px 8px;font:13px Manrope;font-weight:700;cursor:pointer}
.demo-user-switcher select:focus{outline:2px solid #b5d63866;outline-offset:1px}
.account-trigger{display:grid;border:0;cursor:pointer;padding:0}
.account-trigger:focus-visible{outline:2px solid #77951e;outline-offset:3px}
.account-menu{position:absolute;z-index:20;right:0;top:42px;width:250px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 16px 40px #1730261c;padding:7px}
.account-menu-head{padding:11px 12px 12px;border-bottom:1px solid #edf0eb;margin-bottom:4px}
.account-menu-head strong,.account-menu-head span,.account-menu-head small{display:block}
.account-menu-head strong{font-size:14px;color:#243137}
.account-menu-head span{font-size:12px;color:#8a9792;margin-top:4px;overflow:hidden;text-overflow:ellipsis}
.account-menu-head small{font-size:12px;color:#759119;margin-top:7px}
.account-menu-item{display:block;width:100%;border:0;background:transparent;border-radius:5px;padding:10px 12px;text-align:left;color:#596569;font:13px Manrope;cursor:pointer}
.account-menu-item:hover{background:#f1f6df;color:#668019}
.account-menu-item.danger{color:#bd704c}
.account-menu-divider{height:1px;background:#edf0eb;margin:4px 0}
.account-modal{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px}
.account-modal-backdrop{position:absolute;inset:0;background:#14221d66}
.account-dialog{position:relative;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:12px;border:1px solid var(--line);box-shadow:0 24px 70px #13251b38;padding:30px}
.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#8f9b96;font-size:24px;line-height:1;cursor:pointer}
.account-dialog h2{font-size:22px;letter-spacing:-.6px;margin:0}
.account-dialog-subtitle{color:#687770;font-size:13px;line-height:1.5;margin:8px 0 20px}
.account-form{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;display:grid;gap:11px}
.account-form h3{font-size:13px;margin:0 0 2px}
.account-form label{display:block;color:#657371;font-size:13px;font-weight:700}
.account-form input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fbfcfa;font-size:14px}
.account-form input[readonly]{color:#89938f;background:#f2f5f1}
.account-form input:focus{outline:0;border-color:#aec96a;box-shadow:0 0 0 3px #b5d63824}
.account-form-hint{color:#687770;font-size:12px;line-height:1.5}
.account-message{min-height:14px;margin:0;color:#718d1b;font-size:13px}
.account-message.error{color:#c77753}
@media(max-width:480px){.account-menu{right:-10px;width:230px}.account-dialog{padding:25px 20px}.demo-user-switcher{font-size:0}.demo-user-switcher select{max-width:145px}}
.team-dialog{width:min(760px,100%)}
.user-actions{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.user-actions .button.small{padding:7px 9px;font-size:12px}
.manager-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}
.manager-summary div{border:1px solid var(--line);border-radius:7px;padding:11px;background:#f8faf6}
.manager-summary span,.credential-box span{display:block;color:#8d9994;font-size:12px}
.manager-summary strong{display:block;color:var(--ink);font-size:15px;margin-top:5px}
.team-orders{margin-top:16px}
.credential-box{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;padding:16px;border:1px solid #dce9ae;border-radius:8px;background:#f3f8dd}
.credential-box code{color:#5d7417;font:700 16px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.4px}
.seat-limit-warning{margin:18px 0;padding:14px;border:1px solid #f0d2a8;border-radius:8px;background:#fff7e8;color:#8d6630}
.seat-limit-warning strong,.seat-limit-warning span{display:block}
.seat-limit-warning strong{font-size:14px}
.seat-limit-warning span{margin-top:5px;font-size:12px;line-height:1.45}
.seat-limit-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
.seat-limit-actions a{text-decoration:none}
.heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.order-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.button.danger{color:#bd704c;border-color:#efcdbd;background:#fff8f4}
.button.danger:hover{border-color:#d99373;color:#a85c3b;background:#fff0e8}
.subscription-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.subscription-summary .metric{min-width:0}
.subscription-summary .metric .status{margin-top:7px}
.subscription-layout{align-items:stretch}
.subscription-card,.subscription-info{min-height:290px}
.subscription-badge{padding:5px 8px;border-radius:10px;background:#eff6d4;color:#60791b;font-size:11px;font-weight:800;white-space:nowrap}
.subscription-seat-field{display:block;margin:22px 0 14px;color:#657371;font-size:13px;font-weight:700}
.subscription-seat-field input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:6px;background:#fff;font:700 14px 'DM Mono',monospace;color:var(--ink)}
.subscription-seat-field small{display:block;margin-top:6px;color:#98a49f;font-size:12px;font-weight:400;line-height:1.45}
.subscription-quote{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.subscription-quote div{padding:12px;border:1px solid #dce9ae;border-radius:7px;background:#f3f8dd}
.subscription-quote span,.subscription-details span{display:block;color:#8b9892;font-size:12px}
.subscription-quote strong{display:block;margin-top:5px;color:#617b18;font-size:16px}
.subscription-request{display:inline-flex;text-decoration:none}
.subscription-hint{margin:12px 0 0;color:#9aa49e;font-size:12px;line-height:1.5}
.subscription-info h2{margin-bottom:20px}
.subscription-steps{display:grid;gap:14px}
.subscription-steps div{display:flex;align-items:flex-start;gap:10px;color:#657371;font-size:13px;line-height:1.45}
.subscription-steps b{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:#eef5d3;color:#6d851c;font-size:13px}
.subscription-contact{display:flex;justify-content:space-between;gap:10px;margin-top:23px;padding-top:13px;border-top:1px solid var(--line);color:#8f9b96;font-size:12px}
.subscription-contact a{color:#60791b;font-weight:800;text-decoration:none}
.subscription-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);overflow:hidden}
.subscription-details div{padding:14px;background:#fff}
.subscription-details strong{display:block;margin-top:5px;color:#354246;font-size:14px}
.subscription-details .status{margin-top:5px}
@media(max-width:900px){.subscription-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.subscription-summary{grid-template-columns:1fr}.subscription-quote,.subscription-details{grid-template-columns:1fr}.subscription-contact{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.user-actions{grid-column:1 / -1}.manager-summary{grid-template-columns:1fr}.credential-box{align-items:flex-start;flex-direction:column}}
.formula-settings{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}
.formula-settings summary{cursor:pointer;color:#253436;font-size:14px;font-weight:800}
.formula-settings>label{display:block;margin:13px 0;color:#657371;font-size:13px;font-weight:700}
.formula-settings>label input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:14px}
.setting-label{display:flex;align-items:center;gap:5px}
.info-tip{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:15px;height:15px;border:1px solid #9daf31;border-radius:50%;color:#647719;background:#f4f8dc;font-size:13px;font-weight:800;line-height:1;cursor:help;outline:none}
.info-tip:focus{box-shadow:0 0 0 3px rgba(178,220,44,.3)}
.info-tip-bubble{position:absolute;z-index:30;top:50%;left:calc(100% + 8px);width:250px;padding:9px 10px;border-radius:7px;background:#20312e;color:#fff;font-size:13px;font-weight:500;line-height:1.45;text-align:left;box-shadow:0 8px 20px rgba(17,37,31,.2);opacity:0;visibility:hidden;transform:translateY(-50%);transition:opacity .15s ease,visibility .15s ease;pointer-events:none}
.info-tip:hover .info-tip-bubble,.info-tip:focus .info-tip-bubble{opacity:1;visibility:visible}
@media(max-width:700px){.info-tip-bubble{top:calc(100% + 8px);right:0;left:auto;width:min(250px,72vw);transform:none}}
.calculation-inputs .form-grid label small{display:block;color:#687770;font-size:11px;font-weight:400;margin-top:4px}
.calculation-preview{margin-top:12px;min-height:32px;color:#8c9792;font-size:13px}
.calculation-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;background:#f3f8dd;border:1px solid #dce9ae;border-radius:7px;color:#58651f}
.calculation-result>strong{grid-column:1 / -1;font-size:14px;color:#445612}
.calculation-result div{display:flex;flex-direction:column;gap:2px;padding:7px;background:#ffffffa8;border-radius:5px}
.calculation-result span{font-size:11px;color:#889165}.calculation-result b{font-size:14px;color:#495714}
@media(max-width:600px){.calculation-result{grid-template-columns:1fr}}
.manager-side{display:grid;align-content:start;gap:14px;min-width:0}
.nesting-inputs{margin-top:18px;padding:14px;border:1px solid #dce8bd;border-radius:8px;background:#f8fbe9}
.nesting-inputs h3{margin:0;font-size:12px;color:#324020}.nesting-inputs p{margin:5px 0 13px;color:#82906f;font-size:12px;line-height:1.45}.nesting-inputs .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.nest-rotation{display:flex!important;align-items:center;gap:7px;margin-top:22px}.nest-rotation input{display:inline!important;width:auto!important;margin:0!important;accent-color:#78971f}.nest-angle-list small{color:#7a8880;font-size:9px;line-height:1.2}.file-detail-fields .nest-angle-list{grid-column:1 / -1}
.nesting-panel{overflow:hidden}.nesting-panel .panel-head{padding-bottom:12px}.nesting-badge{border-radius:10px;background:#eef3db;color:#6b851b;padding:4px 7px;font-size:11px;font-weight:800}.nesting-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;background:#f7f9f5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#77847e;font:12px 'DM Mono',monospace}.nesting-toolbar div{display:flex;gap:4px}.nesting-toolbar button{display:grid;place-items:center;width:23px;height:23px;border:1px solid #d9e1d4;border-radius:5px;background:#fff;color:#62771c;font-size:13px;cursor:pointer}.nesting-toolbar button:hover{background:#eff6d5}
.nesting-canvas{min-height:240px;max-height:430px;overflow:auto;padding:14px;background:#f5f7f3;display:grid;place-items:center}.nesting-canvas svg{display:block;max-width:100%;max-height:390px;width:calc(100% * var(--nest-zoom));height:auto;transform-origin:center;transition:width .15s ease}.nesting-sheet{fill:#21302d;stroke:#111d26;stroke-width:4}.nesting-part rect{fill:#b8dc3d;stroke:#78951e;stroke-width:2}.nesting-part text{fill:#344311;font:600 26px Manrope;pointer-events:none}.nesting-legend{display:flex;flex-wrap:wrap;gap:11px;padding:10px 14px;border-top:1px solid var(--line);color:#8d9994;font-size:12px}.nesting-legend span{display:inline-flex;align-items:center;gap:5px}.nesting-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}.nesting-legend .part{background:#b8dc3d;border:1px solid #78951e}.nesting-legend .gap{background:#21302d}.nesting-note{margin:0;padding:0 14px 11px;color:#9aa49e;font-size:11px;line-height:1.4}.nesting-empty{min-height:240px;padding:25px;display:flex;flex-direction:column;justify-content:center;gap:7px;color:#9ca6a1;background:#f7f9f6;text-align:center}.nesting-empty b{font-size:12px;color:#65736e}.nesting-empty span{font-size:13px;line-height:1.5}.nesting-summary{padding:14px;background:#fff}.nesting-summary>span,.nesting-summary>p{display:block;margin:8px 0 0;color:#687770;font-size:12px;line-height:1.5}.nesting-status{padding:9px 10px;border-radius:6px;background:#eff6d4;color:#60791b}.nesting-status.warn{background:#fff0e5;color:#bf703d}.nesting-status b,.nesting-status span{display:block}.nesting-status b{font-size:13px}.nesting-status span{margin-top:3px;font-size:11px}.nesting-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.nesting-stats div{padding:8px;border:1px solid var(--line);border-radius:6px;background:#fbfcfa}.nesting-stats span,.nesting-stats b{display:block}.nesting-stats span{color:#687770;font-size:11px}.nesting-stats b{margin-top:4px;color:#3f4b4d;font-size:12px;line-height:1.35}
.nesting-sheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;padding:10px;background:#10191f}.nesting-sheet-card{min-width:0;border:1px solid #29363e;border-radius:7px;overflow:hidden;background:#0b1318}.nesting-sheet-title,.nesting-sheet-meta{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;color:#aab8bc;font-size:11px}.nesting-sheet-title{background:#152128;color:#dbe5e1}.nesting-sheet-title b{color:#ffb46f}.nesting-sheet-meta{border-top:1px solid #29363e}.nesting-sheet-card .nesting-canvas{min-height:190px;max-height:300px;padding:8px}.nesting-sheet-controls{display:flex;justify-content:flex-end;align-items:center;gap:5px;padding:6px 8px;border-top:1px solid #29363e;background:#10191f}.nesting-sheet-controls output{display:grid;place-items:center;min-width:42px;height:23px;padding:2px 5px;border:1px solid #29363e;border-radius:5px;background:#152128;color:#aab8bc;font:700 11px Manrope}.nesting-sheet-controls button{min-width:26px;height:23px;padding:0 6px;border:1px solid #3a4b53;border-radius:5px;background:#152128;color:#dbe5e1;font:700 13px Manrope;cursor:pointer}.nesting-sheet-controls button:hover{border-color:#ff7b1a;color:#ffb46f}
@media(max-width:1100px){.nesting-inputs .form-grid{grid-template-columns:1fr 1fr}}@media(max-width:780px){.manager-side{grid-template-columns:1fr}.nesting-canvas{max-height:330px}.nesting-inputs .form-grid{grid-template-columns:1fr}}@media(max-width:480px){.nesting-stats{grid-template-columns:1fr}}
.order-open{display:block;width:100%;border:0;padding:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.order-open:hover strong{color:#718f1b;text-decoration:underline}.order-detail-top{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}.detail-panel{overflow:hidden}.detail-panel .panel-head{padding-bottom:12px}.detail-status{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px 14px;border-bottom:1px solid var(--line)}.detail-status span{display:block;margin-top:7px;color:#91a09a;font-size:12px}.detail-status>strong{font-size:22px;letter-spacing:-.6px;color:#617b18;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.detail-grid div{min-width:0;padding:12px 14px;background:#fff}.detail-grid span,.detail-note span{display:block;color:#687770;font-size:11px}.detail-grid b{display:block;margin-top:5px;color:#354246;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.detail-files{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 16px}.detail-note{border-top:1px solid var(--line);padding:14px 20px}.detail-note p{margin:5px 0 0;color:#657371;font-size:13px;line-height:1.5}.detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.detail-metrics .metric{padding:15px}.detail-metrics .metric strong{font-size:19px}.detail-formula{margin-top:14px;padding:16px 20px;border:1px solid var(--line);border-radius:9px;background:#fbfcfa}.detail-formula summary{cursor:pointer;color:#485852;font-size:14px;font-weight:800}.detail-formula .detail-grid{margin-top:14px;border:1px solid var(--line)}
.order-status-row{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:13px 20px;border-top:1px solid var(--line);background:#fbfcfa}.order-status-row small{max-width:250px;color:#94a09b;font-size:11px;line-height:1.4}.order-status-control span{display:block;margin-bottom:5px;color:#8d9994;font-size:11px}.order-status-control select{min-width:155px;border:1px solid #d9e3d3;border-radius:6px;background:#fff;color:#50631c;padding:7px 25px 7px 8px;font:13px Manrope;font-weight:700;cursor:pointer}
@media(max-width:1050px){.detail-metrics{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.order-detail-top{grid-template-columns:1fr}.detail-metrics{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}}
.order-layout-panel{margin:14px 0;overflow:hidden}.order-layout-grid{display:grid;grid-template-columns:230px minmax(0,1fr);border-top:1px solid var(--line)}.order-part-preview{padding:18px;border-right:1px solid var(--line);background:#fbfcfa}.order-part-preview h3{margin:0 0 12px;font-size:12px}.part-preview-canvas{height:170px;display:grid;place-items:center;border:1px solid #dce5d9;border-radius:7px;background:#f2f7e4;overflow:hidden}.part-preview-canvas svg{width:88%;height:88%}.part-preview-canvas svg rect{fill:#b8dc3d;stroke:#66851a;stroke-width:4}.part-preview-canvas svg circle{fill:#f2f7e4;stroke:#66851a;stroke-width:4}.part-preview-canvas svg path{stroke:#66851a;stroke-width:5;stroke-linecap:round}.part-preview-canvas img{max-width:100%;max-height:100%;object-fit:contain}.order-part-preview p{min-height:32px;margin:10px 0;color:#8d9994;font-size:11px;line-height:1.45}.order-part-preview>div:last-child{display:grid;gap:6px}.order-part-preview>div:last-child div{padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}.order-part-preview span{display:block;color:#687770;font-size:11px}.order-part-preview b{display:block;margin-top:3px;color:#41504d;font-size:12px}.order-cut-preview{min-width:0;padding:16px}.order-cut-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;color:#84908a;font-size:12px}.order-cut-meta b{color:#50651b;font-size:13px}.order-cut-canvas{min-height:270px;max-height:460px;overflow:auto;display:grid;place-items:center;padding:14px;border-radius:7px;background:#f4f6f2}.order-cut-canvas svg{display:block;max-width:100%;max-height:430px;width:100%;height:auto}.order-cut-sheet{fill:#22322f;stroke:#13201e;stroke-width:4}.order-cut-part{fill:#b8dc3d;stroke:#6d8d1e;stroke-width:2}.order-cut-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;color:#8d9994;font-size:11px}.order-cut-legend span{display:inline-flex;align-items:center;gap:4px}.order-cut-legend i{display:inline-block;width:9px;height:9px;border:1px solid #6d8d1e;border-radius:2px;background:#b8dc3d}.order-cut-legend b{margin-left:auto;color:#60791b;font-size:12px}
@media(max-width:780px){.order-layout-grid{grid-template-columns:1fr}.order-part-preview{border-right:0;border-bottom:1px solid var(--line)}.order-cut-canvas{min-height:220px;max-height:340px}}
.order-cut-cell{fill:#b8dc3d;stroke:#6d8d1e;stroke-width:2}.order-cut-profile{fill:#5a9cdb;stroke:#27669f;stroke-width:3;stroke-linejoin:round}.order-cut-hole{fill:#eaf3bb;stroke:#27669f;stroke-width:2}.order-cut-bend{fill:none;stroke:#174c7d;stroke-width:3;stroke-linecap:round}.order-cut-source{opacity:.96}.part-preview-canvas .order-cut-cell{fill:#b8dc3d;stroke:#6d8d1e;stroke-width:2}.part-preview-canvas .order-cut-profile{fill:#5a9cdb;stroke:#27669f;stroke-width:3}.part-preview-canvas .order-cut-hole{fill:#eaf3bb;stroke:#27669f;stroke-width:2}.part-preview-canvas .order-cut-bend{fill:none;stroke:#174c7d;stroke-width:3}
.part-preview-canvas{background:#fff}.part-preview-canvas .order-cut-hole{fill:#fff}.part-preview-canvas .order-cut-cell{display:none}.order-layout-grid{grid-template-columns:200px minmax(0,1fr)}.order-cut-canvas{min-height:240px;max-height:360px}.order-cut-canvas svg{max-height:320px}.cad-preview-loading,.cad-preview-error{padding:14px;color:#74817c;font-size:12px;line-height:1.5;text-align:center}.cad-preview-error{color:#a05d45}.cad-live-svg{width:92%;height:92%;display:block}.cad-live-map{overflow:visible;vector-effect:non-scaling-stroke}.cad-live-map [stroke]{stroke:#b9e9ff!important;stroke-width:1.8!important;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px #10252d)}.cad-live-map text{fill:#f0fbff!important;stroke:none!important;font-weight:700}.cad-live-svg [stroke]{stroke:#27669f!important;stroke-width:1.4!important}.cad-live-slot{pointer-events:none}.cad-cell-frame{fill:transparent!important;stroke:#b8dc3d!important;stroke-width:1.5!important;stroke-dasharray:4 3}
.zoom-viewport{position:relative;cursor:grab;touch-action:none}.zoom-viewport.is-dragging{cursor:grabbing}.zoom-surface{width:100%;height:100%;min-width:100%;min-height:100%;display:grid;place-items:center;transition:none;transform-origin:0 0;will-change:transform}.map-zoom-surface{display:block}.map-zoom-surface svg{max-height:none}.zoom-controls{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:6px 0 2px;color:#8d9994;font-size:11px}.zoom-controls>span{margin-right:auto}.zoom-controls button,.zoom-controls output{min-width:25px;height:24px;padding:3px 7px;border:1px solid #d9e3d3;border-radius:5px;background:#fff;color:#50631c;font:700 12px Manrope}.zoom-controls button{cursor:pointer}.zoom-controls button:hover{background:#f2f8da}.zoom-controls output{display:grid;place-items:center;min-width:42px;color:#78857f;font-variant-numeric:tabular-nums}.part-preview-canvas .zoom-surface{min-height:100%}

/* Entry, account and detail surfaces share the workspace type scale. */
.login-screen { grid-template-columns: minmax(0,1.15fr) minmax(420px,.85fr); gap: clamp(40px,6vw,110px); padding: 70px max(6vw,32px); background: #f4f6f0; }
.login-story { align-self: stretch; display: flex; flex-direction: column; justify-content: center; background: #1e3026; border-radius: 24px; padding: clamp(32px,4.5vw,72px); color: #f6f8ed; }
.login-story .eyebrow { color: #c4e65b; margin-bottom: 40px; letter-spacing: 2px; }
.login-story h2 { font-size: clamp(32px,3.5vw,54px); line-height: 1.15; letter-spacing: -2px; margin: 0; }
.login-story h2 em { color: #c4e65b; font-style: normal; }
.login-story-copy { color: #becbbe; font-size: 15px; max-width: 380px; line-height: 1.8; margin: 24px 0 36px; }
.login-features { display: grid; gap: 22px; }
.login-features > div { position: relative; padding-left: 40px; }
.login-features span { position: absolute; left: 0; color: #9fb787; font: 11px 'DM Mono',monospace; top: 4px; }
.login-features strong { font-size: 13px; }
.login-features p { margin: 4px 0 0; color: #a8bba9; font-size: 12px; }
.login-story > small { color: #9fb19f; font-size: 10px; margin-top: 48px; }
.login-card { width: 100%; max-width: 440px; padding: 24px 10px; border: 0; border-radius: 0; box-shadow: none; background: transparent; justify-self: center; }
.login-brand { margin-bottom: 48px; font-size: 27px; }
.login-brand strong { color: #648629; }
.login-brand small { color: #72836b; }
.login-card h1 { font-size: 30px; line-height: 1.25; letter-spacing: -1px; }
.login-subtitle { font-size: 14px; color: #6b7865; margin: 14px 0 28px; }
.login-card label { font-size: 12px; color: #43563e; margin-top: 20px; }
.login-card input { padding: 14px; background: #fff; min-height: 50px; border: 1px solid #d4dece; border-radius: 10px; font-size: 15px; }
.login-button { width: 100%; min-height: 48px; justify-content: space-between; margin-top: 12px; font-size: 13px; }
.login-hint { color: #708069; font-size: 11px; margin-top: 24px; }
.login-error { font-size: 12px; }
.demo-user-switcher { font-size: 10px; color: #71816a; }
.demo-user-switcher select { background: #f0f4e8; border-color: #dbe3cf; padding: 9px; font-size: 10px; border-radius: 8px; }
.account-menu { border-radius: 12px; top: 46px; width: 280px; box-shadow: 0 16px 45px #1d302321; }
.account-menu-item { font-size: 13px; padding: 12px; border-radius: 7px; }
.account-menu-head strong { font-size: 14px; }
.account-menu-head span, .account-menu-head small { font-size: 12px; }
.account-dialog { border-radius: 18px; padding: 32px; }
.account-dialog-subtitle { font-size: 13px; }
.account-form label { font-size: 12px; }
.account-form input { min-height: 44px; font-size: 14px; border-radius: 8px; }
.account-form-hint { font-size: 11px; }
.account-modal-backdrop { background: #17231f80; backdrop-filter: blur(4px); }
.file-upload small, .file-empty, .file-row small { font-size: 11px; }
.file-upload input[type=file] { border-style: dashed; background: #f8faf3; padding: 14px; }
.file-upload input::file-selector-button { border: 1px solid #d0ddbd; border-radius: 6px; padding: 7px 10px; margin-right: 10px; background: white; color: #526d31; cursor: pointer; font-family: inherit; }
.zoom-controls button, .zoom-controls output { min-width: 34px; height: 34px; font-size: 11px; }
.zoom-controls { flex-wrap: wrap; }
.detail-grid span, .detail-note span, .order-status-row small { font-size: 11px; }
.detail-grid b { font-size: 13px; }
.order-part-preview p, .nesting-note { font-size: 11px; }
@media (max-width: 1000px) { .login-screen { gap: 30px; padding: 36px; grid-template-columns: 1fr 1fr; } .login-story { padding: 30px; } }
@media (max-width: 780px) { .login-screen { grid-template-columns: 1fr; padding: 32px 24px; } .login-story { display: none; } .login-card { padding: 20px 0; } .demo-user-switcher { font-size: 0; } .demo-user-switcher select { max-width: 165px; font-size: 10px; } .account-dialog { padding: 26px 20px; } }
@media (max-width: 480px) { .demo-user-switcher select { max-width: 135px; } .login-card h1 { font-size: 28px; } }

/* The generated original laser-cutting asset gives entry to the workspace the selected industrial character. */
.login-screen { position: relative; isolation: isolate; background: #050a0d; }
.login-screen::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url("assets/laser-cutting-hero-v1.png") center / cover no-repeat; }
.login-screen::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #050a0df5 0%, #071015d9 42%, #07101591 72%, #050a0dd6 100%); }
.login-story { min-height: 720px; border: 1px solid #5f452e; border-radius: 12px; background: #0a1218c7; box-shadow: 0 20px 70px #00000087; backdrop-filter: blur(8px); }
.login-story .eyebrow, .login-story h2 em { color: #ff7a1a; }
.login-story h2 { font-family: "Roboto Condensed", Manrope, sans-serif; text-transform: uppercase; font-weight: 800; letter-spacing: -.8px; }
.login-story-copy, .login-features p, .login-story > small { color: #bdc9cc; }
.login-features span { color: #ff9a55; }
.login-card { color: #f5f7f6; background: #0c151ad6; border: 1px solid #34434b; border-radius: 12px; padding: 42px; box-shadow: 0 18px 56px #0000007a; backdrop-filter: blur(14px); }
.login-brand { color: #fff; }
.login-brand strong { color: #ff7a1a; }
.login-brand small, .login-card label, .login-subtitle, .login-hint { color: #b5c1c4; }
.login-card h1 { font-family: "Roboto Condensed", Manrope, sans-serif; color: #fff; text-transform: uppercase; font-weight: 800; letter-spacing: -.4px; }
.login-card input { color: #f5f7f6; background: #0a1217; border-color: #3c4c55; }
.login-card input:focus { border-color: #ff7a1a; box-shadow: 0 0 0 3px #ff7a1a2b; }
.login-button { background: #ff7a1a; border-color: #ff7a1a; color: #170f09; }
.login-button:hover { background: #ff9141; border-color: #ff9141; }
.account-menu, .account-dialog { color: #f4f7f5; background: #10191f; border-color: #34434b; }
.account-menu-head { border-color: #29363e; }
.account-menu-head strong, .account-form h3 { color: #fff; }
.account-menu-head span, .account-menu-head small, .account-form-hint { color: #b5c1c4; }
.account-menu-item { color: #e6eeee; }
.account-menu-item:hover { background: #253039; color: #ffae72; }
.account-menu-divider, .account-form { border-color: #29363e; }
.account-form label { color: #c2ced0; }
.account-form input { color: #f5f7f6; background: #0b1217; border-color: #34434b; }
.account-modal-backdrop { background: #020507a8; }
@media (max-width: 780px) {
  .login-screen { padding: 20px; }
  .login-card { padding: 28px 24px; }
}

/* Keep order files, nesting and subscription tools inside the industrial palette. */
.file-upload input[type=file] {
  color: #b9c7ca;
  background: #0b1318;
  border: 1px dashed #465861;
}
.file-upload input[type=file]:hover { border-color: #ff7a1a; background: #101c22; }
.file-upload input::file-selector-button {
  border-color: #6a472b;
  background: #23170e;
  color: #ffb36f;
}
.file-upload input::file-selector-button:hover { background: #3a2415; color: #fff0e1; }
.file-upload small, .file-empty, .file-row small { color: #90a0a5; }
.detail-inputs-panel, .nesting-inputs {
  background: #101a20;
  border-color: #34434b;
}
.detail-inputs-panel > div:first-child h3, .nesting-inputs h3, .detail-input-title strong { color: #eff5f4; }
.detail-inputs-panel > div:first-child p, .nesting-inputs p, .detail-input-title span { color: #9aabb0; }
.detail-input-card { border-color: #29363e; }
.detail-input-card .form-grid label, .file-detail-fields label { color: #b9c7ca; }
.detail-input-card input, .file-detail-fields input, .detail-input-card select, .file-detail-fields select {
  color: #f3f7f6;
  background: #0a1217;
  border-color: #3a4b54;
}
.detail-input-card input:focus, .file-detail-fields input:focus { border-color: #ff7a1a; box-shadow: 0 0 0 3px #ff7a1a24; }
.nest-rotation { color: #c0cccf; }
.nest-rotation input { accent-color: #ff7a1a; }
.nesting-empty {
  color: #aebcc0;
  background: #0b1318;
  border: 1px dashed #34444d;
}
.nesting-empty b { color: #edf3f2; }
.nesting-summary { background: #10191f; }
.nesting-summary > span, .nesting-summary > p { color: #aab8bc; }
.nesting-status { background: #2c2114; color: #ffbd83; }
.nesting-status.warn { background: #351a18; color: #ffb28f; }
.nesting-stats div { background: #111b21; border-color: #34434b; }
.nesting-stats span { color: #9eafb4; }
.nesting-stats b { color: #f2f6f5; }
.file-chip { background: #352415; color: #ffc18b; border: 1px solid #5c3b1d; }
.file-chip:hover { background: #4b2f18; color: #fff3e8; }
.file-chip small { color: #e8a86c; }
.subscription-badge { background: #2c2114; color: #ffc181; }
.subscription-seat-field { color: #c1ced1; }
.subscription-seat-field input {
  color: #f4f7f6;
  background: #0a1217;
  border-color: #3a4b54;
}
.subscription-seat-field input:focus { border-color: #ff7a1a; box-shadow: 0 0 0 3px #ff7a1a24; }
.subscription-seat-field small, .subscription-hint { color: #9bacb1; }
.subscription-quote div { background: #1b211c; border-color: #4b5842; }
.subscription-quote span, .subscription-details span { color: #a9b7b9; }
.subscription-quote strong { color: #ffbe80; }
.subscription-steps div { color: #b4c1c4; }
.subscription-steps b { background: #2b2115; color: #ffc182; }
.subscription-contact { border-color: #29363e; color: #9cabaf; }
.subscription-contact a { color: #ffad67; }
.subscription-details { background: #29363e; }
.subscription-details div { background: #10191f; }
.subscription-details strong { color: #f4f7f6; }
.nesting-badge {
  border: 1px solid #70431f;
  background: #2b2114;
  color: #ffc080;
}
.button.danger {
  border-color: #7d3d34;
  background: #2d1918;
  color: #ffb4a4;
}
.button.danger:hover {
  border-color: #b85c4e;
  background: #46221f;
  color: #fff0ec;
}

.pricing-catalog { margin-bottom: 18px; }
.pricing-tariffs { display: grid; grid-template-columns: 1fr; gap: 14px; }
.pricing-tariff { margin: 0; padding: 18px; background: #fbfcf8; }
.pricing-tariff .panel-head { margin-bottom: 14px; }
.pricing-tariff .panel-head h2 { font-size: 18px; }
.pricing-region-note { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; background: #f0f6d8; color: #5c7020; font-size: 13px; }
.pricing-currency-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.pricing-currency { padding: 12px; border: 1px solid var(--line, #dfe5dc); border-radius: 9px; background: #fff; }
.pricing-currency h3 { margin: 0 0 10px; font-size: 14px; }
.pricing-currency h3 span { color: #7a8d82; font-weight: 500; }
.pricing-currency label + label { margin-top: 9px; }
.pricing-services { display: grid; gap: 12px; }
.pricing-service { padding: 14px; border: 1px solid var(--line, #dfe5dc); border-radius: 10px; background: #fbfcf8; }
.pricing-service-main { display: grid; grid-template-columns: 1.1fr 1.5fr auto auto; gap: 12px; align-items: end; }
.pricing-service-active { display: flex; align-items: center; gap: 8px; padding-bottom: 11px; white-space: nowrap; }
.pricing-service-active input { width: auto; }
.pricing-service-currencies { margin-top: 14px; }
.pricing-services-empty { margin: 0; }
.pricing-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 18px; }
@media (max-width: 980px) {
  .pricing-currency-grid { grid-template-columns: 1fr; }
  .pricing-service-main { grid-template-columns: 1fr 1fr; }
  .pricing-service-main button { justify-self: start; }
}
@media (max-width: 620px) {
  .pricing-service-main { grid-template-columns: 1fr; }
  .pricing-actions { align-items: stretch; flex-direction: column; }
}

/* Pricing catalog uses the same dark steel and safety-orange palette as the developer workspace. */
.pricing-tariff,
.pricing-service { background: #10191f; border-color: #34434b; color: #f4f7f6; }
.pricing-tariff .panel-head { border-bottom-color: #29363e; }
.pricing-tariff .panel-head h2,
.pricing-tariff label,
.pricing-service label,
.pricing-currency h3 { color: #f1f6f5; }
.pricing-tariff .panel-head p,
.pricing-tariff .mono,
.pricing-service .pricing-service-active { color: #aebbc1; }
.pricing-tariff > label { display: block; margin-top: 14px; }
.pricing-currency { background: #151f25; border-color: #3b4a52; }
.pricing-currency h3 { border-left: 3px solid #ff7a1a; padding-left: 8px; }
.pricing-currency h3 span { color: #ffb46f; }
.pricing-currency label,
.pricing-tariff > label,
.pricing-service-main label { display: block; color: #c2ced0; }
.pricing-currency input,
.pricing-tariff > label input,
.pricing-service-main input { display: block; width: 100%; min-height: 40px; margin-top: 6px; padding: 9px 10px; border-radius: 7px; }
.pricing-currency input,
.pricing-service input { color: #f4f7f6; background: #0b1217; border: 1px solid #34434b; }
.pricing-currency input:focus,
.pricing-service input:focus { border-color: #ff7a1a; box-shadow: 0 0 0 3px #ff7a1a24; outline: none; }
.pricing-region-note { background: #2c2114; color: #ffc181; border: 1px solid #70431f; }
.pricing-region-note strong { color: #ff9341; }
.pricing-service-main .button { background: #152128; border-color: #3b4a52; color: #eef4f4; }
.pricing-service-main .button:hover { border-color: #ff7a1a; color: #fff; }

.support-toolbar { display: flex; justify-content: flex-end; margin-bottom: 14px; }
.support-layout { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); gap: 14px; align-items: stretch; }
.support-threads, .support-chat { min-height: 560px; }
.support-list-head, .support-chat-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 20px 21px 15px; border-bottom: 1px solid #29363e; }
.support-list-head h2, .support-chat-head h2 { margin: 0; font-size: 17px; color: #f1f6f5; }
.support-list-head p { margin: 5px 0 0; color: #aebbc1; font-size: 12px; }
.support-thread-list { display: grid; gap: 7px; padding: 10px; }
.support-thread-item { display: block; width: 100%; padding: 12px; border: 1px solid #293a43; border-radius: 8px; background: #111c22; color: #e4ecec; text-align: left; cursor: pointer; }
.support-thread-item:hover, .support-thread-item.selected { border-color: #ff7a1a; background: #2b1d13; }
.support-thread-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.support-thread-item strong { display: block; font-size: 13px; line-height: 1.35; }
.support-thread-item small, .support-thread-item > span:last-child { display: block; margin-top: 5px; color: #aebbc1; font-size: 11px; line-height: 1.35; }
.support-thread-item > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #87979d; }
.support-unread { flex: none; padding: 3px 6px; border-radius: 8px; background: #ff7a1a; color: #1a1009; font-size: 10px; }
.support-chat { display: flex; flex-direction: column; overflow: hidden; }
.support-chat-head { align-items: center; }
.support-chat-head .eyebrow { margin-bottom: 5px; color: #ff9341; }
.support-status { display: inline-block; margin-top: 8px; padding: 4px 8px; border-radius: 9px; background: #2c2114; color: #ffc181; font-size: 11px; font-weight: 800; }
.support-status.closed { background: #263137; color: #b6c2c4; }
.support-messages { flex: 1; min-height: 360px; max-height: 470px; overflow-y: auto; padding: 18px 21px; background: #0b1318; }
.support-message { max-width: 78%; margin-bottom: 12px; padding: 11px 13px; border: 1px solid #34434b; border-radius: 9px; background: #151f25; }
.support-message.from-company { margin-right: auto; }
.support-message.from-developer { margin-left: auto; border-color: #70431f; background: #2b1d13; }
.support-message-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.support-message-head strong { color: #f1f6f5; font-size: 12px; }
.support-message-head small { color: #94a5aa; font-size: 10px; }
.support-message p { margin: 0; color: #dce6e6; font-size: 13px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.support-composer { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 14px 21px 18px; border-top: 1px solid #29363e; background: #10191f; }
.support-composer textarea, .account-form textarea { min-height: 76px; width: 100%; resize: vertical; padding: 10px; border: 1px solid #34434b; border-radius: 7px; background: #0b1217; color: #f4f7f6; font: 13px Manrope, sans-serif; }
.support-composer textarea:focus, .account-form textarea:focus { outline: none; border-color: #ff7a1a; box-shadow: 0 0 0 3px #ff7a1a24; }
.support-composer .button { align-self: end; white-space: nowrap; }
.support-chat-placeholder, .support-empty { display: flex; min-height: 260px; align-items: center; justify-content: center; flex-direction: column; gap: 8px; padding: 25px; color: #9eafb4; text-align: center; }
.support-chat-placeholder strong { color: #f1f6f5; font-size: 16px; }
.support-chat-placeholder span { max-width: 320px; line-height: 1.5; }
@media (max-width: 880px) { .support-layout { grid-template-columns: 1fr; } .support-threads, .support-chat { min-height: auto; } .support-messages { max-height: none; } }
@media (max-width: 560px) { .support-composer { grid-template-columns: 1fr; } .support-composer .button { justify-self: start; } .support-message { max-width: 92%; } }

.detail-inputs-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.detail-inputs-header > div { min-width: 0; }
.detail-inputs-header .detail-add { flex: none; white-space: nowrap; }
.detail-remove { flex: none; border: 0; padding: 3px 0; background: transparent; color: #db8a54; font: 11px Manrope, sans-serif; cursor: pointer; }
.detail-remove:hover { color: #ffb47b; text-decoration: underline; }
@media (max-width: 560px) {
  .detail-inputs-header { align-items: stretch; flex-direction: column; }
  .detail-inputs-header .detail-add { align-self: flex-start; }
}

.file-preview { margin: 10px 0 12px; overflow: hidden; border: 1px solid #293a43; border-radius: 8px; background: #0b1318; }
.file-preview-head, .file-preview-controls { display: flex; align-items: center; gap: 8px; padding: 8px 10px; color: #dce6e6; font-size: 11px; }
.file-preview-head { justify-content: space-between; border-bottom: 1px solid #293a43; }
.file-preview-head span { color: #ffae6f; font: 10px 'DM Mono', monospace; }
.file-preview-viewport { position: relative; height: 250px; overflow: hidden; display: grid; place-items: center; background: repeating-linear-gradient(45deg, #0b1318, #0b1318 8px, #0e181e 8px, #0e181e 16px); cursor: grab; touch-action: none; }
.file-preview-dwg .file-preview-viewport { background: #000; }
.file-preview-viewport.is-dragging { cursor: grabbing; }
.file-preview-surface { width: 100%; height: 100%; display: grid; place-items: center; transform-origin: center; transition: none; }
.file-preview-viewport.is-dragging .file-preview-surface { transition: none; }
.file-preview-viewport.is-dragging .file-preview-surface > svg > g { filter: none; }
.file-preview-surface img { max-width: 100%; max-height: 100%; object-fit: contain; pointer-events: none; user-select: none; }
.file-preview-surface iframe { width: 100%; height: 100%; border: 0; background: #fff; pointer-events: none; }
.file-preview-surface > svg { width: 92%; height: 92%; max-width: none; max-height: none; overflow: visible; background: #000; border-radius: 4px; pointer-events: none; }
.file-preview-dwg .file-preview-surface > svg { width: 100%; height: 100%; border-radius: 0; }
.file-preview-surface > svg * { vector-effect: non-scaling-stroke; }
.file-preview-dwg .file-preview-surface > svg path,
.file-preview-dwg .file-preview-surface > svg line,
.file-preview-dwg .file-preview-surface > svg polyline,
.file-preview-dwg .file-preview-surface > svg polygon,
.file-preview-dwg .file-preview-surface > svg circle,
.file-preview-dwg .file-preview-surface > svg ellipse,
.file-preview-dwg .file-preview-surface > svg rect { stroke: #ffffff !important; stroke-width: 1px !important; }
.file-preview-dwg .file-preview-surface > svg text { stroke: none !important; fill: #ffffff !important; }
.file-preview-dwg .file-preview-surface > svg > g { filter: none; }
.file-preview-placeholder { display: grid; gap: 7px; max-width: 80%; padding: 20px; border: 1px dashed #53656d; border-radius: 8px; color: #dce6e6; text-align: center; }
.file-preview-placeholder span { overflow: hidden; color: #ffae6f; text-overflow: ellipsis; white-space: nowrap; }
.file-preview-placeholder small { color: #9aabb0; line-height: 1.45; }
.file-preview-loading { border-color: #ff7a1a; }
.file-preview-error { border-color: #d86a5c; color: #ffd0c9; }
.file-preview-hint { position: absolute; left: 10px; bottom: 8px; padding: 4px 6px; border-radius: 4px; background: #071016cc; color: #9aabb0; font-size: 10px; pointer-events: none; }
.file-preview-controls { justify-content: flex-end; border-top: 1px solid #293a43; }
.file-preview-controls button, .file-preview-controls output { min-width: 27px; height: 24px; padding: 3px 8px; border: 1px solid #3b4a52; border-radius: 5px; background: #152128; color: #ffb46f; font: 700 11px Manrope, sans-serif; }
.file-preview-controls button { cursor: pointer; }
.file-preview-controls button:hover { border-color: #ff7a1a; color: #fff; }
.file-preview-controls output { display: grid; place-items: center; color: #dce6e6; }
@media (max-width: 560px) { .file-preview-viewport { height: 210px; } .file-preview-hint { font-size: 9px; } }

/* Nesting options, residue and sharp CAD zoom. */
.nesting-algorithm-options{margin-top:12px;padding:13px;border:1px solid #dfe8d2;border-radius:8px;background:#f6f9e9}.nesting-options-grid{display:grid;grid-template-columns:1.2fr 1fr 1.25fr .8fr;gap:9px;align-items:end}.nesting-options-grid label{display:grid;gap:5px;color:#526348;font-size:11px}.nesting-options-grid select,.nesting-options-grid input[type=number]{width:100%;min-height:34px;padding:7px 8px;border:1px solid #d6e0ce;border-radius:6px;background:#fff;color:#40503e;font:12px Manrope}.nesting-options-grid .nesting-check{display:flex;align-items:center;gap:7px;min-height:34px;line-height:1.3}.nesting-check input{width:auto;accent-color:#8ba51e}.nesting-leftover{fill:#e9b95e;fill-opacity:.16;stroke:#d29333;stroke-width:1.5;stroke-dasharray:5 4}.nesting-skeleton{fill:#d97c3f;fill-opacity:.12;stroke:#f0a567;stroke-width:2;stroke-dasharray:4 3}.nesting-legend .leftover,.order-cut-legend .legend-leftover{background:#e9b95e;border:1px solid #d29333}.nesting-legend .skeleton,.order-cut-legend .legend-skeleton{background:#d97c3f;border:1px solid #f0a567}.zoom-surface{will-change:auto!important}.zoom-surface svg,.cad-live-svg,.cad-live-map{shape-rendering:geometricPrecision;image-rendering:auto}.cad-live-map [stroke]{filter:none!important}
.cad-sizing-note{display:grid;gap:4px;margin-top:14px;padding:10px 12px;border:1px solid #b6d36f;border-radius:8px;background:#17251e;color:#dce8c8;font-size:11px}.cad-sizing-note span{color:#aebdac}.cad-dimension-status{display:grid;align-content:center;gap:4px;min-height:43px;padding:7px 9px;border:1px solid #91b452;border-radius:6px;background:#213426;color:#dce8c8;font-size:10px}.cad-dimension-status strong{font-size:12px;color:#f3f7ed}.cad-dimension-status.pending{border-color:#5c6a70;background:#182228;color:#a9b7bb}.cad-dimension-status.pending strong{color:#d6e0e0}
@media(max-width:1100px){.nesting-options-grid{grid-template-columns:1fr 1fr}}@media(max-width:780px){.nesting-options-grid{grid-template-columns:1fr}}

/* File cards stay side by side; each card keeps its own parameters and editor. */
#order-file-list.file-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px}#order-file-list .file-list-head{grid-column:1/-1}#order-file-list .file-row{height:100%;box-sizing:border-box;background:#111c22;border-color:#34434b;color:#dce6e6}#order-file-list .file-detail-title{color:#dce6e6}#order-file-list .file-detail-title span{color:#90a0a5}.file-editor-open{margin-left:auto!important;white-space:nowrap!important}.nesting-actions{display:flex;align-items:center;gap:8px}.file-editor-dialog{width:min(1080px,100%);padding:22px}.file-editor-modal h2{margin-bottom:4px}.file-editor-modal .account-dialog-subtitle{margin-bottom:14px}.file-editor-modal .file-preview{margin:0}.file-editor-modal .file-preview-viewport{height:min(68vh,650px)}
@media(max-width:900px){#order-file-list.file-list{grid-template-columns:1fr}.file-editor-dialog{padding:18px}.nesting-actions{align-items:flex-end;flex-direction:column;gap:5px}}
.file-chip-button{border:0;cursor:pointer;font:inherit;text-align:left}.file-chip-button:focus{outline:2px solid #ff7a1a;outline-offset:2px}.saved-file-preview .file-preview-surface>svg{width:100%;height:100%;max-width:none;max-height:none;background:#000}.saved-file-preview .file-preview-surface>svg *{vector-effect:non-scaling-stroke}.saved-file-preview .file-preview-surface>svg [stroke]{stroke:#fff!important;stroke-width:1px!important}.saved-file-preview .file-preview-surface>svg text{fill:#fff!important;stroke:none!important}
.nesting-canvas[data-nesting-viewport]{position:relative;display:block;overflow:hidden;cursor:grab;touch-action:none}.nesting-canvas[data-nesting-viewport].is-dragging{cursor:grabbing}.nesting-surface{position:absolute;inset:0;display:grid;place-items:center;transform-origin:0 0;will-change:auto}.nesting-canvas[data-nesting-viewport] .nesting-surface svg{width:100%;height:100%;max-width:none;max-height:none;transform:none}.nesting-toolbar output{display:grid;place-items:center;min-width:42px;height:23px;padding:2px 5px;border:1px solid #d9e1d4;border-radius:5px;background:#fff;color:#78857f;font:700 11px Manrope}.nesting-toolbar button[data-nesting-fullscreen]{width:auto;padding:0 7px;font-size:11px;white-space:nowrap}.nesting-panel.is-fullscreen{position:fixed;inset:16px;z-index:80;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.28)}.nesting-panel.is-fullscreen .panel-head{flex:none}.nesting-panel.is-fullscreen #nesting-map{display:flex;flex:1;min-height:0;flex-direction:column}.nesting-panel.is-fullscreen #nesting-map .nesting-toolbar,.nesting-panel.is-fullscreen #nesting-map .nesting-legend{flex:none}.nesting-panel.is-fullscreen #nesting-map .nesting-canvas{flex:1;min-height:0;max-height:none}.nesting-panel.is-fullscreen #nesting-map .nesting-note{flex:none}.nesting-fullscreen-open{overflow:hidden}
.nesting-toolbar button[data-nesting-orientation]{width:auto;padding:0 7px;font-size:11px;white-space:nowrap}
.nesting-canvas>svg,.nesting-canvas .cad-live-map{shape-rendering:geometricPrecision;text-rendering:geometricPrecision}.nesting-part-frame{fill:#b8dc3d;stroke:#78951e;stroke-width:2}.nesting-part .nesting-cad-frame{fill:transparent!important;stroke:#b8dc3d;stroke-width:1.5;stroke-dasharray:4 3}.nesting-canvas .cad-live-map [stroke]{stroke:#f4ffff!important;stroke-width:1.8px!important;vector-effect:non-scaling-stroke;filter:none!important}.nesting-canvas .cad-live-map text{fill:#f4ffff!important;stroke:none!important}
.nesting-progress{margin:10px 14px;padding:10px 12px;border:1px solid #a75b2b;border-radius:7px;background:#271c14;color:#ffd0a8}.nesting-progress.is-current{border-color:#6b8b35;background:#172219;color:#c8e47c}.nesting-progress-head{display:flex;justify-content:space-between;gap:10px;font-size:12px}.nesting-progress-track{height:7px;margin:8px 0 6px;overflow:hidden;border-radius:999px;background:#3a3027}.nesting-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff7a1a,#b8dc3d);transition:width .18s ease}.nesting-progress small,.nesting-progress-algorithm{display:block;color:#a6aaa0;font-size:10px;line-height:1.35}.nesting-progress-algorithm{margin-top:3px;color:#d9b58e}.nesting-progress.is-current .nesting-progress-algorithm{color:#abc778}
.nesting-unplaced-list{display:grid;gap:8px;margin-top:10px;padding:10px 12px;border:1px solid #754033;border-radius:7px;background:#2a1717;color:#ffd0c9;font-size:11px}.nesting-unplaced-list>strong{color:#ffb59f}.nesting-unplaced-list div{display:grid;gap:2px}.nesting-unplaced-list b{font-size:11px}.nesting-unplaced-list span{color:#d9aaa1;line-height:1.4}
.company-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.company-status-cell .button{flex:none}.company-status-cell .button:disabled{opacity:.55;cursor:wait}

/* Canonical contour fills: holes are transparent and rotations match the solver. */
.nesting-part path,.order-exact-contour { fill:var(--part-fill,#b8dc3d);stroke:var(--part-stroke,#729027);stroke-width:1;fill-rule:evenodd; }
.nesting-part-0 {--part-fill:#aec470;--part-stroke:#e0eab6;}
.nesting-part-1 {--part-fill:#69aaab;--part-stroke:#a8dbdc;}
.nesting-part-2 {--part-fill:#b17cb5;--part-stroke:#ddb4df;}
.nesting-part-3 {--part-fill:#d3ab70;--part-stroke:#f1d5ac;}
.nesting-part-4 {--part-fill:#758db6;--part-stroke:#b0c2e2;}
.nesting-part-5 {--part-fill:#c98479;--part-stroke:#edb7af;}
.nesting-toolbar button[data-nesting-focus-parts]{width:auto;padding:0 8px;white-space:nowrap;font-size:11px}.nesting-toolbar button[data-nesting-focus-parts][aria-pressed="true"]{background:#d8e8ab;border-color:#809c48;color:#34451c}
.pagination-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--line);color:#7c8984;font-size:12px}.pagination-controls>div{display:flex;align-items:center;gap:9px}.pagination-controls strong{font:12px 'DM Mono',monospace;color:#54655c}.pagination-controls .button:disabled{opacity:.45;cursor:not-allowed}.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.billing-panel{overflow:hidden}.billing-panel .table-wrap{max-height:310px}.operations-panel{margin-top:14px;overflow:hidden}.operation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}.operation-summary>div{padding:13px 16px;background:#fff}.operation-summary span,.operation-row small{display:block;color:#7c8984;font-size:11px}.operation-summary strong{display:block;margin-top:5px;font-size:13px}.operation-error{grid-column:1 / -1}.operation-error strong{color:#bd704c}.nesting-job-progress{height:7px;margin:14px 20px 0;border-radius:6px;background:#e9eee7;overflow:hidden}.nesting-job-progress i{display:block;height:100%;border-radius:6px;background:var(--lime-dark);transition:width .25s}.operation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 20px}.operation-hint{color:#7c8984;font-size:12px}.operation-section{padding:14px 20px;border-top:1px solid var(--line)}.operation-section h3{margin:0 0 10px;font-size:14px}.operation-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #eef1ed}.operation-row>div{flex:1;min-width:0}.operation-row strong{display:block}.operation-row small{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quality-badge{padding:4px 8px;border-radius:10px;background:#fff0e9;color:#bd704c;font-size:11px;font-weight:800}.quality-badge.verified{background:#edf5d6;color:#71921a}.readiness-box{margin:15px 20px 0;padding:14px 16px;border:1px solid #efcdbd;border-radius:8px;background:#fff8f4;color:#6d5b52}.readiness-box.ready{border-color:#dce9ae;background:#f5f9e7;color:#52651b}.readiness-box>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.readiness-box strong{font-size:14px}.readiness-box span{font:11px 'DM Mono',monospace}.readiness-box ul{margin:10px 0 0;padding-left:20px;color:#a85c3b;font-size:12px;line-height:1.5}.readiness-box.ready p{margin:10px 0 0;font-size:12px}.production-actions{display:flex;flex-wrap:wrap;gap:6px}.production-help{margin-top:14px;padding:22px}.production-help h2{margin:0;font-size:17px}.production-help p:not(.eyebrow){max-width:620px;color:#687770;line-height:1.6}.machine-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);margin-top:16px;padding-top:15px}.check-row{display:flex!important;align-items:center;gap:8px}.check-row input,.machine-options input{width:auto!important;display:inline!important;margin:0!important;accent-color:var(--lime-dark)}#production-company{display:block;margin-top:7px;min-width:220px;border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px;color:#596569;font:13px Manrope}
@media(max-width:800px){.billing-grid{grid-template-columns:1fr}.operation-summary{grid-template-columns:1fr 1fr}.operation-error{grid-column:1 / -1}.pagination-controls{align-items:flex-start;flex-direction:column}.machine-options{grid-template-columns:1fr}}
.dwg-search-panel{margin-bottom:14px}.dwg-search-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.dwg-search-controls label{display:grid;gap:6px;min-width:min(100%,340px);color:var(--muted,#91a0a6);font-size:12px}.dwg-search-controls input[type=file]{max-width:100%;padding:9px;border:1px solid var(--line,#304149);border-radius:7px;background:var(--panel,#111d23);color:var(--text,#e6eff1)}.dwg-search-note,.dwg-search-message{display:block;margin:9px 0;color:var(--muted,#91a0a6);font-size:12px;line-height:1.5}.dwg-search-message.error{color:#ff9d90}.dwg-match-file{display:inline-block;margin:2px;padding:3px 6px;border:1px solid var(--line,#304149);border-radius:5px;font-size:11px;overflow-wrap:anywhere}
@media(max-width:640px){.dwg-search-controls{align-items:stretch;flex-direction:column}.dwg-search-controls label{min-width:0}.dwg-search-controls .button{width:100%}}
.order-file-upload{display:grid;gap:10px;margin:14px 0;padding:12px;border:1px dashed var(--line);border-radius:10px}.order-file-upload .file-upload{display:grid;gap:6px}.order-file-upload input{width:100%;font-size:12px}.order-file-upload small{color:var(--muted)}.order-file-upload .button{justify-self:start}

/* Order detail: keep the nesting map full width and match the dark workspace. */
.order-layout-grid{grid-template-columns:minmax(0,1fr)}
.order-detail-top>.detail-panel:first-child{background:#10191f;border-color:#29363e;color:#e1e8ea}
.order-detail-top>.detail-panel:first-child .detail-status{border-color:#29363e}
.order-detail-top>.detail-panel:first-child .detail-grid{background:#29363e}
.order-detail-top>.detail-panel:first-child .detail-grid>div{background:#152128}
.order-detail-top>.detail-panel:first-child .detail-grid span{color:#91a0a6}
.order-detail-top>.detail-panel:first-child .detail-grid b{color:#e1e8ea}
.order-detail-top>.detail-panel:first-child .order-status-row{background:#10191f;border-color:#29363e}
.order-detail-top>.detail-panel:first-child .order-status-control select{border-color:#34464e;background:#152128;color:#e1e8ea}
.order-layout-editor{display:grid;gap:10px;margin:14px 0;padding:16px;border:1px solid #29363e;border-radius:9px;background:#10191f;color:#e1e8ea}
.order-layout-editor h3{margin:0;font-size:14px}
.order-layout-editor p{margin:5px 0 0;color:#91a0a6;font-size:12px;line-height:1.5}
.order-layout-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px;padding:10px;border:1px solid #29363e;border-radius:7px;background:#152128}
.order-layout-edit-row>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dbe5e8}
.order-layout-edit-row>strong,.order-layout-edit-row label:last-child{grid-column:1/-1}
.order-layout-edit-row label{display:grid;gap:5px;color:#91a0a6;font-size:11px}
.order-layout-edit-row input{width:100%;min-width:0;border:1px solid #34464e;border-radius:5px;background:#0b1318;color:#e1e8ea;padding:7px;font:12px Manrope}
.order-layout-editor>.button{justify-self:start}
.pick-sheet:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.45)}
.detail-material-choice{grid-column:1/-1}.detail-material-choice select{min-width:0;max-width:100%;white-space:normal}.file-detail-fields .detail-material-choice{grid-column:1/-1}.nesting-material-price-list{display:grid;gap:7px;border-top:1px solid #35434a;margin-top:8px;padding-top:8px}.nesting-material-price-list>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.nesting-material-price-list span{color:#aab9bc;font-size:11px}.nesting-material-price-list b{white-space:nowrap}
@media(max-width:780px){.order-layout-edit-row{grid-template-columns:1fr 1fr}.order-layout-edit-row>strong{grid-column:1/-1}}
.manager-price-total{display:block;color:#ff7a1a!important;font-size:32px;margin-top:14px}
.manager-price-note{min-height:36px;line-height:1.45}
.detail-inputs-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.same-material-toggle{display:inline-flex;align-items:center;gap:8px;color:#d1dcdf;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}.same-material-toggle input{width:15px;height:15px;margin:0;accent-color:#ff7a1a}.shared-material-picker{margin:12px 0 16px;padding:12px;border:1px solid #35464e;border-radius:8px;background:#0d171d}.shared-material-picker h3{margin:0;color:#eef5f5;font-size:13px}.shared-material-picker>p{margin:5px 0 0;color:#9aa9ae;font-size:11px;line-height:1.45}.shared-material-picker .sheet-picker{margin-top:9px}.file-list-head>div{display:grid;gap:3px}.file-list-head .same-material-toggle{flex:none}#order-file-list .shared-material-picker{grid-column:1/-1}
@media(max-width:560px){.detail-inputs-actions{justify-content:flex-start;flex-direction:column;align-items:flex-start;gap:8px}}
.nesting-price-quote{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:14px;border:1px solid #76502d;border-radius:8px;background:#2b2118}
.nesting-price-quote>div span,.nesting-price-quote>div b{display:block}
.nesting-price-quote>div span{color:#d5b28f;font-size:11px}
.nesting-price-quote>div b{margin-top:4px;color:#ffbd83;font-size:18px}
.nesting-price-quote>small{grid-column:1/-1;color:#bba995;font-size:11px;line-height:1.4}
.nesting-price-quote .nesting-area-toggle{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:#d5b28f;font-size:12px;cursor:pointer}
.nesting-price-quote .nesting-area-toggle input{accent-color:#ff7a1a}
.nesting-price-quote .nesting-area-value{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid #76502d}
.nesting-price-quote .nesting-area-value span{color:#d5b28f;font-size:11px}
.nesting-price-quote .nesting-area-value b{margin:0;color:#ffbd83;font-size:15px}
.company-sheet-prices .sheet-price-editor{display:flex;align-items:center;gap:8px;white-space:nowrap}
.company-sheet-prices .sheet-price-editor span{color:var(--muted);font-size:12px}
.company-sheet-prices .save-sheet-price{white-space:nowrap}
@media(max-width:480px){.nesting-price-quote{grid-template-columns:1fr}}

.login-switch{display:block;width:100%;margin-top:18px;padding:10px 0;border:0;background:transparent;color:#ffad70;font:700 12px Manrope;text-align:center;cursor:pointer}
.login-switch:hover{color:#fff}
.register-screen{align-items:start;grid-template-columns:minmax(260px,.9fr) minmax(360px,560px);gap:clamp(24px,6vw,92px);padding:clamp(20px,5vh,54px) clamp(20px,6vw,96px)}
.registration-card{width:100%;max-height:calc(100vh - 40px);overflow:auto;overscroll-behavior:contain;scrollbar-color:#43545a #10191f}
.registration-card .login-brand{margin-bottom:30px}
.registration-card form{display:grid;gap:3px}
.registration-card label{margin-top:12px}
.registration-card select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #3c4c55;border-radius:6px;background:#0a1217;color:#f5f7f6;font:14px Manrope}
.registration-card select:focus{outline:0;border-color:#ff7a1a;box-shadow:0 0 0 3px #ff7a1a2b}
.registration-options{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}
.registration-consent{display:flex!important;align-items:flex-start;gap:10px;margin-top:18px!important;color:#b5c1c4!important;font-size:11px!important;font-weight:500!important;line-height:1.5;cursor:pointer}
.registration-consent input{flex:none;width:16px;height:16px;margin:2px 0 0;accent-color:#ff7a1a}
.register-price-preview{margin:11px 0 3px;padding:13px 14px;border:1px solid #5a402b;border-radius:7px;background:linear-gradient(115deg,#261a12,#11191d);color:#c2ced0;font-size:12px;line-height:1.5}
.register-price-preview strong{display:block;margin-top:3px;color:#ffad70;font:700 20px 'Roboto Condensed',sans-serif}
.register-price-preview small{color:#98a7ab}
.registration-card .login-button{width:100%;justify-content:center;gap:10px}
.registration-card .login-error{min-height:18px}
.inquiry-message{min-width:220px;max-width:420px;white-space:pre-wrap;line-height:1.5;color:#c6d0d2}
@media(max-width:900px){.register-screen{grid-template-columns:1fr;max-width:720px;margin:0 auto}.register-screen .login-story{min-height:0;padding:22px}.register-screen .login-features{display:none}.registration-card{max-height:none}}
@media(max-width:560px){.register-screen{padding:14px}.registration-card{padding:24px 18px}.registration-options{grid-template-columns:1fr}.register-screen .login-story{padding:18px}.register-screen .login-story h2{font-size:32px}}

/* Personal purchase portal: keep company provisioning separate from account signup. */
.account-purchase-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);gap:14px;align-items:stretch}
.account-purchase-form-panel,.account-purchase-steps{background:radial-gradient(ellipse at 100% 0,#20231c 0,transparent 42%),#10191f;border-color:#29363e;color:#e1e8ea}
.account-purchase-form-panel .panel-head{align-items:flex-start}
.account-purchase-form-panel .panel-head h2,.account-purchase-steps h2{margin:3px 0 0;color:#f5f7f6;font:700 25px 'Roboto Condensed',sans-serif;letter-spacing:-.02em}
.account-purchase-form-panel .panel-head p:not(.eyebrow){margin:5px 0 0;color:#91a0a6;font-size:12px;line-height:1.5}
.account-purchase-form{display:grid;gap:13px;margin-top:16px}
.account-purchase-form>label,.account-purchase-fields label{display:grid;gap:7px;color:#b9c5c7;font-size:12px;font-weight:700}
.account-purchase-form input,.account-purchase-form select{width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid #34464e;border-radius:7px;background:#0a1217;color:#f4f7f6;font:13px Manrope,sans-serif}
.account-purchase-form input:focus,.account-purchase-form select:focus{outline:0;border-color:#ff7a1a;box-shadow:0 0 0 3px #ff7a1a26}
.account-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.account-plan-option{display:grid;gap:7px;min-width:0;padding:13px 12px;border:1px solid #34434a;border-radius:8px;background:#121e24;color:#e1e8ea;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.account-plan-option:hover{transform:translateY(-2px);border-color:#9b5a2b;background:#19252a}
.account-plan-option.is-selected{border-color:#ff7a1a;background:linear-gradient(145deg,#302116,#172126);box-shadow:inset 0 0 0 1px #ff7a1a45}
.account-plan-option>span{color:#ffad70;font:10px 'DM Mono',monospace;letter-spacing:.08em}
.account-plan-option strong{font:700 17px 'Roboto Condensed',sans-serif}
.account-plan-option small{color:#9caaad;font-size:10px;line-height:1.4}
.account-purchase-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.account-purchase-quote{display:grid;gap:5px;padding:15px 16px;border:1px solid #5b442e;border-radius:8px;background:linear-gradient(110deg,#281c13,#111a1e 75%)}
.account-purchase-quote>span{color:#ffad70;font:10px 'DM Mono',monospace;letter-spacing:.1em}
.account-purchase-quote>strong{color:#f5f7f6;font:700 clamp(20px,3vw,28px) 'Roboto Condensed',sans-serif}
.account-purchase-quote>small{color:#9eaaac;font-size:11px;line-height:1.45}
.account-purchase-form>.button{justify-self:start;min-width:210px}
.account-purchase-notice{display:grid;gap:4px;margin-top:12px;padding:12px 13px;border:1px solid #51432d;border-radius:7px;background:#211d16;color:#f4c18d;font-size:12px}
.account-purchase-notice span{color:#a9b4b6;font-size:11px;line-height:1.45}
.account-purchase-notice .button{justify-self:start;margin-top:6px}
.account-purchase-notice.is-payment{border-color:#66502e;background:#241d15}
.account-purchase-steps{display:flex;flex-direction:column;gap:18px;padding:22px}
.account-purchase-steps>.eyebrow{margin:0;color:#ffad70;font:10px 'DM Mono',monospace;letter-spacing:.1em}
.account-purchase-steps h2{margin:0 0 3px;font-size:30px;line-height:1.05}
.account-purchase-steps>div{display:flex;gap:12px;align-items:flex-start}
.account-purchase-steps>div>b{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #6c482b;border-radius:50%;color:#ffad70;font:10px 'DM Mono',monospace}
.account-purchase-steps>div span{display:grid;gap:4px}
.account-purchase-steps>div strong{color:#e5ebeb;font-size:12px}
.account-purchase-steps>div small{color:#91a0a6;font-size:11px;line-height:1.45}
.account-purchase-steps>a{margin-top:auto;padding-top:14px;border-top:1px solid #29363e;color:#ffad70;font-size:11px;font-weight:700;text-decoration:none}
.account-activated{display:flex;align-items:center;gap:18px;padding:24px;background:radial-gradient(ellipse at 0 0,#25301b,transparent 48%),#10191f;border-color:#364334;color:#e1e8ea}
.account-activated-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:#24311b;color:#c6ea66;font-size:24px}
.account-activated h2{margin:0;color:#f5f7f6;font:700 23px 'Roboto Condensed',sans-serif}
.account-activated p{margin:6px 0 14px;color:#a9b7b9;font-size:13px}
@media(max-width:900px){.account-purchase-layout{grid-template-columns:1fr}.account-purchase-steps{display:grid;grid-template-columns:1fr 1fr}.account-purchase-steps>.eyebrow,.account-purchase-steps h2,.account-purchase-steps>a{grid-column:1/-1}.account-purchase-steps h2 br{display:none}}
@media(max-width:560px){.account-plan-grid{grid-template-columns:1fr}.account-plan-option{grid-template-columns:1fr auto;align-items:center}.account-plan-option>span{grid-column:1/-1}.account-purchase-fields,.account-purchase-steps{grid-template-columns:1fr}.account-purchase-steps>.eyebrow,.account-purchase-steps h2,.account-purchase-steps>a{grid-column:auto}.account-activated{align-items:flex-start;flex-direction:column}.account-purchase-form>.button{width:100%;justify-content:center}}

.google-auth-block{display:grid;gap:10px;margin-top:15px}
.google-auth-divider{display:flex;align-items:center;gap:12px;color:#879599;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.google-auth-divider::before,.google-auth-divider::after{height:1px;flex:1;background:#29363e;content:""}
.google-button-slot{display:flex;justify-content:center;min-height:40px}
.google-button-slot iframe{max-width:100%}
.google-auth-status{min-height:0;margin:0;color:#a9b7bb;font-size:11px;line-height:1.45;text-align:center}
.google-auth-status:empty{display:none}
.google-sign-in-fallback{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:44px;padding:9px 14px;border:1px solid #43525a;border-radius:6px;background:#10191f;color:#e5ebed;font:700 12px Manrope,Arial,sans-serif;cursor:not-allowed;opacity:.9}
.google-sign-in-fallback svg{width:19px;height:19px;flex:none}
.google-sign-in-fallback:disabled{color:#e5ebed}
.pricing-terms{display:grid;gap:10px}
.pricing-term{display:grid;grid-template-columns:1fr minmax(150px,240px);gap:16px;align-items:center;padding:13px 16px;border:1px solid #34434b;background:#10191f;color:#f1f6f5}
.pricing-term span{display:grid;gap:4px}
.pricing-term small{color:#aebbc1;font-size:11px}
.pricing-term input{width:100%;min-height:40px;padding:9px 10px;border:1px solid #34434b;border-radius:7px;background:#0b1217;color:#f4f7f6}
.pricing-term input:focus{border-color:#ff7a1a;outline:none;box-shadow:0 0 0 3px #ff7a1a24}
.subscription-limit-control{display:flex;align-items:end;gap:14px}
.subscription-limit-control label{display:grid;gap:7px;max-width:300px;flex:1}
.subscription-limit-control input{width:100%;min-height:40px;padding:9px 10px;border:1px solid #34434b;border-radius:7px;background:#0b1217;color:#f4f7f6}
.subscription-limit-control .button{min-height:40px}
@media(max-width:620px){.pricing-term{grid-template-columns:1fr}.subscription-limit-control{align-items:stretch;flex-direction:column}}
