:root{--ink:#27303a;--steel:#56606b;--line:#b3bcc7;--bg:#d9dee4;--panel:#e3e7ec;--login-bg:#cbcbcb;--accent:#5b9bd5;--accent-hover:#4a8bc6;--accent-soft:#cddff2;--seq-fill:#e6f1fb;--pick-fill:#bfe1fb;--accent-text:#275f94;--primary-bg:#c6dcf2;--primary-line:#9fc3e8;--primary-text:#1f5486;--primary-hover:#b5d1ee;--good:#1f7a45;--good-bg:#d3eadb;--info:#2a6aa8;--info-bg:#cfe0f2;--warn:#8a5a00;--warn-bg:#f0e2bf;--orange:#a34700;--orange-bg:#f7dcc3;--bad:#c4271b;--bad-bg:#f2d6d2;--danger:#c4271b;--neutral:#4d5660;--neutral-bg:#d5dbe2;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(30,50,80,0.05),0 1px 1px rgba(30,50,80,0.03);--soft:#dde3e9;--row-bg:#eaeef2;--head-bg:#d4dbe3;--row-hover:#dde3ea;--calc:#dce1e7;--field:#eef1f5;--strong-line:#8f9aa8;--hint:#6f7b88;--faint:#9aa6b2;--bar-bg:rgba(226,230,235,0.92);--hover-tint:rgba(40,90,140,0.07);--seq-hover:rgba(91,155,213,0.28);--total-outline:var(--accent);--tip-bg:#fff6d6;--tip-line:#d9a400;--tip-ink:#3d3420;--popup-shadow:0 8px 24px rgba(30,50,80,0.15);--submit-bg:#c6dcf2;--submit-line:#9fc3e8;--submit-text:#1f5486;--pressed-shadow:inset 0 2px 4px rgba(30,50,80,0.18);color-scheme:light}:root[data-theme=dark]{--ink:#f5f5f7;--steel:#98989d;--line:#38383a;--bg:#000000;--panel:#1c1c1e;--login-bg:var(--bg);--accent:#0a84ff;--accent-hover:#409cff;--accent-soft:rgba(10,132,255,0.18);--seq-fill:rgba(90,170,255,0.10);--pick-fill:rgba(90,170,255,0.35);--accent-text:#0a84ff;--primary-bg:#0a84ff;--primary-line:#0a84ff;--primary-text:#ffffff;--primary-hover:#409cff;--good:#30d158;--good-bg:rgba(48,209,88,0.16);--info:#64a8ff;--info-bg:rgba(10,132,255,0.18);--warn:#ffd60a;--warn-bg:rgba(255,214,10,0.15);--orange:#ff9f0a;--orange-bg:rgba(255,159,10,0.16);--bad:#ff6961;--bad-bg:rgba(255,69,58,0.18);--danger:#d83a2f;--neutral:#c7c7cc;--neutral-bg:#2c2c2e;--shadow:none;--soft:#242426;--row-bg:#2d2d30;--head-bg:#242426;--row-hover:#242426;--calc:#242426;--field:#2c2c2e;--strong-line:#545458;--hint:#8e8e93;--faint:#636366;--bar-bg:rgba(28,28,30,0.85);--hover-tint:rgba(255,255,255,0.07);--seq-hover:rgba(10,132,255,0.3);--total-outline:#fff;--tip-bg:#3a3220;--tip-line:#c99a1e;--tip-ink:#f5ecd0;--popup-shadow:0 8px 24px rgba(0,0,0,0.6);--submit-bg:rgba(10,132,255,0.2);--submit-line:rgba(10,132,255,0.45);--submit-text:#64a8ff;--pressed-shadow:inset 0 2px 5px rgba(0,0,0,0.6);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100vh}.topbar{--bar-gutter:max(2rem,calc((100% - 1360px) / 2 + 2rem));position:-webkit-sticky;position:sticky;top:0;z-index:30;justify-content:space-between;gap:1rem;height:3.5rem;padding:0 var(--bar-gutter);background:var(--bar-bg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:.6rem;min-width:0;padding:0;font:inherit;color:inherit;background:none;border:0;cursor:pointer}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.brand-mark{flex:none;width:1.9rem;height:1.9rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;object-fit:contain}.brand-name{font-size:1.05rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap}.brand-name strong{font-weight:700}.topbar-list{list-style:none;margin:0;padding:0;display:flex;gap:.25rem}@media (min-width:701px){.topbar nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.topbar .topbar-list{pointer-events:auto}.topbar .topbar-sign-out{position:absolute;right:var(--bar-gutter)}}.topbar-item{position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;font:inherit;color:var(--steel);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,color .15s ease}.topbar-item:hover{background:var(--hover-tint);color:var(--ink)}.topbar-item.active{background:var(--accent-soft);color:var(--accent-text)}.topbar-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.topbar-icon{width:1.3rem;height:1.3rem}.topbar-label,.undo-tip{position:absolute;top:calc(100% + .4rem);left:50%;transform:translateX(-50%);padding:.25rem .55rem;font-size:.75rem;font-weight:500;white-space:nowrap;color:var(--panel);background:var(--ink);border-radius:6px;box-shadow:var(--popup-shadow);opacity:0;pointer-events:none;transition:opacity .12s ease}.topbar-item:focus-visible .topbar-label,.undo-button:focus-visible .undo-tip{opacity:1}@media (hover:hover){.topbar-item:hover .topbar-label,.undo-button:hover .undo-tip{opacity:1}}.content{width:100%;max-width:1360px;margin:0 auto;padding:2rem 2rem 3rem;min-width:0}.page-head{margin-bottom:2.5rem}@media (max-width:640px){.page-head{margin-bottom:1.75rem}}.page-head h1{text-align:center;margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.page-head p{margin:.25rem 0 0}.page-head.with-action{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;grid-gap:1rem;gap:1rem}.page-head.with-action>:first-child{grid-column:2}.page-head.with-action>:last-child:not(:first-child){grid-column:3;justify-self:end}.add-button{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;padding:0;border-radius:50%;color:var(--primary-text);background:var(--primary-bg);border:1px solid var(--primary-line);cursor:pointer;transition:background-color .15s ease}.add-button svg{width:1.15rem;height:1.15rem}.add-button:hover{background:var(--primary-hover)}.add-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list-card{list-style:none;margin:0;padding:0;background:var(--row-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.list-card li+li{border-top:1px solid var(--line)}.list-card>li:first-child{border-top-left-radius:calc(var(--radius) - 1px);border-top-right-radius:calc(var(--radius) - 1px)}.list-card>li:last-child{border-bottom-left-radius:calc(var(--radius) - 1px);border-bottom-right-radius:calc(var(--radius) - 1px)}.list-item{display:flex;align-items:center;transition:background-color .15s ease}.list-item:hover{background:var(--soft)}.list-empty{padding:.6rem 1rem;font-size:.9rem}.list-row{display:grid;align-items:center;grid-gap:.1rem .75rem;gap:.1rem .75rem;flex:1 1;min-width:0;padding:.5rem 1rem;font:inherit;font-size:.9rem;color:inherit;text-align:center;background:transparent;border:0;border-radius:inherit;cursor:pointer}.list-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.list-head.projects,.list-row.projects{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-areas:"num main gc amount progress date status"}.list-head.bids,.list-row.bids{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-areas:"num main gc estimate amount date status"}.list-estimate{grid-area:estimate;text-align:center;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.list-head{display:grid;align-items:center;grid-gap:.1rem .75rem;gap:.1rem .75rem;padding:.55rem 1rem;text-align:center;font-size:.72rem;font-weight:600;color:var(--steel);text-transform:uppercase;letter-spacing:.04em;background:var(--head-bg);border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0}.list-head>*{font-weight:600;color:inherit;overflow:visible}.list-head+.list-card,.list-head+.list-card>li:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-head+.list-card>li:first-child{border-top:0}.list-head:not(.shelf-bar)+.list-card>li:first-child{border-top:1px solid var(--line)}.list-number{grid-area:num;color:var(--steel);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.list-main{grid-area:main;display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:0}.list-title{font-weight:600;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.list-main .example-tag{flex:none;margin-left:0}.list-gc{grid-area:gc;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.list-amount{grid-area:amount;text-align:center;font-weight:600}.list-amount,.list-progress{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.list-progress{grid-area:progress;display:flex;align-items:center;justify-content:center;gap:.5rem}.list-date{grid-area:date;white-space:nowrap;text-align:center}.list-status{grid-area:status;display:flex;flex-direction:column;align-items:center;gap:.1rem}@media (max-width:1280px){.list-head.projects,.list-row.projects{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"num main amount progress date status" "num gc amount progress date status"}.list-head.bids,.list-row.bids{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"num main estimate amount date status" "num gc estimate amount date status"}.list-gc{color:var(--steel);white-space:normal}.list-head .list-gc{display:none}}@media (max-width:900px){.list-row{row-gap:.5rem}.list-head.projects,.list-row.projects{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"num main main main" "gc gc gc gc" "amount progress date status"}.list-head.bids,.list-row.bids{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"num main main main" "gc gc gc gc" "estimate amount date status"}.list-gc{margin-top:-.4rem}.list-head{display:none}.list-head:not(.shelf-bar)+.list-card>li:first-child{border-top:0}.list-head+.list-card,.list-head+.list-card>li:first-child{border-radius:inherit}.list-status{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .5rem}}.btn.danger{color:#fff}.btn.danger,.btn.danger:hover{background:var(--danger);border-color:var(--danger)}.btn.danger:hover{filter:brightness(.92)}@media (max-width:640px){.list-head.projects,.list-row.projects{grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-areas:"num main" "gc gc" "amount progress" "date status"}.list-head.bids,.list-row.bids{grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-template-areas:"num main" "gc gc" "estimate amount" "date status"}}.shelf-table{margin-top:1.6rem}.shelf-note{margin:.35rem 0 0;font-size:.8rem;text-align:center}.card.narrow{max-width:640px}.settings-group{margin-bottom:1rem}.settings-group h2{font-size:1rem}.card.settings-group>h2{margin:0 0 1rem}.card.settings-group>h2+*{margin-top:0}.settings-group>h2{text-align:center}.settings-group>.theme-switch{margin-left:auto;margin-right:auto}.settings-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,30rem),1fr));grid-gap:1rem;gap:1rem;align-items:start;max-width:1200px}.settings-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.settings-col .card.narrow{max-width:none}.settings-col .card.pricing{width:-moz-fit-content;width:fit-content;min-width:min(100%,28rem);max-width:100%}.card.narrow.team{max-width:calc((1200px - 1rem) / 2)}.settings-col .settings-group{margin-bottom:0}.settings-columns+.team{margin-top:1rem}.settings-columns .card,.team.card{padding:1rem 1.25rem}.account-form{display:contents}.dev-badge.admin-badge{color:#1d6b4a;background:#d6f0e3;border-color:#2f8f63}:root[data-theme=dark] .dev-badge.admin-badge{color:#8fe0b8;background:rgba(47,143,99,.2)}.lengths-list{display:grid;grid-gap:.45rem;gap:.45rem;margin-top:.6rem}.lengths-row{display:grid;grid-template-columns:7.5rem minmax(0,14rem) auto;align-items:center;grid-gap:.6rem;gap:.6rem;font-size:.92rem;font-weight:600}.lengths-row input{font:inherit;font-weight:400;padding:.35rem .5rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.lengths-row input[aria-invalid=true]{border-color:var(--bad)}.lengths-unit{color:var(--steel);font-weight:400;font-size:.85rem}.bids-title{display:inline-flex;flex-direction:column;align-items:center}.bids-title .bids-switch{margin-top:.15rem;font-size:.9rem}.bids-title .error{margin:.4rem 0 0;text-align:center}.saved-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}@media (max-width:640px){.saved-boxes{grid-template-columns:minmax(0,1fr)}}.saved-box{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:.5rem;gap:.5rem;width:100%;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.saved-box .saved-box-title{font-size:1rem;font-weight:600}.saved-box svg{width:1.1rem;height:1.1rem;color:var(--steel)}.saved-box:hover{border-color:var(--strong-line)}.saved-box:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-head.with-back{display:flex;align-items:flex-start;gap:.6rem}.back-arrow{flex:none;display:grid;place-items:center;width:2.1rem;height:2.1rem;margin-top:.05rem;padding:0;color:var(--ink);background:none;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.back-arrow svg{width:1.2rem;height:1.2rem}.back-arrow:hover{background:var(--hover-tint)}.back-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.saved-sequences{display:flex;flex-direction:column;gap:1rem;max-width:900px}.card.saved-page{max-width:900px;padding:1rem 1.25rem}.saved-page h2{margin:0 0 .5rem;font-size:1rem}.saved-page h2 .muted{font-weight:400;font-size:.85rem}.saved-table{width:100%;border-collapse:collapse;font-size:.9rem}.saved-table td,.saved-table th{padding:.35rem .6rem;text-align:left;border-top:1px solid var(--line)}.saved-table thead th{border-top:0;font-weight:600;color:var(--steel);font-size:.82rem}.saved-table .num{text-align:right}.saved-table tbody tr{cursor:context-menu}.saved-table tbody tr:hover{background:var(--hover-tint)}.dev-badge{display:inline-block;margin-left:.4rem;padding:.05rem .35rem;font-size:.62rem;font-weight:700;letter-spacing:.06em;line-height:1.4;vertical-align:.15em;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent);border-radius:4px}.dev-badge.dev-d{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;padding:0 .5px .6px 0;font-size:.7rem;letter-spacing:0;line-height:1;vertical-align:.1em}.sign-out-pop{position:fixed;z-index:60;width:max-content;max-width:calc(100vw - 16px);padding:.75rem .9rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.18)}.sign-out-pop p{margin:0 0 .6rem;font-size:.9rem}.sign-out-pop form{display:flex;justify-content:flex-end;gap:.5rem}.sign-out-pop .btn{padding:.3rem .8rem}.recap-header .recap-date{align-self:flex-end}.recap-table tbody tr.selected>td{background:var(--accent-soft)}.recap-table tbody tr.selected input:not([type=checkbox]),.recap-table tbody tr.selected select{background:transparent}.seq-left{gap:.5rem;justify-self:start}.seq-drawings,.seq-left{display:inline-flex;align-items:center}.seq-drawings{gap:.35rem;font-size:.78rem;font-weight:600;color:var(--steel);cursor:default}.recap-table .seq-drawings input{width:3.2rem;padding:.15rem .35rem;font:inherit;font-size:.85rem;font-weight:600;text-align:center;color:var(--ink);background:var(--field);border:1px solid var(--strong-line);border-radius:5px}.recap-table .seq-drawings input[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}.recap-table .seq-drawings input:focus{outline:2px solid var(--accent);outline-offset:-1px}.bid-per-ton{display:flex;justify-content:center;align-items:baseline;gap:.9rem}.bid-expand{display:inline-flex;align-items:center;gap:.3rem;padding:0;font:inherit;font-weight:inherit;color:inherit;background:none;border:0;cursor:pointer}.bid-expand svg{width:.8rem;height:.8rem;transition:transform .15s ease}.bid-expand[aria-expanded=true] svg{transform:rotate(90deg)}.bid-table tbody tr.bid-subitem td,.bid-table tbody tr.bid-subitem th{font-style:italic;font-weight:400}.bid-table tbody tr.bid-othitem th,.bid-table tbody tr.bid-subitem th{padding-left:1.6rem}.form-dialog.order-dialog{width:min(640px,calc(100vw - 2rem))}.order-scroll{max-height:min(60vh,32rem);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.order-table{width:100%;border-collapse:collapse;font-size:.9rem}.order-table td,.order-table th{padding:.35rem .7rem;text-align:left;border-top:1px solid var(--line)}.order-table thead th{position:-webkit-sticky;position:sticky;top:0;border-top:0;font-size:.8rem;color:var(--steel);background:var(--panel)}.order-table .num{text-align:right}.order-table tfoot td,.order-table tfoot th{font-weight:700}.order-dialog .form-actions{justify-content:center;align-items:center}.order-dialog .order-export{margin-right:auto}.cut-table tr.cut-group th{padding-top:.6rem;font-size:.85rem;font-weight:700;color:var(--ink);background:var(--soft)}.cut-table tr.cut-group .muted{font-weight:500}.form-dialog.order-dialog:has(.cut-table){width:min(980px,calc(100vw - 2rem))}.cut-table td.cut-list-from{white-space:nowrap}.order-dialog .order-export:disabled{color:var(--faint);text-decoration:none;cursor:default}.order-dialog .order-note{margin-right:.5rem;font-size:.85rem}.confirm-pop p{max-width:22rem}.confirm-pop-actions{display:flex;justify-content:flex-end;gap:.5rem}.setting-check{display:flex;align-items:flex-start;gap:.55rem;font-size:.92rem;cursor:pointer}.setting-check input{width:1rem;height:1rem;margin:.15rem 0 0;accent-color:var(--accent)}.topbar-item[aria-expanded=true] .topbar-label{opacity:0!important}.profile-top{flex-wrap:wrap}.profile-contact,.profile-who{display:flex;flex-direction:column;gap:.1rem;min-width:0}.profile-contact{margin-left:auto;align-items:flex-end}.profile-email{overflow-wrap:anywhere}.in-place .profile-phone,.profile-email{font-size:.9rem;color:var(--steel)}.in-place{display:flex;align-items:center;gap:.3rem;min-width:0;flex-wrap:wrap}.in-place .profile-title{color:var(--steel);font-size:.9rem}.in-place input{font:inherit;width:14rem;max-width:100%;padding:.15rem .4rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.in-place input.profile-name{font-size:1.05rem;font-weight:600}.in-place input[aria-invalid=true]{border-color:var(--bad)}.in-place .error{flex-basis:100%;font-size:.8rem}.edit-pencil{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;padding:0;color:var(--steel);background:none;border:0;border-radius:6px;cursor:pointer}.edit-pencil svg{width:.95rem;height:.95rem}.edit-pencil:hover{color:var(--ink);background:var(--hover-tint)}.edit-pencil:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.change-password{display:block;margin:.6rem auto 0;font-size:.9rem}.form-dialog.password-dialog{width:min(400px,calc(100vw - 2rem))}.password-form{display:flex;flex-direction:column;gap:.6rem}.password-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:600}.password-form input{font:inherit;font-weight:400;padding:.45rem .55rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.password-form p{margin:0}.password-form .form-actions{justify-content:flex-end}.theme-switch{position:relative;display:block;width:5rem;height:2.25rem;margin-top:.4rem;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--field);color:var(--steel);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.theme-switch:hover{border-color:var(--strong-line)}.theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-switch-knob{position:absolute;top:50%;left:.2rem;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--panel);box-shadow:0 1px 3px rgba(0,0,0,.25);transform:translateY(-50%);transition:transform .2s ease}.theme-switch.on .theme-switch-knob{transform:translate(calc(5rem - 2px - 1.75rem - .4rem),-50%)}.theme-switch-icon{position:absolute;top:50%;z-index:1;width:1rem;height:1rem;opacity:.6;transform:translateY(-50%);transition:color .2s ease,opacity .2s ease,transform .2s ease;pointer-events:none}.theme-switch-icon.sun{left:.575rem}.theme-switch-icon.moon{right:.575rem}.theme-switch.on .moon,.theme-switch:not(.on) .sun{color:var(--ink);opacity:1;transform:translateY(-50%) scale(1.1)}.theme-switch.compact{flex:none;width:3.3rem;height:1.5rem;margin:0}.theme-switch.compact .theme-switch-knob{left:.14rem;width:1.1rem;height:1.1rem}.theme-switch.compact.on .theme-switch-knob{transform:translate(calc(3.3rem - 2px - 1.1rem - .28rem),-50%)}.theme-switch.compact .theme-switch-icon{width:.7rem;height:.7rem}.theme-switch.compact .theme-switch-icon.sun{left:.34rem}.theme-switch.compact .theme-switch-icon.moon{right:.34rem}.topbar-sign-out{display:flex;align-items:center;gap:.5rem}@media (prefers-reduced-motion:reduce){.theme-switch-icon,.theme-switch-knob{transition:none}}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.setting-row p{margin:0}.setting-name{font-weight:600}.profile-top{display:flex;align-items:center;gap:.75rem;padding-bottom:.6rem;margin-bottom:.25rem;border-bottom:1px solid var(--line)}.profile-top p{margin:0}.account-form #account-title{margin-bottom:1rem}.account-form .profile-top{padding-bottom:1.1rem}.account-form .profile-contact,.account-form .profile-who{gap:.5rem}.profile-name{font-size:1.15rem;font-weight:600}.avatar{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--neutral-bg);color:var(--ink);font-weight:600}img.avatar{object-fit:cover}.account-form fieldset{min-width:0;margin:0 0 .75rem;padding:0;border:0}.account-form fieldset:last-child{margin-bottom:0}.account-form legend{padding:0;margin-bottom:.25rem;font-weight:600;font-size:.92rem}.account-form p.field-note{margin:.2rem 0 0}.account-form .form-grid input,.account-form .form-grid select{color:var(--ink);background:var(--field)}.field-value{padding:.35rem 0;font-weight:400;overflow-wrap:anywhere}.choice-list{display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;margin-bottom:.2rem}.choice-list label{display:flex;align-items:center;gap:.55rem;font-size:.92rem;cursor:pointer}.choice-list input{width:1rem;height:1rem;margin:0;accent-color:var(--accent)}.save-status{flex:1 1;font-size:.9rem;color:var(--steel)}.save-note.saved{color:var(--good);font-weight:600}.save-note.error{color:var(--bad)}.save-status.saved{color:var(--good);font-weight:600}.save-status.error{color:var(--bad)}.account-note{margin:0 0 1rem;padding:.6rem .8rem;font-size:.9rem;color:var(--info);background:var(--info-bg);border-radius:var(--radius-sm)}.login-page{position:relative;z-index:1;display:grid;place-items:center;min-height:100vh;padding:2rem 1rem}.ascii-wake{position:fixed;inset:0;z-index:0;pointer-events:none}body:has(.login-page){background:var(--login-bg)}.login-card{width:min(100%,25rem);padding:2rem 1.75rem;text-align:center}.login-brand{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:0 0 1.25rem;font-size:1.15rem;font-weight:700}.login-brand img{width:2.25rem;height:2.25rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.login-card h1{margin:0 0 1.25rem;font-size:1.5rem;letter-spacing:-.02em}.login-message{margin:0 0 1rem;padding:.6rem .8rem;border-radius:var(--radius-sm);font-size:.9rem;text-align:left}.login-message.error{color:var(--bad);background:var(--bad-bg)}.login-message.info{color:var(--info);background:var(--info-bg)}.login-message.warn{color:var(--warn);background:var(--warn-bg)}.login-detail{display:block;margin-top:.3rem;font-size:.8rem;overflow-wrap:anywhere}.ms-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.7rem 1rem;font:inherit;font-weight:600;color:var(--ink);background:var(--field);border:1px solid var(--strong-line);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease}.ms-button:hover:not(:disabled){background:var(--soft)}.ms-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ms-button:disabled{opacity:.6;cursor:default}.ms-button svg{flex:none;width:1.25rem;height:1.25rem}.text-button{padding:0;font:inherit;font-size:.9rem;color:var(--accent-text);background:none;border:0;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.text-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.email-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;text-align:left}.email-form p{margin:0}.email-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem}.email-form input{font:inherit;font-weight:400;padding:.5rem .6rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.email-form input:focus{outline:2px solid var(--accent);outline-offset:-1px}.email-form .text-button{align-self:center}.login-or{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 .25rem;font-size:.8rem;color:var(--steel)}.login-or:after,.login-or:before{content:"";flex:1 1;border-top:1px solid var(--line)}.recovery-hint{padding:.4rem .6rem;font-size:.9rem;border-radius:6px}.recovery-hint,.setup-banner{color:var(--warn);background:var(--warn-bg)}.setup-banner{margin:0;padding:.45rem 1rem;font-size:.85rem;text-align:center;border-bottom:1px solid var(--line)}.project-head{margin-bottom:1.5rem}.project-head h1{margin:.1rem 0 .2rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.example-tag{display:inline-block;margin-left:.5rem;padding:0 .45rem;font-size:.65rem;font-weight:700;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;vertical-align:.1em;color:var(--tip-ink);background:var(--tip-bg);border:1px solid var(--tip-line);border-radius:999px}.tips-toggle{margin-left:.6rem;padding:0;border:0;background:none;font:inherit;font-size:.8rem;font-weight:600;color:var(--accent-text);cursor:pointer}.tips-toggle:hover{text-decoration:underline}.tips-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.tip{position:fixed;z-index:25;width:230px;padding:.5rem .65rem .55rem 2.05rem;font-size:.78rem;line-height:1.4;color:var(--tip-ink);background:var(--tip-bg);border:1px solid var(--tip-line);border-radius:10px;box-shadow:var(--popup-shadow);pointer-events:none}.tip-right{transform:translateY(-50%)}.tip-left{transform:translate(-100%,-50%)}.tip-top{transform:translateY(-100%)}.tip-step{position:absolute;left:.55rem;top:.5rem;display:grid;place-items:center;width:1.1rem;height:1.1rem;font-size:.68rem;font-weight:700;color:var(--tip-bg);background:var(--tip-ink);border-radius:50%}.tip:before{content:"";position:absolute;width:10px;height:10px;background:var(--tip-bg);border:1px solid var(--tip-line);transform:rotate(45deg)}.tip-bottom:before{top:-6px;left:calc(var(--arrow) - 5px);border-right:0;border-bottom:0}.tip-top:before{bottom:-6px;left:calc(var(--arrow) - 5px);border-left:0;border-top:0}.tip-right:before{left:-6px;top:calc(50% - 5px);border-right:0;border-top:0}.tip-left:before{right:-6px;top:calc(50% - 5px);border-left:0;border-bottom:0}.back-link{display:inline-flex;align-items:center;gap:.3rem;margin:0 0 .75rem -.1rem;padding:0;font:inherit;font-size:.9rem;color:var(--accent-text);background:none;border:0;cursor:pointer}.back-link span{font-size:1.3rem;line-height:1}.back-link:hover{text-decoration:underline}.back-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.job{font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.job,.summary{margin:0;color:var(--steel)}.nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin-top:1.25rem;border-bottom:1px solid var(--line)}.nav-item{font:inherit;font-size:.95rem;padding:.6rem 0 .7rem;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--steel);cursor:pointer;transition:color .15s ease,border-color .15s ease;position:relative}.nav-item:hover{color:var(--ink)}.tab-alert{position:absolute;top:.35rem;left:-.7rem;width:.8rem;height:.8rem;border-radius:50%;font-size:.6rem;font-weight:800;line-height:.8rem;text-align:center;pointer-events:none}.tab-alert.red{background:var(--bad);color:#fff}.tab-alert.yellow{background:#f2c200;color:#3d3000}.nav-item.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.5rem}.card h2{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.table-scroll{overflow-x:auto;position:relative}table{width:100%;border-collapse:collapse;font-size:.95rem}td,th{text-align:left;padding:.5rem .75rem .5rem 0;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--steel);font-weight:600}.num,th{white-space:nowrap}.num{padding-right:1.5rem;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn{font:inherit;font-size:.92rem;font-weight:500;padding:.45rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.btn:hover{border-color:var(--strong-line);background:var(--soft)}.btn.primary{background:var(--primary-bg);border-color:var(--primary-line);color:var(--primary-text)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toolbar{justify-content:space-between;gap:1rem;margin-bottom:1rem}.filters,.toolbar{display:flex;align-items:flex-end;flex-wrap:wrap}.filters{gap:.75rem}.filters label{display:flex;flex-direction:column;gap:.2rem;font-weight:600;font-size:.85rem;color:var(--steel)}.filters input,.filters select{font:inherit;font-size:.95rem;color:var(--ink);padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.filters input{width:14rem}.filter-count{padding-bottom:.45rem}.add-form{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem;margin-bottom:1rem}.add-form h3{margin:0 0 .75rem;font-size:1.05rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem 1rem;gap:.75rem 1rem}.form-grid .field,.form-grid label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem}.form-grid input,.form-grid select{font:inherit;font-weight:400;padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.form-grid [aria-invalid=true]{border-color:var(--bad)}.form-grid input:focus,.form-grid select:focus{outline:2px solid var(--accent);outline-offset:-1px}.length-input{display:flex;align-items:center;gap:.3rem;padding:0 .5rem;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-weight:400}.length-input:focus-within{outline:2px solid var(--info);outline-offset:-1px}.length-input.invalid{border-color:var(--bad)}.form-grid .length-input input{width:3.5rem;border:0;padding:.4rem 0;text-align:right;outline:none}.form-grid .length-input input+span+input{text-align:left}.error{color:var(--bad);font-weight:400;font-size:.85rem}.form-actions{display:flex;gap:.5rem;margin-top:1rem}tbody tr:hover{background:var(--row-hover)}tr.issue td:first-child{border-left:3px solid #e3a008;padding-left:.6rem}.kind{color:var(--steel);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.nowrap{white-space:nowrap}.muted{color:var(--steel);font-size:.9rem}.badge{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.82rem;font-weight:600;white-space:nowrap}.badge.good{color:var(--good);background:var(--good-bg)}.badge.info{color:var(--info);background:var(--info-bg)}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.orange{color:var(--orange);background:var(--orange-bg)}.badge.bad{color:var(--bad);background:var(--bad-bg)}.badge.neutral{color:var(--neutral)}.badge.neutral,.progress{background:var(--neutral-bg)}.progress{height:10px;border-radius:5px;overflow:hidden;margin-bottom:1rem}.progress.small{display:inline-block;width:4.5rem;height:6px;margin:0}.progress.small>span{display:block;height:100%;background:var(--accent);border-radius:inherit}.project-info{max-width:32rem}.info-tip{margin:0;font-size:.85rem;text-align:right}.info-lines{margin:0 -.5rem}.info-line{display:flex;align-items:center;gap:.25rem 1rem;width:100%;min-height:2.75rem;padding:.3rem .5rem;font:inherit;color:inherit;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer;transition:background-color .15s ease}.info-lines>:last-child{border-bottom:0}.info-line:hover{background:var(--hover-tint)}.info-line:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.info-label{flex:none;width:9.5rem;color:var(--steel);text-align:right}.info-value{flex:1 1;min-width:0;font-weight:600;text-align:center;overflow-wrap:anywhere}.info-empty{color:var(--hint);font-weight:400}.info-pencil{flex:none;width:.95rem;height:.95rem;color:var(--steel);opacity:0;transition:opacity .15s ease}.info-line:focus-visible .info-pencil,.info-line:hover .info-pencil{opacity:1}@media (hover:none){.info-pencil{opacity:.45}}.info-line.editing{flex-wrap:wrap;cursor:default;background:var(--hover-tint)}.info-line.editing input,.info-line.editing select{flex:1 1 12rem;max-width:22rem;min-width:0;height:2.1rem;margin-left:auto;padding:0 .5rem;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.info-line.editing input:focus,.info-line.editing select:focus{outline:2px solid var(--accent);outline-offset:-1px}.info-line.editing [aria-invalid=true]{border-color:var(--bad)}.info-error{flex-basis:100%;text-align:right}.span-all{grid-column:1/-1}.info-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.info-form input,.info-form select{color:var(--ink);background:var(--field)}.info-form input[readonly]{color:var(--steel);background:transparent}.info-form .form-actions{justify-content:flex-end}.field-note{font-size:.8rem}.field-note,.slider-value{color:var(--steel);font-weight:400}.slider-value{margin-left:.25rem}input.percent-slider[type=range]{--knob:22px;--knob-eff:max(var(--knob-floor,0),var(--knob-fill,1));-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:var(--knob);margin:0;padding:0;background:transparent;border:0;cursor:pointer}input.percent-slider[type=range]::-webkit-slider-runnable-track{height:var(--track,10px);border-radius:calc(var(--track, 10px) / 2);background:linear-gradient(to right,var(--accent) calc(var(--knob) / 2 + (100% - var(--knob)) * var(--pct)),var(--neutral-bg) 0)}input.percent-slider[type=range]::-moz-range-track{height:var(--track,10px);border-radius:calc(var(--track, 10px) / 2);background:linear-gradient(to right,var(--accent) calc(var(--knob) / 2 + (100% - var(--knob)) * var(--pct)),var(--neutral-bg) 0)}input.percent-slider[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--knob);height:var(--knob);margin-top:calc((var(--track, 10px) - var(--knob)) / 2);border:0;border-radius:50%;background:color-mix(in srgb,#fff calc(var(--knob-eff, 1) * 100%),transparent);box-shadow:0 1px 3px rgb(0 0 0/calc(.3 * var(--knob-eff, 1))),0 0 0 .5px rgb(0 0 0/calc(.12 * var(--knob-eff, 1)));cursor:-webkit-grab;cursor:grab;-webkit-transition:transform .1s ease,background-color .18s ease,box-shadow .18s ease;transition:transform .1s ease,background-color .18s ease,box-shadow .18s ease}input.percent-slider[type=range]::-moz-range-thumb{width:var(--knob);height:var(--knob);border:0;border-radius:50%;background:color-mix(in srgb,#fff calc(var(--knob-eff, 1) * 100%),transparent);box-shadow:0 1px 3px rgb(0 0 0/calc(.3 * var(--knob-eff, 1))),0 0 0 .5px rgb(0 0 0/calc(.12 * var(--knob-eff, 1)));cursor:grab;-moz-transition:transform .1s ease,background-color .18s ease,box-shadow .18s ease;transition:transform .1s ease,background-color .18s ease,box-shadow .18s ease}input.percent-slider[type=range]:active::-webkit-slider-thumb{cursor:-webkit-grabbing;cursor:grabbing;transform:scale(1.12)}input.percent-slider[type=range]:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.12)}input.percent-slider[type=range]:focus{outline:none}input.percent-slider[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}.project-info input.percent-slider[type=range]{margin:.35rem 0 1rem}.percent-bar{position:relative;margin:0 0 1rem}.percent-bar input.percent-slider[type=range],.project-info .percent-bar input.percent-slider[type=range]{--track:26px;--knob:26px;margin:0}.percent-bar{--knob:26px;--knob-floor:0.12}:root[data-theme=dark] .percent-bar{--knob-floor:0}.percent-bar-ring{position:absolute;top:50%;left:calc((100% - var(--knob)) * var(--pct));width:var(--knob);height:var(--knob);margin-top:calc(var(--knob) / -2);box-sizing:border-box;border:2px solid var(--ink);border-radius:50%;opacity:var(--knob-ring,0);display:none;pointer-events:none;--arc:linear-gradient(180deg,#000 0,#000 4%,rgb(0 0 0/0.62) 12%,rgb(0 0 0/0.26) 20%,rgb(0 0 0/0.07) 26%,transparent 30%,transparent 70%,rgb(0 0 0/0.07) 74%,rgb(0 0 0/0.26) 80%,rgb(0 0 0/0.62) 88%,#000 96%,#000);-webkit-mask-image:var(--arc);mask-image:var(--arc);transition:opacity .18s ease}:root[data-theme=dark] .percent-bar-ring{display:block}@media (prefers-reduced-motion:reduce){.percent-bar-ring{transition:none}}.percent-bar-text{position:absolute;inset:0;display:grid;place-items:center;font-size:.82rem;font-weight:600;color:var(--ink);pointer-events:none}.form-grid input.percent-slider[type=range]{margin:.3rem 0}.form-dialog{width:min(720px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:1.5rem;border:0;border-radius:var(--radius);color:var(--ink);background:var(--panel);box-shadow:0 20px 50px rgba(0,0,0,.18)}.form-dialog::-webkit-backdrop{background:rgba(0,0,0,.3)}.form-dialog::backdrop{background:rgba(0,0,0,.3)}:root[data-theme=dark] .form-dialog{border:1px solid var(--line)}:root[data-theme=dark] .form-dialog::-webkit-backdrop{background:rgba(0,0,0,.6)}:root[data-theme=dark] .form-dialog::backdrop{background:rgba(0,0,0,.6)}.form-dialog h2{margin:0;font-size:1.25rem;letter-spacing:-.01em}.form-dialog>p{margin:.25rem 0 1.25rem}.reason-dialog{width:min(520px,calc(100vw - 2rem))}.reason-dialog .form-actions{justify-content:flex-end}.reason-label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.9rem}.reason-label textarea{font:inherit;font-weight:400;min-height:6rem;padding:.5rem .6rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px;resize:vertical}.reason-label textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.reason-label textarea[aria-invalid=true]{border-color:var(--bad)}.person-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),19rem));justify-content:center;grid-gap:1rem;gap:1rem;max-width:1200px;margin:0 auto}.person-card{display:flex;flex-direction:column;align-items:center;padding:1rem 1.1rem}.person-card .profile-name{margin:.4rem 0 .5rem;text-align:center;font-size:1.05rem}.person-tag{font-weight:400;font-size:.85rem}.person-card .facts{align-self:stretch;font-size:.85rem}.person-card .facts div{padding:.25rem 0}.person-card .facts dd{min-width:0;overflow-wrap:anywhere}.facts{margin:0}.facts div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.facts div:last-child{border-bottom:0}.facts dt{color:var(--steel)}.facts dd{margin:0;font-weight:600;text-align:right}.weights-tabs{margin:1.75rem 0 .25rem}.weights-tabs .smooth-tabs{margin-bottom:1.25rem}.shape-table{width:auto;margin:0;font-size:.9rem}.shape-table td,.shape-table th{padding:.25rem 1.5rem;vertical-align:middle;white-space:nowrap}.shape-table td:first-child,.shape-table th:first-child{padding-right:4.5rem}.grid-table td,.grid-table th{padding-left:.5rem;padding-right:.5rem}.grid-table tbody th{color:var(--ink)}.calc{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem;background:var(--bg);border:1px solid var(--line);border-radius:1rem;padding:.75rem 1rem .8rem;width:-moz-fit-content;width:fit-content;max-width:100%;margin-inline:auto}.calc>span{padding-bottom:.45rem;color:var(--steel)}.calc label{display:flex;flex-direction:column;align-items:center;gap:.25rem;font-weight:600;font-size:.85rem;line-height:1.1;text-align:center;color:var(--steel)}.calc input{font:inherit;font-size:.9rem;width:4.75rem;color:var(--ink);padding:.35rem .45rem;border:1px solid var(--strong-line);border-radius:6px;background:var(--calc);text-align:center}.calc-result{font-size:1.15rem;font-weight:700;padding-bottom:.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calc-gap{width:1.5rem}.calc-length{display:flex;flex-direction:column;align-items:center;gap:.25rem;font-weight:600;font-size:.85rem;line-height:1.1;color:var(--steel)}.calc .length-input{display:flex;align-items:center;justify-content:center;gap:.2rem;min-width:6rem;padding:0 .45rem;font-size:.9rem;border:1px solid var(--strong-line);border-radius:6px;background:var(--calc);color:var(--ink)}.calc .length-input input{width:1ch;border:0;padding:.35rem 0;text-align:center;outline:none;background:transparent}.calc .length-input.invalid{border-color:var(--bad)}.calc-note{font-size:.85rem;font-weight:400;color:var(--steel)}.calc input.picked{color:var(--steel);background:var(--soft)}.calc input.size-box{width:13rem}.shape-scroll{max-height:min(60vh,34rem);overflow-y:auto;margin-top:.75rem;border:1px solid var(--line);border-radius:6px}.shape-scroll thead th{top:0;z-index:1}.shape-scroll .grid-table tbody th,.shape-scroll thead th{position:-webkit-sticky;position:sticky;background:var(--panel)}.shape-scroll .grid-table tbody th{left:0}.pick-row{cursor:pointer}.pick-cell:hover,.pick-row:hover{background:var(--hover-tint)}.pick-cell.selected,.pick-row.selected{background:var(--accent-soft)}.pick-cell button,.pick-row button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}.pick-cell{cursor:pointer}.pick-cell button{width:100%}.pick-cell button:focus-visible,.pick-row button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.flat-grid th.flat-axis,.flat-grid th.flat-corner,.shape-scroll .flat-grid tbody th.flat-axis,.shape-scroll .flat-grid th.flat-corner,.shape-scroll .flat-grid thead th.flat-axis{background:var(--calc)}.flat-grid{width:100%;font-size:.85rem}.flat-grid th.flat-corner{width:5.5rem;line-height:1.15;white-space:nowrap}.flat-grid tbody th.flat-axis{width:5.5rem}.flat-grid thead th.flat-axis .frac sub,.flat-grid thead th.flat-axis .frac sup{font-size:.9em}.flat-grid tbody th.flat-axis,.flat-grid thead th.flat-axis{font-size:.95rem}.flat-grid th.flat-axis.match,.shape-scroll .flat-grid th.flat-axis.match{color:var(--accent-text);box-shadow:inset 0 0 0 2px var(--accent)}.flat-grid tbody th,.flat-grid th.flat-corner{border-right:1px solid var(--line)}.flat-grid td,.flat-grid th{text-align:center;vertical-align:middle;padding:.28rem .3rem}.flat-grid td.pick-cell,.flat-grid td.pick-cell.selected,.flat-grid td.pick-cell:hover{background:none}.flat-grid td.pick-cell button{display:inline-block;width:auto;min-width:2.4rem;padding:.1rem .35rem;text-align:center;border-radius:999px}.flat-grid td.pick-cell button:hover{background:var(--hover-tint);border-radius:.6rem}.flat-grid td.pick-cell.selected button,.flat-grid td.pick-cell.selected button:hover{background:var(--pick-fill);color:var(--ink);font-weight:600;border-radius:999px}.toolbar-buttons{display:flex;gap:.5rem}.btn:disabled{opacity:.55;cursor:not-allowed}.link-button,tr.clickable{cursor:pointer}.link-button{font:inherit;font-weight:700;color:var(--ink);background:none;border:0;padding:0;text-align:left}tr.clickable:hover .link-button{color:var(--accent-text);text-decoration:underline}.link-button:focus-visible{outline:3px solid var(--info);outline-offset:2px}tfoot td{font-weight:700;border-bottom:0;border-top:2px solid var(--ink)}tfoot tr.cost-row td{border-top:0;padding-top:0}.details-dialog{width:min(860px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:var(--radius);box-shadow:0 20px 50px rgba(0,0,0,.18);color:var(--ink);background:var(--panel)}:root[data-theme=dark] .details-dialog{border:1px solid var(--line)}:root[data-theme=dark] .details-dialog::-webkit-backdrop{background:rgba(0,0,0,.6)}:root[data-theme=dark] .details-dialog::backdrop{background:rgba(0,0,0,.6)}.details-dialog::-webkit-backdrop{background:rgba(0,0,0,.3)}.details-dialog::backdrop{background:rgba(0,0,0,.3)}.details-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}.details-header h3{margin:.1rem 0;font-size:1.4rem}.details-kicker{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.details-kicker,.details-size{margin:0;color:var(--steel)}.details-header-right{display:flex;align-items:center;gap:.75rem}.close-button{font:inherit;font-size:1.6rem;line-height:1;color:var(--steel);background:none;border:0;cursor:pointer;padding:0 .25rem}.close-button:hover{color:var(--ink)}.close-button:focus-visible{outline:2px solid var(--accent)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:1rem;gap:1rem;padding:1.25rem 1.5rem 0}.details-grid section{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem 1rem}.details-grid h4{margin:0 0 .25rem;color:var(--steel);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.details-total{display:flex;justify-content:space-between;align-items:baseline;margin:.5rem 0 0;padding-top:.5rem;border-top:2px solid var(--ink);font-size:1.25rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.details-total span{font-size:.9rem;color:var(--steel)}.details-note{padding:.75rem 1.5rem 1.25rem;margin:0}table.compact{font-size:.9rem}table.compact td,table.compact th{padding-top:.3rem;padding-bottom:.3rem;vertical-align:middle;white-space:nowrap}table.compact .badge{font-size:.78rem;padding:0 .5rem}.status-trigger{font:inherit;display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .2rem;border:1px solid transparent;border-radius:999px;background:none;color:var(--steel);font-size:.75rem;cursor:pointer}.status-trigger:hover,.status-trigger[aria-expanded=true]{border-color:var(--line);background:var(--panel)}.status-trigger:focus-visible{outline:3px solid var(--info);outline-offset:1px}.status-menu{position:fixed;z-index:50;min-width:10rem;margin:0;padding:.3rem;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:var(--popup-shadow)}.status-menu button{font:inherit;display:flex;justify-content:space-between;align-items:center;width:100%;padding:.3rem .45rem;border:0;border-radius:6px;background:none;color:var(--ink);cursor:pointer}.status-menu button:focus-visible,.status-menu button:hover{background:var(--bg);outline:none}.recap-header{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:.75rem}.recap-header label,.recap-sheet-no{display:flex;flex-direction:column;gap:.2rem;font-weight:600;font-size:.85rem;color:var(--steel)}.recap-sheet-no{flex-direction:row;align-items:center;gap:.4rem;padding-bottom:.1rem}.recap-header input{font:inherit;color:var(--ink);padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--field)}.recap-header .submit-area{margin-left:auto}.recap-header .undo-button{align-self:center;margin-left:-.6rem}.recap-header input:disabled{color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1;cursor:default}.recap-sheet-no input{width:3rem;text-align:center}.recap-toolbar{height:.5rem;margin-bottom:.5rem}.recap-table{width:100%;font-size:.85rem}.card:has(>.recap){padding:1.25rem 1rem 1rem}.recap-table td,.recap-table th{border:1px solid var(--line);padding:0;vertical-align:middle;white-space:nowrap}.recap-table thead th{padding:.3rem .25rem;color:var(--ink);background:var(--accent-soft);white-space:normal;line-height:1.2;vertical-align:bottom;text-align:center}.recap-table input.recap-location{width:6.6rem}.recap-table tbody td{background:var(--field)}.recap-table tbody tr:hover td{background-image:linear-gradient(var(--hover-tint),var(--hover-tint))}.recap-table td.recap-calc{padding:0 .3rem;background-color:var(--calc);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recap-table input{font:inherit;width:3.6rem;padding:.3rem .4rem;border:0;background:transparent;color:var(--ink)}.recap-table input.num{text-align:right;width:3.4rem}.recap-table select{font:inherit;padding:.3rem .2rem;border:0;background:transparent;color:var(--ink);cursor:pointer}.recap-table select:focus{outline:2px solid var(--info);outline-offset:-2px}.recap-table select:disabled{cursor:default}.recap-lock{min-width:0;margin:0;padding:0;border:0}.recap-lock:disabled input,.recap-lock:disabled select{color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1;cursor:default}.recap-lock:disabled input::placeholder{-webkit-text-fill-color:currentColor}.recap-lock:disabled select{-moz-appearance:none;appearance:none;-webkit-appearance:none}.recap-lock:disabled tbody tr{cursor:default}.recap-table .recap-type{width:3.9rem}.recap-size{min-width:9rem}.recap-size>select{width:100%}.recap-plate{display:flex;align-items:center;gap:.15rem;padding:0 .3rem;color:var(--steel)}.recap-plate select{width:4.2rem}.recap-table .recap-plate input{width:3rem;padding-left:.2rem;padding-right:.1rem}.recap-table input::placeholder{color:var(--hint)}.recap-table input:focus{outline:2px solid var(--info);outline-offset:-2px}.recap-table input[aria-invalid=true]{box-shadow:inset 0 -2px 0 var(--bad)}.recap-table .length-input{border:0;border-radius:0;background:transparent;padding:0 .3rem;gap:.15rem}.recap-table .length-input.invalid{box-shadow:inset 0 -2px 0 var(--bad)}.recap-table .length-input input{width:1.9rem;padding:.3rem 0;text-align:right;outline:none}.recap-table .length-input input+span+input{text-align:left}.recap-table .length-input span{color:var(--faint)}.recap-table .length-input:focus-within{outline:2px solid var(--info);outline-offset:-2px}.recap-table tr.recap-gap td{height:1.95rem;padding:0;border:0}.recap-totals-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.5rem}.recap-total{display:flex;flex-direction:column;align-items:center;gap:.25rem}.recap-total-label{font-size:.72rem;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.03em}.recap-total-box{min-width:7rem;padding:.35rem .8rem;font-size:.95rem;font-weight:700;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--panel);border:1px solid var(--line);border-radius:6px}.nav-item{touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none}.nav-item.dragging{cursor:-webkit-grabbing;cursor:grabbing;color:var(--ink);background:var(--soft);border-radius:6px 6px 0 0;box-shadow:0 0 0 1px var(--line)}.recap-table tr.dragging{position:relative;z-index:2;cursor:-webkit-grabbing;cursor:grabbing;opacity:.75;box-shadow:0 8px 22px rgba(0,0,0,.22)}.recap-table tr.dragging td{background-color:var(--field)}.recap-table tr.drop-top td{box-shadow:inset 0 4px 0 var(--accent)}.recap-table tr.drop-bottom td{box-shadow:inset 0 -4px 0 var(--accent)}.recap-table tr.drop-under td{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent);background-image:linear-gradient(var(--accent-soft),var(--accent-soft))}.recap-table tr.drop-under td:nth-child(2){box-shadow:inset 2px 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}.recap-table tr.drop-under td:last-child{box-shadow:inset -2px 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}.recap-table td.tree-child{position:relative;padding-left:1.15rem;border-left-color:transparent;box-shadow:inset 1.15rem 0 0 var(--panel),inset calc(1.15rem + 1px) 0 0 var(--line)}.recap-table tbody tr.selected>td.tree-child,.recap-table td.tree-child{background-clip:content-box}.recap-table td.loc-cell{position:relative}.sub-toggle{position:absolute;left:.1rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:.05rem;padding:.1rem;font:inherit;font-size:.68rem;font-weight:700;color:var(--steel);background:none;border:0;border-radius:4px;cursor:pointer;z-index:1}.sub-toggle svg{width:.7rem;height:.7rem;transform:rotate(90deg);transition:transform .15s ease}.sub-toggle.folded svg{transform:none}.sub-toggle.folded{color:var(--accent-text)}.sub-toggle:hover{color:var(--ink);background:var(--hover-tint)}.sub-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.recap-table td.loc-cell{transition:padding-left .35s ease,box-shadow .35s ease}.recap-table td.loc-cell input.recap-location{transition:width .35s ease}.recap-table tr.dragging.as-child>td.loc-cell{padding-left:1.15rem;border-left-color:transparent;background-clip:content-box;box-shadow:inset 1.15rem 0 0 var(--panel),inset calc(1.15rem + 1px) 0 0 var(--line)}.recap-table tr.dragging.as-child>td.loc-cell input.recap-location{width:5.45rem}.recap-table tr.dragging.as-top>td.loc-cell{padding-left:0;border-left-color:var(--line);background-clip:border-box;box-shadow:none}.recap-table tr.dragging.as-top>td.loc-cell:before{opacity:0}.recap-table tr.dragging.as-top>td.loc-cell input.recap-location{width:6.6rem}.recap-table tr.dragging.as-child>td.loc-cell:not(.tree-child):before{content:"";position:absolute;left:.45rem;top:0;height:50%;width:.5rem;border-left:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);border-bottom-left-radius:3px}.recap-table tr.dragging>td.loc-cell{position:relative}.recap-table tr.drop-bottom.line-child>td.grip-cell,.recap-table tr.drop-top.line-child>td.grip-cell{box-shadow:none}.recap-table tr.drop-top.line-child>td.loc-cell{background-position:100% 0}.recap-table tr.drop-bottom.line-child>td.loc-cell,.recap-table tr.drop-top.line-child>td.loc-cell{box-shadow:none;background-image:linear-gradient(var(--accent),var(--accent));background-size:calc(100% - 1.15rem) 4px;background-repeat:no-repeat;background-clip:border-box}.recap-table tr.drop-bottom.line-child>td.loc-cell{background-position:100% 100%}.recap-table tr.drop-top.line-top>td.grip-cell{box-shadow:inset 0 4px 0 var(--accent)}.recap-table tr.drop-bottom.line-top>td.grip-cell{box-shadow:inset 0 -4px 0 var(--accent)}.recap-table td.tree-child:before{content:"";position:absolute;left:.45rem;top:0;height:50%;width:.5rem;border-left:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);border-bottom-left-radius:3px;pointer-events:none}.recap-table td.tree-child input.recap-location{width:5.45rem}.recap-table tbody tr.spacer-row td.spacer-cell{height:.9rem;padding:0;background:var(--calc);background-image:repeating-linear-gradient(135deg,transparent 0 6px,var(--hover-tint) 6px 8px)}.recap-table tbody tr.spacer-row.selected td.spacer-cell{background-color:var(--accent-soft)}.recap-table input.size-picker{width:100%;min-width:7rem;padding:.3rem .4rem;cursor:pointer;text-overflow:ellipsis;text-align:center}.recap-table input.size-picker:focus{cursor:text}.recap-table input.size-picker:disabled{cursor:default}.size-picker-list{position:fixed;z-index:60;margin:2px 0 0;padding:.25rem 0;overflow-y:auto;list-style:none;font-size:.85rem;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.size-picker-list li{padding:.25rem .7rem;white-space:nowrap;cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.size-picker-list li.current{font-weight:700}.size-picker-list li.active{background:var(--accent-soft)}.size-picker-list li.size-picker-none{color:var(--faint);cursor:default}.recap-table thead th,.table-scroll .verify-bar{transform:translateY(var(--head-shift,0))}.recap-table thead th{position:relative;z-index:3;background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--panel)}.table-scroll .verify-bar{z-index:4}.table-scroll.head-stuck .verify-bar{background:var(--panel)}.table-scroll.head-stuck .recap-table thead th{box-shadow:inset 0 0 0 1px var(--line),0 3px 6px -3px rgba(0,0,0,.25)}.recap-lock:disabled tbody tr.recap-seq,.recap-table tr.recap-seq{cursor:pointer}.recap-table tr.recap-seq td{background-color:var(--calc);font-weight:700}:where(:root[data-theme=dark] .recap) .recap-table tr.recap-seq td{background-color:var(--panel);background-image:linear-gradient(var(--accent-soft),var(--accent-soft))}.recap-table tr.recap-seq>td.seq-title-cell{padding:.15rem .4rem;text-align:left}.recap-table tr.recap-seq:hover td{background-image:linear-gradient(var(--seq-hover),var(--seq-hover))}.recap-table tr.recap-seq:has(.seq-name:hover) td{background-image:none}.seq-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:.3rem;gap:.3rem}.seq-head>:first-child{justify-self:start}.seq-toggle{display:grid;place-items:center;flex:none;width:1.25rem;height:1.25rem;color:var(--steel);border-radius:4px}.seq-toggle svg{width:.85rem;height:.85rem;transform:rotate(90deg);transition:transform .15s ease}.seq-toggle[aria-expanded=false] svg{transform:none}.seq-toggle:focus-visible{outline:2px solid var(--info);outline-offset:1px}.seq-name{display:inline-flex;align-items:center;max-width:100%;padding-right:.3rem;background:var(--field);border:1px solid var(--line);border-radius:6px;cursor:text}.seq-name:focus-within{outline:2px solid var(--info);outline-offset:-1px}.recap-table .seq-name input{min-width:0;max-width:100%;padding:.2rem .45rem;font-weight:700;text-align:center;outline:none}.recap-table tr.recap-seq td.seq-sum{font-size:.75rem;font-weight:600}.seq-name.todo{border-color:#e6b400;box-shadow:0 0 0 1px #e6b400}.recap-table .seq-name input::placeholder{color:var(--hint);font-weight:600}.seq-clear{display:grid;place-items:center;flex:none;width:1.05rem;height:1.05rem;padding:0;border:0;background:none;color:var(--faint);cursor:pointer}.seq-clear svg{width:100%;height:100%}.seq-clear circle{fill:currentColor}.seq-clear path{fill:none;stroke:var(--field);stroke-width:1.6;stroke-linecap:round}.seq-clear:hover{color:var(--steel)}.seq-clear:focus-visible{outline:2px solid var(--info);outline-offset:1px;border-radius:50%}.seq-text{padding:.2rem 0}.seq-title-group{position:relative;justify-self:center}.seq-qty-wrap,.seq-title-group{display:inline-flex;align-items:center}.seq-qty-wrap{position:absolute;left:100%;margin-left:.4rem;gap:.3rem}.seq-of{font-size:.75rem;font-weight:600;color:var(--steel)}.seq-of-box{display:inline-block;min-width:1.9rem;font-size:.82rem;font-weight:700;background:var(--panel);border:1px solid var(--line);border-radius:5px}.recap-table input.seq-qty,.seq-of-box{padding:.15rem .3rem;text-align:center;color:var(--ink)}.recap-table input.seq-qty{width:3.2rem;font:inherit;font-size:.82rem;font-weight:700;background:var(--field);border:1px solid var(--strong-line);border-radius:5px}.recap-table input.seq-qty::placeholder{color:var(--hint);font-weight:600}.recap-table input.seq-qty[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}.recap-table input.seq-qty:focus{outline:2px solid var(--accent);outline-offset:-1px}.recap-lock:disabled input.seq-qty:placeholder-shown{visibility:hidden}.row-grip.copies-toggle svg{width:.8rem;height:.8rem;fill:none;transition:transform .15s ease}.row-grip.copies-toggle.open svg{transform:rotate(90deg)}.row-grip.copies-toggle{color:var(--steel)}.recap-table tr.recap-seq.seq-copy td.seq-title-cell{padding-left:1.4rem}.recap-table tr.recap-seq.seq-copy td:not(.grip-cell){background-color:color-mix(in srgb,var(--calc) 60%,var(--panel))}.recap-table tbody tr.copy-row td:not(.grip-cell){padding:.3rem .4rem;text-align:center;color:var(--steel);background:var(--panel)}.recap-table tbody tr.copy-row td.loc-cell.tree-child{text-align:left}.recap-table tr.recap-seq.drop-into>td:not(.grip-cell){background-image:linear-gradient(var(--seq-hover),var(--seq-hover));box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}.recap-seq-add .seq-name{border-style:dashed;border-color:var(--strong-line)}.recap-table .recap-seq-add .seq-name input::placeholder{color:var(--accent-text);font-weight:700}.recap-table tbody tr.seq-plus td{height:2.4rem;padding:.15rem 0 .9rem;border:0;background:none;text-align:center;vertical-align:top}.seq-plus-button{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;padding:0;color:var(--steel);background:var(--panel);border:1px solid var(--line);border-radius:50%;cursor:pointer}.seq-plus-button svg{width:.7rem;height:.7rem}.seq-plus-button:hover{color:var(--accent-text);border-color:var(--accent);background:var(--seq-fill)}.seq-plus-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recap-table tr.recap-seq.dragging{position:relative;z-index:2;opacity:.85;box-shadow:0 8px 22px rgba(0,0,0,.22);cursor:-webkit-grabbing;cursor:grabbing}.recap-table tr.recap-seq.drop-top>td:not(.grip-cell){box-shadow:inset 0 4px 0 var(--accent)}.recap-table tr.recap-seq>td.seq-grip .row-grip{height:1.6rem}.recap-table tbody tr.recap-gap td{background:none}.recap-table tr>td.grip-cell,.recap-table tr>th.grip-cell{width:1.2rem;padding:0;border:0;background:none}.recap-table tr.recap-seq:hover>td.grip-cell,.recap-table tr:hover>td.grip-cell{background-image:none}.row-grip{display:grid;place-items:center;width:1.2rem;height:1.9rem;color:var(--faint);cursor:-webkit-grab;cursor:grab;touch-action:none;border-radius:4px}.row-grip svg{width:.55rem;height:.9rem;fill:currentColor}.recap-table tbody tr:hover .row-grip{color:var(--steel)}.row-grip:hover{color:var(--ink);background:var(--hover-tint)}.recap-table tr.dragging .row-grip{cursor:-webkit-grabbing;cursor:grabbing;color:var(--accent)}.undo-button{position:relative;display:grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;color:var(--steel);background:none;border:0;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s ease}.undo-button svg{width:1.15rem;height:1.15rem}.undo-button:hover:not(:disabled){color:var(--ink)}.undo-button:disabled{opacity:.45;cursor:default}.undo-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.undo-tip{left:0;transform:none}.frac sub,.frac sup{font-size:.68em;line-height:0}.frac sup{vertical-align:.45em}.frac sub{vertical-align:-.05em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.recap-table tr td.todo{box-shadow:inset 0 0 0 2px #e6b400}.verify-bar{position:relative;height:1.3rem}.verify-status{position:absolute;bottom:.15rem;transform:translateX(-50%);white-space:nowrap;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--bad)}.verify-status.verified{color:var(--good)}.recap-table td.recap-check{text-align:center;padding:0 .5rem}.recap-table td.recap-check input{width:auto;margin:0;accent-color:var(--accent);cursor:pointer}.recap-table input,.recap-table input.num,.recap-table td,.recap-table td.num,.recap-table td.recap-calc,.recap-table td.recap-cost-total{text-align:center}.recap-table select.recap-type{text-align:center;text-align-last:center}.recap-table .length-input{justify-content:center}.recap-table td.recap-size{text-align:center}.recap-table td.recap-size .recap-plate{justify-content:center}.recap-table .recap-plate select{text-align:center;text-align-last:center}.recap-table td.recap-size .recap-plate.compact{justify-content:center;gap:.25rem;color:var(--ink)}.recap-table .recap-plate.compact select{padding:.3rem 0;text-align:left;text-align-last:left;-moz-appearance:none;appearance:none;-webkit-appearance:none}.recap-table .recap-plate.compact input{padding:.3rem 0;text-align:left}.recap-table .recap-plate.compact>span:last-child{margin-left:-.25rem}.recap-table td.recap-size .recap-plate.compact input{text-align:left}@supports (field-sizing:content){.recap-table .recap-plate.compact input,.recap-table .recap-plate.compact select{field-sizing:content;width:auto!important;min-width:1ch}}.recap-table td.recap-size input[aria-label*=diameter]{text-align:right}.recap-table td.recap-size input.recap-oth{width:100%;min-width:7rem;text-align:center}.recap-table tr.recap-seq td.seq-check input{width:auto;margin:0}.recap-table input.recap-shop{width:1.8rem}.recap-table thead th.recap-shop-title{width:1px}.recap-table tr td.neon{box-shadow:inset 0 0 0 3px var(--bad);animation:neon-pulse .8s ease-in-out infinite alternate}.recap-table tr td.neon input::placeholder{color:var(--bad);font-weight:700}@keyframes neon-pulse{0%{box-shadow:inset 0 0 0 3px var(--bad)}to{box-shadow:inset 0 0 0 3px #f28b82}}.smooth-tabs{position:relative;display:flex;width:max-content;max-width:100%;margin:0 auto 1.25rem;padding:.25rem;background:var(--field);border:1px solid var(--line);border-radius:999px}.smooth-tab{flex:none;display:flex;align-items:center;padding:.375rem .875rem;font:inherit;font-size:.875rem;font-weight:500;line-height:1.25rem;white-space:nowrap;color:var(--steel);background:none;border:0;border-radius:999px;cursor:pointer;transition:color .15s ease}.smooth-tab:hover{color:var(--ink)}.smooth-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.smooth-tabs-pill{position:absolute;inset:0;display:flex;padding:.25rem;color:var(--panel);background:var(--ink);border-radius:999px;pointer-events:none}.smooth-tabs-pill.ready{transition:-webkit-clip-path .4s cubic-bezier(.23,1,.32,1);transition:clip-path .4s cubic-bezier(.23,1,.32,1);transition:clip-path .4s cubic-bezier(.23,1,.32,1),-webkit-clip-path .4s cubic-bezier(.23,1,.32,1)}.smooth-tabs-pill .smooth-tab{color:inherit;cursor:default}@media (prefers-reduced-motion:reduce){.smooth-tabs-pill.ready{transition:none}}@media (max-width:700px){.smooth-tabs,.smooth-tabs-pill{flex-wrap:wrap;justify-content:center;border-radius:1.25rem}}.bid-table tfoot th.bid-sum{text-align:center}.bid-sum-line{display:inline-flex;align-items:baseline;justify-content:center;gap:1.25rem}.bid-sum-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.bid-table tfoot tr.bid-foot-space td{height:1rem;padding:0;border:0}.card.plain{background:none;border-color:transparent;border-width:1px 0 0;border-radius:0;box-shadow:none}.card.plain .bid-divider{display:none}.card.plain .bid-lock{max-width:760px;padding:.4rem .75rem .6rem}.card.plain .bid-cards,.card.plain .bid-lock{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.plain .bid-cards{padding:.75rem}.card.plain .bid-table{min-width:0;font-size:.82rem}.card.plain .bid-table td,.card.plain .bid-table th{padding:.18rem .5rem}.card.plain .bid-table thead th{padding-top:.3rem;padding-bottom:.3rem}.card.plain .bid-table .bid-group th{padding-top:.5rem}.bid-info,.card.plain .bid-note{display:none}.bid-info{position:relative;place-items:center;width:.9rem;height:.9rem;margin-left:.45rem;vertical-align:middle;font-size:.62rem;font-weight:700;line-height:1;color:var(--accent-text);border:1px solid var(--accent);border-radius:50%;cursor:help}.card.plain .bid-info{display:inline-grid}.bid-info:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bid-info-tip{position:absolute;top:calc(100% + .3rem);left:-.2rem;z-index:20;display:flex;flex-direction:column;gap:.05rem;width:max-content;padding:.25rem .5rem;font-size:.72rem;font-weight:500;line-height:1.3;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--popup-shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease}.bid-info:focus-visible .bid-info-tip,.bid-info:hover .bid-info-tip{opacity:1;visibility:visible}.card.plain .bid-table tfoot td,.card.plain .bid-table tfoot th{padding-top:.4rem;font-size:1rem}.bid-footer{display:flex;align-items:center;justify-content:center;gap:.5rem;max-width:980px;height:3.4rem;margin:2.75rem auto 0}.bid-footer .btn.submit-btn.export-btn{color:var(--steel);background:var(--neutral-bg);border-color:var(--line)}.bid-footer .btn.submit-btn.export-btn:hover,.bid-footer .btn.submit-btn.export-btn[aria-expanded=true]{color:var(--ink);background:var(--soft);border-color:var(--strong-line)}.export-menu{position:relative;display:inline-flex}.export-pop{position:absolute;top:calc(100% + .4rem);left:50%;z-index:30;display:flex;flex-direction:column;gap:.1rem;min-width:6.5rem;padding:.25rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--popup-shadow);transform:translateX(-50%)}.export-pop-item{padding:.28rem .7rem;font:inherit;font-size:.78rem;text-align:left;color:var(--ink);background:none;border:0;border-radius:8px;cursor:pointer}.export-pop-item:focus-visible,.export-pop-item:hover{background:var(--accent-soft);outline:none}.form-dialog.estimate-export.lists-dialog{width:min(1100px,calc(100vw - 2rem));margin:4vh auto auto}.lists-dialog>.smooth-tabs{margin:.25rem auto 1.25rem}.cut-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1.75rem;margin:2rem 0 1rem}.mini-switch-row{display:inline-flex;align-items:center;gap:.5rem;padding:0;font:inherit;font-size:.85rem;font-weight:600;color:var(--steel);background:none;border:0;cursor:pointer}.mini-switch-row.on,.mini-switch-row:hover{color:var(--ink)}.mini-switch-row:disabled{opacity:.45;cursor:default}.mini-switch-row:disabled:hover{color:var(--steel)}.cut-table tr.cut-start td{font-weight:700}.mini-switch-row:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:999px}.mini-switch{position:relative;flex:none;width:2rem;height:1.1rem;background:var(--strong-line);border-radius:999px;transition:background-color .2s ease}.mini-switch-knob{position:absolute;top:.15rem;left:.15rem;width:.8rem;height:.8rem;background:var(--panel);border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .2s ease}.mini-switch-row.on .mini-switch{background:var(--accent)}.mini-switch-row.on .mini-switch-knob{transform:translateX(.9rem)}@media (prefers-reduced-motion:reduce){.mini-switch,.mini-switch-knob{transition:none}}.bid-footer .submit-area{margin-left:0;gap:.35rem}.bid-footer .btn.submit-btn{padding:.1rem .5rem;font-size:.72rem}.bid-footer .edit-link{font-size:.72rem}.bid-footer .submitted-popup{top:auto;bottom:calc(100% + .45rem)}.bid-lock{min-width:0;max-width:860px;margin:0 auto;padding:0;border:0}.bid-table{width:100%;min-width:600px;font-size:.875rem}.bid-table td,.bid-table th{padding:.28rem .6rem;text-align:left;vertical-align:middle;white-space:normal;border-bottom:1px solid var(--line)}.bid-table thead th{padding-top:.45rem;padding-bottom:.45rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:var(--accent-soft);border-bottom:0}.bid-table thead th:first-child{border-radius:8px 0 0 8px}.bid-table thead th:last-child{border-radius:0 8px 8px 0}.bid-table thead th:first-child,.bid-table thead th:nth-child(2){width:30%}.bid-table thead th:nth-child(3){width:22%}.bid-table tbody th{font-weight:600;line-height:1.25;color:var(--ink)}.bid-table .bid-group th{padding-top:.75rem;padding-bottom:.15rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text);border-bottom:0}.bid-table .bid-group:hover{background:transparent}.bid-note{display:block;font-size:.72rem;font-weight:400;color:var(--steel)}.bid-table .bid-total{padding-right:calc(.6rem + .55rem + 1px);text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.bid-table td.bid-total:has(.bid-box){padding-right:.6rem}.bid-table td.bid-total .bid-box{width:100%;max-width:9.5rem}.bid-base{font-size:.8rem;color:var(--steel);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bid-divider{margin:1.5rem 0;border:0;border-top:1px solid var(--line)}.bid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;max-width:1100px;margin:0 auto .75rem}.bid-cards:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:740px}.bid-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;grid-gap:.5rem;gap:.5rem;margin:0}.bid-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-width:0;min-height:3.9rem;padding:.5rem .75rem;text-align:center;background:var(--field);border:1px solid var(--line);border-radius:var(--radius-sm)}.bid-stat dt{font-size:.75rem;color:var(--steel)}.bid-stat dd{margin:0;font-size:1rem;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.bid-stat.lead{grid-column:1/-1;min-height:7rem;padding:.75rem 1rem;background:var(--accent-soft);border-color:transparent}.bid-stat.lead dt{font-size:.85rem;font-weight:700;color:var(--ink)}.bid-stat.lead dd{font-size:1.75rem;font-weight:700;letter-spacing:-.01em}.bid-stat.lead dd.bid-stat-note{font-size:.75rem;font-weight:400;letter-spacing:0;color:var(--steel)}.bid-stats.minor .bid-stat dt{font-size:.7rem}.bid-stats.minor .bid-stat dd{font-size:.875rem}.bid-stats.minor .bid-stat.lead dt{font-size:.8rem;font-weight:600}.bid-stats.minor .bid-stat.lead dd{font-size:1.4rem}.bid-stats.minor .bid-stat.lead dd.bid-stat-note{font-size:.72rem}.bid-per-ton{margin:.4rem 0 0;text-align:center;font-size:.8rem;font-style:italic;font-weight:400;color:var(--steel)}.bid-stat{position:relative}.bid-share{position:absolute;top:.2rem;right:.35rem;font-size:.65rem;font-weight:600;line-height:1;color:var(--total-outline);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bid-stats{padding:.6rem;border:2px solid transparent;border-radius:var(--radius)}.bid-stats.total{border-color:var(--total-outline)}.bid-stats.total .bid-stat:not(.lead){padding-left:.25rem;padding-right:.25rem}.trim-link{margin-left:.25rem;padding:0;border:0;background:none;font:inherit;font-size:.7rem;font-weight:700;color:var(--accent);cursor:pointer}.trim-link:hover{text-decoration:underline}.trim-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.trim-undo{display:inline-grid;place-items:center;vertical-align:-.15em}.trim-undo svg{width:1rem;height:1rem}.trim-dialog{width:min(860px,calc(100vw - 2rem))}.trim-dialog h2{margin-bottom:.9rem}.trim-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin:0 0 .75rem}.trim-summary .bid-stat dd.trim-sub{font-size:.75rem;font-weight:400;color:var(--steel)}.trim-summary .bid-stat dd.trim-up{color:var(--bad)}.trim-summary .bid-stat dd.trim-down{color:var(--good)}.trim-text{margin:0 0 1rem;font-size:.9rem;line-height:1.55}.cut-list{position:relative;max-height:min(45vh,420px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.cut-table{width:100%;min-width:520px;font-size:.88rem}.cut-table td,.cut-table th{padding:.45rem .75rem;text-align:left;vertical-align:top;white-space:normal;border-bottom:1px solid var(--line)}.cut-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--panel)}.cut-table tbody td{background:var(--field)}.cut-note{display:block;font-size:.75rem;color:var(--steel)}.trim-name{font-weight:600}.trim-old{margin-right:.35rem;color:var(--steel)}.trim-new{color:var(--bad);font-weight:700}.cut-table .trim-change{text-align:right;white-space:nowrap}.trim-dialog .form-actions{position:-webkit-sticky;position:sticky;bottom:-1.5rem;justify-content:flex-end;margin:0 -1.5rem -1.5rem;padding:.75rem 1.5rem 1.5rem;background:var(--panel)}.bid-table tfoot td,.bid-table tfoot th{padding-top:.6rem;font-size:1.1rem;font-weight:700;color:var(--ink);border-top:2px solid var(--accent-soft);border-bottom:0}.bid-box{display:inline-flex;align-items:center;gap:.25rem;width:9.5rem;padding:0 .55rem;background:var(--field);border:1px solid var(--line);border-radius:6px}.bid-box:focus-within{outline:2px solid var(--accent);outline-offset:-1px}.bid-box:has(input[aria-invalid=true]){border-color:var(--bad);box-shadow:inset 0 -2px 0 var(--bad)}.bid-box.disabled{opacity:.45}.bid-box input{flex:1 1;width:0;min-width:0;padding:.25rem 0;font:inherit;color:var(--ink);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:transparent;border:0;outline:none}.bid-box input::placeholder{color:var(--hint)}.bid-affix{font-size:.8rem;color:var(--steel)}.bid-name{font:inherit;padding:.25rem .5rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px;width:100%;max-width:15rem}.bid-name:focus{outline:2px solid var(--accent);outline-offset:-1px}.bid-name::placeholder{color:var(--hint);font-weight:400}.bid-toggle{display:inline-flex;margin-left:.6rem;vertical-align:middle;overflow:hidden;border:1px solid var(--line);border-radius:999px}.bid-toggle button{padding:.1rem .65rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--steel);background:var(--field);border:0;cursor:pointer}.bid-toggle button[aria-pressed=true]{color:var(--primary-text);background:var(--primary-bg)}.bid-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bid-lock:disabled input{color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1;cursor:default}.bid-lock:disabled input::placeholder{-webkit-text-fill-color:currentColor}.bid-lock:disabled .bid-toggle button{cursor:default}@media (max-width:1024px){.topbar{--bar-gutter:1.5rem}.content{padding:1.75rem 1.5rem 2.5rem}}@media (max-width:640px){.topbar{--bar-gutter:1rem;height:3.25rem}.brand,.topbar{gap:.5rem}.brand-name{font-size:1rem}.topbar-list{gap:.1rem}.topbar-item{width:2.25rem;height:2.25rem}.topbar-icon{width:1.2rem;height:1.2rem}.content{padding:1.25rem 1rem 2.5rem}.page-head h1,.project-head h1{font-size:1.45rem}.bid-cards,.bid-cards:has(>:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}.bid-stat.lead dd{font-size:1.45rem}.trim-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cut-table{min-width:0;font-size:.8rem}.cut-table td,.cut-table th{padding:.4rem .45rem}.card{padding:1rem}.list-row{padding:.55rem .75rem}.nav{gap:0 1.1rem}}@media (max-width:350px){.brand-name{display:none}}@media (prefers-reduced-motion:reduce){.recap-table tr td.neon{animation:none}}.submit-area{display:flex;align-items:center;gap:.5rem;margin-left:auto}.btn.submit-btn{padding:.25rem .7rem;font-size:.82rem;background:var(--submit-bg);border-color:var(--submit-line);color:var(--submit-text)}.btn.submit-btn:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.edit-link{padding:.2rem .25rem;font:inherit;font-size:.8rem;font-weight:600;color:var(--bad);background:none;border:0;cursor:pointer}.edit-link:hover{text-decoration:underline}.edit-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.btn.submit-btn.submitted,.btn.submit-btn.submitted:hover{background:var(--neutral-bg);border-color:var(--line);color:var(--steel);box-shadow:var(--pressed-shadow);transform:translateY(1px);cursor:default}.submitted-wrap{position:relative}.submitted-popup{position:absolute;top:calc(100% + .45rem);right:0;z-index:20;display:flex;flex-direction:column;gap:.05rem;min-width:12rem;padding:.55rem .75rem;font-size:.85rem;line-height:1.35;white-space:nowrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--popup-shadow);opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .15s ease,transform .15s ease,visibility .15s}.submitted-popup .muted{font-size:.75rem}.submitted-wrap:focus-within .submitted-popup,.submitted-wrap:hover .submitted-popup{opacity:1;visibility:visible;transform:none}.context-menu{position:fixed;z-index:60;display:flex;flex-direction:column;min-width:11rem;padding:.3rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--popup-shadow)}.context-menu button{padding:.4rem .7rem;font:inherit;font-size:.9rem;text-align:left;color:var(--ink);background:none;border:0;border-radius:6px;cursor:pointer}.context-menu button:focus-visible,.context-menu button:hover:not(:disabled){background:var(--soft);outline:none}.context-menu button.danger{color:var(--bad)}.context-menu button.on{font-weight:700}.context-menu button:disabled{color:var(--hint);cursor:default}.pricing>h2{margin-bottom:1rem}.pricing>.muted{margin:0}.price-table{display:grid;grid-template-columns:max-content repeat(3,6.25rem);align-items:center;grid-gap:.5rem .6rem;gap:.5rem .6rem}.price-line{display:contents}.price-col{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-align:center;color:var(--steel)}.price-name{padding-right:.5rem;font-weight:600;font-size:.92rem}.price-one{grid-column:2/-1;display:grid;justify-items:center}.price-one .price-box{width:6.25rem}.price-size .price-box,.price-table .price-box{width:100%}.bid-box.price-box{width:6.25rem}.price-thickness{width:100%;font:inherit;font-size:.88rem;text-align:center;text-align-last:center;padding:.35rem .3rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px;cursor:pointer}.price-thickness:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.price-sizes{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.price-panel h3,.price-sizes h3{margin:0 0 .6rem;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--steel)}.price-panel h3 span{margin-left:.35rem;font-weight:500;text-transform:none;letter-spacing:0}.price-size{display:grid;grid-template-columns:5.5rem 6.25rem auto;align-items:center;grid-gap:.5rem .75rem;gap:.5rem .75rem;margin-bottom:.4rem}.price-remove{display:grid;place-items:center;width:1.6rem;height:1.6rem;padding:0;color:var(--steel);background:none;border:0;border-radius:6px;cursor:pointer}.price-remove svg{width:.95rem;height:.95rem}.price-remove:hover{color:var(--bad);background:var(--hover-tint)}.price-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-top:1.25rem}.price-panel{padding:.8rem .9rem;background:var(--field);border:1px solid var(--line);border-radius:var(--radius-sm)}.price-panel label{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.4rem;font-size:.9rem;font-weight:600}.price-panel .price-box{width:6.25rem;background:var(--panel)}.pricing .field-note{display:block;margin:.5rem 0 0}@media (max-width:560px){.price-table{grid-template-columns:max-content repeat(3,minmax(0,1fr))}.price-panels{grid-template-columns:minmax(0,1fr)}}.job-save{margin-left:.6rem;font-size:.8rem;color:var(--steel)}.save-light{--light:#1f9d55;--light-bg:rgba(31,157,85,0.16);position:relative;display:inline-grid;place-items:center;width:.95rem;height:.95rem;padding:0;vertical-align:middle;font:inherit;font-size:.58rem;font-weight:800;line-height:1;color:var(--light);background:var(--light-bg);border:1px solid var(--light);border-radius:50%;cursor:pointer;box-shadow:0 0 6px 1px var(--light-bg),0 0 2px var(--light);transition:background-color .6s ease,color .6s ease,border-color .6s ease,box-shadow .6s ease}:root[data-theme=dark] .save-light{--light:#30d158;--light-bg:rgba(48,209,88,0.2)}.save-light.saving{--light:#d9a400;--light-bg:rgba(230,180,0,0.14);border-color:rgba(217,164,0,0);box-shadow:0 0 6px 1px rgba(230,180,0,.1)}:root[data-theme=dark] .save-light.saving{--light:#ffd60a;--light-bg:rgba(255,214,10,0.12);border-color:rgba(255,214,10,0);box-shadow:0 0 6px 1px rgba(255,214,10,.08)}.save-light:before{content:"";position:absolute;inset:-1px;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0,transparent 20%,color-mix(in srgb,var(--light) 18%,transparent) 45%,color-mix(in srgb,var(--light) 55%,transparent) 75%,var(--light) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.6px),#000 calc(100% - 1.1px));mask:radial-gradient(farthest-side,transparent calc(100% - 1.6px),#000 calc(100% - 1.1px));filter:drop-shadow(0 0 2px var(--light));opacity:0;transition:opacity .6s ease;animation:save-spin 1s linear infinite}.save-light.saving:before{opacity:1}@keyframes save-spin{to{transform:rotate(1turn)}}.save-light.error,:root[data-theme=dark] .save-light.error{--light:var(--bad);--light-bg:transparent;border-color:var(--line);box-shadow:none;cursor:default;margin-right:.4rem}.save-light:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.save-light:not(.error):hover{filter:brightness(1.1)}@media (prefers-reduced-motion:reduce){.save-light:before{animation-duration:3s}.save-light{transition-duration:.01s}}.job-save.warn{color:var(--warn)}.job-save.bad{color:var(--bad)}.job-save .text-button{font-size:.8rem}.team-notice{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.6rem .9rem;font-size:.9rem;color:var(--warn);background:var(--warn-bg);border-radius:var(--radius-sm)}.gate-card h2{margin:0 0 .5rem;font-size:1.05rem}.gate-card p{margin:0 0 .75rem}.gate-loading{padding:1rem 0}.team h3{margin:1rem 0 .25rem;font-size:.92rem}.team-list{list-style:none;margin:.5rem 0 0;padding:0}.team-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}.team-list li:first-child{border-top:0}.team-name{display:flex;flex-direction:column;min-width:0}.team-email{font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.team-actions{display:flex;align-items:center;gap:.5rem;flex:none}.price-fields{margin:0;padding:0;border:0;min-width:0}.login-card form+form .ms-button{margin-top:.6rem}.team-list li{flex-wrap:wrap}.team-password{display:flex;align-items:flex-end;gap:.5rem;flex-basis:100%}.team-add label,.team-password label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600}.team-password label{flex:1 1}.team-note{margin:.5rem 0;padding:.5rem .7rem;font-size:.9rem;color:var(--good);background:var(--good-bg);border-radius:var(--radius-sm)}.team-actions select{font:inherit;font-size:.85rem;padding:.4rem .5rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.role-table-wrap{overflow-x:auto;margin:.5rem 0 .75rem}.role-table{width:100%;border-collapse:collapse;font-size:.82rem}.role-table td,.role-table th{padding:.45rem .4rem;border-top:1px solid var(--line);text-align:center;vertical-align:middle}.role-table thead th{font-weight:600;color:var(--steel);border-top:0;line-height:1.25}.role-table tbody th{text-align:left;font-weight:600}.role-table tbody th input{width:100%;min-width:7rem;font:inherit;padding:.3rem .4rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.role-table input[type=checkbox]{width:1rem;height:1rem}.role-people{white-space:nowrap}.role-people .text-button{margin-left:.5rem;font-size:.8rem}.job-body{margin:0;padding:0;border:0;min-width:0}.view-only-note{margin-left:.6rem;padding:.05rem .5rem;font-size:.78rem;color:var(--steel);background:var(--soft);border-radius:999px}.job-body:disabled button,.job-body:disabled select{opacity:.55}.saved-dialog{width:min(520px,calc(100vw - 2rem))}.saved-dialog .form-actions{justify-content:flex-end}.saved-dialog input:not([type]),.saved-filter{width:100%}.saved-filter{margin-bottom:.5rem}.saved-list{list-style:none;margin:0;padding:0;max-height:min(50vh,420px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.saved-list li{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem}.saved-list li+li{border-top:1px solid var(--line)}.saved-name{flex:1 1;min-width:0;overflow-wrap:anywhere}.saved-list .btn{padding:.25rem .75rem}.saved-delete{text-decoration:none;font-size:1.2rem;line-height:1;padding:0 .25rem;color:var(--steel)}.saved-toast{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);z-index:50;margin:0;padding:.5rem 1rem;max-width:calc(100vw - 2rem);background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 20px rgba(0,0,0,.15);font-size:.875rem}.db-missing{margin:0 0 .75rem;padding:.5rem .75rem;font-size:.85rem;color:var(--ink);background:rgba(230,180,0,.16);border:1px solid #e6b400;border-radius:var(--radius-sm)}.form-dialog.saved-dialog:has(.saved-sides){width:min(860px,calc(100vw - 2rem))}.saved-sides{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1rem;gap:1rem}.saved-side{display:flex;flex-direction:column;min-width:0;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.saved-side h3{margin:0 0 .4rem;font-size:.95rem}.saved-side .saved-list{max-height:min(50vh,22rem);overflow-y:auto;margin:0}@media (max-width:640px){.saved-sides{grid-template-columns:minmax(0,1fr)}}.recap-table tbody tr.bold-row input,.recap-table tbody tr.bold-row select,.recap-table tbody tr.bold-row td{font-weight:700}.recap-table input.recap-mk{min-width:3rem}.info-line-wrap{position:relative}.info-line-wrap .info-line{width:100%}.info-eye{position:absolute;right:2.2rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:1.8rem;height:1.8rem;padding:0;color:var(--steel);background:none;border:0;border-radius:6px;cursor:pointer}.info-eye svg{width:1.1rem;height:1.1rem}.info-eye:hover{color:var(--ink);background:var(--hover-tint)}.info-eye.hidden{color:var(--accent-text)}.info-eye:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.info-grip{position:absolute;left:.1rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:1.3rem;height:1.8rem;color:var(--steel);opacity:0;cursor:-webkit-grab;cursor:grab;touch-action:none;border-radius:6px;z-index:1;transition:opacity .15s ease}.info-grip svg{width:1rem;height:1rem}.info-grip:focus-visible,.info-line-wrap:hover .info-grip,.info-lines.dragging .info-grip{opacity:.8}.info-grip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (hover:none){.info-grip{opacity:.45}}.info-lines.dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:-webkit-grabbing;cursor:grabbing}.info-line-wrap.lifted{background:var(--panel);box-shadow:var(--popup-shadow);border-radius:6px;z-index:2}.shape-scroll:has(.shape-table){width:-moz-fit-content;width:fit-content;max-width:100%;margin-inline:auto}.bid-head{display:flex;flex-direction:column;align-items:center;text-align:center}.bid-title-row{position:relative;align-self:stretch}.bid-title-row>.back-link{position:absolute;left:0;top:50%;transform:translateY(-50%);margin:0}.bid-title-row>h1{padding-inline:6rem}@media (max-width:700px){.bid-title-row{display:flex;flex-direction:column-reverse;align-items:flex-start}.bid-title-row>h1{align-self:stretch;padding-inline:0}.bid-title-row>.back-link{position:static;transform:none;margin:0 0 .5rem}}.bid-head .nav{margin-top:2.5rem}.bid-head h1 .job-number{margin-left:.6rem;font-size:1rem;font-weight:500;font-style:italic;color:var(--steel);letter-spacing:0}.bid-head .summary:empty{display:none}.bid-head .nav{justify-content:center;align-self:stretch}.info-line.read-only{cursor:default}.info-line.read-only:hover{background:transparent}.list-title-box{min-width:0;flex:1 1;max-width:24rem;padding:.15rem .4rem;font:inherit;font-weight:600;color:var(--ink);background:var(--panel);border:1px solid var(--accent);border-radius:5px}.list-status-button{padding:0;font:inherit;background:none;border:0;border-radius:999px;cursor:pointer}.list-status-button:hover{filter:brightness(.95)}.list-status-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card:has(>*>.project-info),.card:has(>.project-info){max-width:36rem;margin-inline:auto}.project-info{max-width:none}.info-eye.head-eye{position:static;transform:none;display:inline-grid;vertical-align:middle;margin-right:.45rem;width:2rem;height:2rem}.info-eye.head-eye svg{width:1.25rem;height:1.25rem}.export-bar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-right:auto;font-size:.88rem}.export-bar .export-where{color:var(--steel)}.export-bar .btn.export-save{padding:.25rem .8rem}.form-dialog.estimate-export{width:min(860px,calc(100vw - 2rem))}.export-preview h3{margin:.6rem .7rem .3rem;font-size:.9rem}.export-preview td.bold{font-weight:700}details.export-preview>summary{cursor:pointer;padding-left:.4rem}details.export-preview>summary h3{display:inline-block}.info-line.editing input,.info-line.editing select{text-align:center;text-align-last:center}.bid-cards:has(>.bid-card:only-child){grid-template-columns:minmax(0,1fr);max-width:380px}.bid-stats .bid-only{margin-top:.15rem}.order-table.order-compact{width:auto;min-width:26rem;max-width:100%;margin-inline:auto;table-layout:fixed}.order-scroll:has(.order-compact){width:-moz-fit-content;width:fit-content;max-width:100%;margin-inline:auto}.order-compact td,.order-compact th{padding:.25rem .6rem}.order-compact td:first-child,.order-compact th:first-child{width:4.5rem}.order-compact td:nth-child(2),.order-compact th:nth-child(2){width:8rem}.order-compact td:nth-child(3),.order-compact td:nth-child(4),.order-compact th:nth-child(3),.order-compact th:nth-child(4){width:6.5rem;text-align:center}.order-compact td:nth-child(5),.order-compact th:nth-child(5){width:6rem}.cut-preview td:nth-child(2),.cut-preview th:nth-child(2){width:9rem;max-width:9rem;white-space:normal;overflow-wrap:anywhere}.bid-head .dev-badge{margin-left:0}.bid-head .job,.bid-head .summary{display:flex;justify-content:center;align-items:center;gap:.5rem}.date-picker{position:relative;display:inline-flex;align-self:center}.date-picker-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:8.2rem;padding:.2rem .55rem;font:inherit;font-size:.78rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px;cursor:pointer}.date-picker-button:hover:not(:disabled){border-color:var(--strong-line)}.date-picker-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.date-picker-button:disabled{cursor:default}.calendar{position:absolute;top:calc(100% + .4rem);left:0;z-index:40;width:17rem;padding:.75rem;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--popup-shadow)}.calendar-caption{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.6rem}.calendar-caption select{flex:1 1;min-width:0;padding:.25rem .4rem;font:inherit;font-size:.82rem;font-weight:600;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px;cursor:pointer}.calendar-nav{display:grid;place-items:center;flex:none;width:1.7rem;height:1.7rem;padding:0 0 .1rem;font:inherit;font-size:1.2rem;line-height:1;color:var(--steel);background:none;border:1px solid var(--line);border-radius:6px;cursor:pointer}.calendar-nav:hover{color:var(--ink);background:var(--hover-tint)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.calendar-weekday{padding:.2rem 0;font-size:.7rem;font-weight:600;text-align:center;color:var(--steel)}.calendar-day{aspect-ratio:1;display:grid;place-items:center;padding:0;font:inherit;font-size:.8rem;color:var(--ink);background:none;border:0;border-radius:8px;cursor:pointer}.calendar-day.outside{color:var(--hint)}.calendar-day:hover{background:var(--hover-tint)}.calendar-day.today,.calendar-day.today.picked,.calendar-day.today.picked:hover{box-shadow:inset 0 0 0 1.5px #fff}.calendar-day.picked,.calendar-day.picked:hover{font-weight:700;color:#fff;background:var(--accent-hover);box-shadow:none}.calendar-caption select:focus-visible,.calendar-day:focus-visible,.calendar-nav:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.usage-card{margin-top:1.5rem}.usage-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.usage-head .smooth-tabs{margin:0}.usage-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:0 0 1rem}.usage-tiles>div{padding:.7rem .9rem;text-align:center;background:var(--field);border:1px solid var(--line);border-radius:var(--radius-sm)}.usage-tiles dt{font-size:.78rem;font-weight:600;color:var(--steel)}.usage-tiles dd{margin:.15rem 0 0;font-size:1.5rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-days{gap:2px;height:4.5rem;margin-bottom:1.25rem;padding:.4rem;background:var(--field);border:1px solid var(--line);border-radius:var(--radius-sm)}.usage-day,.usage-days{display:flex;align-items:flex-end}.usage-day{flex:1 1;height:100%;min-width:2px}.usage-day>span{display:block;width:100%;background:var(--accent);border-radius:2px 2px 0 0}.usage-columns{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:1.5rem;gap:1.5rem}@media (max-width:800px){.usage-columns,.usage-tiles{grid-template-columns:minmax(0,1fr)}}.usage-card h3{margin:0 0 .5rem;font-size:.9rem}.usage-columns h3:not(:first-child){margin-top:1rem}.usage-table{width:100%;border-collapse:collapse;font-size:.85rem}.usage-table td,.usage-table th{padding:.3rem .5rem;text-align:left;border-top:1px solid var(--line)}.usage-table thead th{border-top:0;font-size:.75rem;color:var(--steel)}.usage-table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-actions,.usage-bars{margin:0;padding:0;list-style:none;font-size:.82rem}.usage-bars li{display:grid;grid-template-columns:minmax(0,8rem) 1fr 2.2rem;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.15rem 0}.usage-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-bar{height:.5rem;background:var(--field);overflow:hidden}.usage-bar,.usage-bar>span{display:block;border-radius:999px}.usage-bar>span{height:100%;background:var(--accent)}.usage-bar-count{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--steel)}.usage-actions li{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;border-top:1px solid var(--line)}.usage-days.visitors{margin-bottom:.6rem}.usage-days.visitors .usage-day>span{background:var(--steel)}.title-save{position:relative;top:.08rem;display:inline-grid;place-items:center;width:1.25rem;height:2rem;margin-left:.5rem;vertical-align:middle}.login-card .btn.primary{align-self:center;padding:.35rem 1.5rem;font-size:.9rem;font-weight:600;color:#0f2943;background:var(--accent);border-color:var(--accent)}.login-card .btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.date-picker.text{display:inline-block}.date-picker-button.text{min-width:0;padding:.1rem .25rem;margin:-.1rem -.25rem;font-size:inherit;color:inherit;background:none;border:0;border-radius:5px}.date-picker-button.text:hover:not(:disabled){color:var(--ink);background:var(--hover-tint)}.date-picker.text .calendar{left:50%;transform:translateX(-50%);text-align:left}.form-grid .field .date-picker{display:flex}.date-picker-button.form-date{flex:1 1;justify-content:center;padding:.45rem .6rem;font-size:.9rem;font-weight:400;background:var(--field);border:1px solid var(--line);border-radius:6px}.date-picker-button[aria-invalid=true]{border-color:var(--bad)}.info-line.editing .date-picker{flex:1 1;min-width:0}.info-line.editing .date-picker-button{flex:1 1;justify-content:center;padding:.35rem .6rem;font-size:.9rem}input.date-picker-button{box-sizing:border-box;width:8.2rem;cursor:text;text-align:center}input.date-picker-button:disabled{color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1;cursor:default}.info-line.editing input.date-picker-button,input.date-picker-button.form-date{width:100%}.calendar-typed{box-sizing:border-box;width:100%;margin-bottom:.6rem;padding:.35rem .5rem;font:inherit;font-size:.85rem;text-align:center;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px}.calendar-typed:focus{outline:2px solid var(--accent);outline-offset:-1px}input.date-picker-button.text{width:8.5rem;padding:.1rem .25rem;margin:-.1rem -.25rem;font:inherit;color:inherit;text-align:center;background:none;border:1px solid transparent;border-radius:5px;cursor:text}input.date-picker-button.text:hover:not(:disabled){background:var(--hover-tint)}input.date-picker-button.text:focus{background:var(--field);border-color:var(--line);outline:2px solid var(--accent);outline-offset:1px}input.date-picker-button.text:disabled{color:inherit;-webkit-text-fill-color:currentColor;cursor:default}.date-picker-button.shake{animation:date-jiggle .45s ease-in-out}@keyframes date-jiggle{0%,to{transform:translateX(0)}15%{transform:translateX(-5px)}35%{transform:translateX(5px)}55%{transform:translateX(-4px)}75%{transform:translateX(3px)}90%{transform:translateX(-1px)}}@media (prefers-reduced-motion:reduce){.date-picker-button.shake{animation:none}}.team h3{margin:.75rem 0 .2rem;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--steel)}.team-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;margin-top:.5rem}.team-head h3{margin:0}.team-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.team .btn{padding:.2rem .65rem;font-size:.8rem}.team-list{display:block;margin-top:.35rem}.team-add+h3,.team-list+h3{margin-top:1.75rem}.team-list li{padding:.35rem 0}.team-list li,.team-list li:first-child{border-top:1px solid var(--line)}.team-actions{gap:.35rem}.team-actions select{padding:.2rem .4rem;font-size:.8rem}.form-grid.team-add{gap:.5rem .75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.team-add input,.team-add select{padding:.3rem .5rem;font-size:.85rem}.form-dialog.pop-dialog{width:min(920px,calc(100vw - 2rem))}.pop-dialog h2{margin-bottom:.75rem}.pop-dialog .role-table-wrap{margin:0}.pop-dialog .role-table td,.pop-dialog .role-table th{padding:.55rem .5rem}.pop-dialog .role-table thead th{font-size:.75rem}.pop-dialog .form-actions{justify-content:flex-end}.morph-select{position:relative;display:inline-flex;min-width:0;vertical-align:middle}.add-form .morph-select,.form-grid .morph-select,.info-form .morph-select,.info-line.editing .morph-select,.morph-select.fill,.price-table .morph-select{display:flex;width:100%}.morph-head,.morph-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:2.2rem;padding:.4rem .65rem;font:inherit;font-size:.9rem;font-weight:400;line-height:1.3;text-align:left;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.morph-head.small,.morph-trigger.small{min-height:1.85rem;padding:.2rem .5rem;font-size:.82rem}.morph-trigger:hover:not(:disabled){border-color:var(--strong-line)}.morph-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.morph-trigger:disabled{opacity:.55;cursor:default}.morph-trigger[aria-invalid=true]{border-color:var(--bad)}.morph-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.morph-value.placeholder{color:var(--hint)}.morph-chevron{flex:none;width:.95rem;height:.95rem;color:var(--steel);transition:transform .2s ease}.morph-trigger[aria-expanded=true] .morph-chevron{transform:rotate(180deg)}.morph-panel{position:fixed;z-index:200;overflow:hidden;outline:none;color:var(--ink);background:var(--field);border:1px solid var(--strong-line);border-radius:8px;box-shadow:none;transition:height .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,background-color .2s ease}.morph-panel.open{background:var(--panel);box-shadow:var(--popup-shadow)}.morph-panel .morph-head{border:0;border-radius:0;background:transparent}.morph-panel .morph-chevron{transform:rotate(180deg)}.morph-list{max-height:min(18rem,calc(var(--morph-room) - var(--morph-h)));overflow-y:auto;padding:.2rem;border-top:1px solid var(--line);opacity:0;transition:opacity .15s ease .05s}.morph-panel.open .morph-list{opacity:1}.morph-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;font-size:.88rem;border-radius:6px;cursor:pointer}.morph-item.active{background:var(--accent-soft)}.morph-item.picked{font-weight:600}.morph-item.disabled{opacity:.45;cursor:default}.morph-tick{flex:none;width:.9rem;height:.9rem;color:var(--accent-text)}@media (prefers-reduced-motion:reduce){.morph-chevron,.morph-list,.morph-panel{transition:none}}.filters .morph-select{min-width:11rem}.filters .morph-trigger{font-weight:400;color:var(--ink)}.team-actions .morph-select{min-width:7.5rem}.team-add .morph-select,.team-add .morph-trigger{width:100%}.shelf-bar{position:relative;width:100%;min-height:2.35rem;font-family:inherit;cursor:pointer;border-bottom:1px solid var(--line);border-radius:var(--radius);transition:border-radius .25s ease,background-color .25s ease,border-color .25s ease}.shelf-bar[aria-expanded=true]{border-bottom-width:0;border-radius:var(--radius) var(--radius) 0 0}.shelf-bar:hover{filter:brightness(.97)}.shelf-bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shelf-bar>:not(.shelf-name){opacity:1;transition:opacity .25s ease}.shelf-bar[aria-expanded=false]>:not(.shelf-name){opacity:0}.shelf-name{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.5rem;opacity:0;pointer-events:none;transition:opacity .25s ease}.shelf-bar[aria-expanded=false] .shelf-name{opacity:1;transition-delay:.1s}.shelf-count{min-width:1.3rem;padding:0 .4rem;font-size:.7rem;line-height:1.5;text-align:center;letter-spacing:0;color:var(--steel);background:var(--panel);border:1px solid var(--line);border-radius:999px}.shelf-table.empty .shelf-bar{background:transparent;border-color:transparent;border-bottom-width:1px;color:var(--hint)}.shelf-table.empty .shelf-bar[aria-expanded=true]{border-color:transparent;border-bottom-width:0}.shelf-table .shelf-list{border-top-left-radius:0;border-top-right-radius:0}.shelf-bar+div .shelf-list>li:first-child{border-top:0;border-top-left-radius:0;border-top-right-radius:0}@media (max-width:900px){.list-head.shelf-bar{display:flex;align-items:center;justify-content:center}.shelf-bar>:not(.shelf-name){display:none}.shelf-bar[aria-expanded=false] .shelf-name,.shelf-name{position:static;opacity:1}}@media (prefers-reduced-motion:reduce){.shelf-bar,.shelf-bar>*,.shelf-name{transition:none}}.list-item.selected,.list-item.selected:hover{background:var(--accent-soft)}.list-item.holding{background:var(--hover-tint);cursor:-webkit-grabbing;cursor:grabbing}.list-card.can-drop,.shelf-table.can-drop .shelf-bar{outline:2px dashed var(--accent);outline-offset:2px}.list-card.drop-over,.shelf-table.drop-over .shelf-bar{outline-style:solid;background-color:var(--accent-soft)}.drag-chip{position:fixed;z-index:300;max-width:18rem;padding:.3rem .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;color:var(--ink);background:var(--panel);border:1px solid var(--accent);border-radius:999px;box-shadow:var(--popup-shadow);pointer-events:none}.form-dialog.delete-all-dialog{width:min(440px,calc(100vw - 2rem))}.delete-all-dialog>p{margin:.5rem 0 1.25rem}.delete-all-actions{align-items:center;justify-content:space-between;margin-top:0}.delete-all-buttons{display:flex;gap:.5rem}.text-button.unavailable{color:var(--steel);text-decoration:underline;cursor:not-allowed}.text-button.unavailable:hover{color:var(--steel)}.list-card.empty{background:transparent;border-color:transparent;box-shadow:none}.bid-size{display:flex;align-items:baseline;justify-content:flex-end;gap:.6rem;max-width:760px;margin:0 auto .3rem;padding-right:.15rem}.bid-size button{padding:0 .2rem;font:inherit;font-weight:600;line-height:1.2;color:var(--hint);background:none;border:0;cursor:pointer;transition:color .15s ease}.bid-size button:hover{color:var(--ink)}.bid-size button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:.2em}.bid-size button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.bid-size .bid-size-s{font-size:.62rem}.bid-size .bid-size-m{font-size:.78rem}.bid-size .bid-size-l{font-size:.98rem}@media (max-width:900px){.bid-size{display:none}.bid-lock{zoom:1!important}}.export-formats{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.pdf-scroll{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;background:var(--field)}.pdf-page{box-sizing:border-box;width:min(100%,612px);padding:42px 42px 36px;font-family:Helvetica,Arial,sans-serif;font-size:10px;color:#27303a;background:#fff;border:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.12)}.pdf-box{display:grid;grid-template-columns:1fr 100px 112px;margin-bottom:24px;padding:8px 0;background:#f3f5f8;border:1px solid #b3bcc7;border-radius:8px}.pdf-box>div{display:flex;flex-direction:column;gap:3px;padding:2px 16px;min-width:0}.pdf-box>div+div{border-left:1px solid #b3bcc7}.pdf-box span{font-size:7px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#56606b}.pdf-box strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px}.pdf-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.pdf-title b{font-size:13px}.pdf-title span{font-size:8.5px;color:#56606b}.pdf-head,.pdf-line{display:grid;grid-template-columns:1fr 86px 128px 84px;align-items:center;padding:0 10px 0 12px}.pdf-head{height:22px;font-size:7.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#cddff2;border-radius:5px}.pdf-head span:not(:first-child),.pdf-line span:not(:first-child){text-align:right}.pdf-line{min-height:21px;border-bottom:.5px solid #b3bcc7;white-space:nowrap}.pdf-line span:first-child{overflow:hidden;text-overflow:ellipsis}.pdf-line span:first-child,.pdf-line span:last-child{font-weight:700;font-size:10px}.pdf-line span:nth-child(2),.pdf-line span:nth-child(3){font-size:9px;color:#56606b}.pdf-line.sub{min-height:16px}.pdf-line.sub span{font-weight:400!important;font-size:8.5px!important;color:#56606b}.pdf-line.sub span:first-child{padding-left:14px}.pdf-section{padding:11px 12px 4px;font-size:8.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#275f94}.pdf-total{display:flex;align-items:baseline;justify-content:space-between;margin-top:8px;padding:10px 10px 0 12px;border-top:1.5px solid #27303a;font-size:12px;font-weight:700}.pdf-total span:last-child{font-size:13px}.download-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}.download-label{font-size:.9rem;font-weight:600}.download-value{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.download-buttons{display:flex;gap:.4rem}.download-settings .btn{padding:.2rem .65rem;font-size:.8rem}.title-dev{position:relative;top:.08rem;display:inline-grid;place-items:center;width:1.6rem;height:2rem;margin-left:.4rem;vertical-align:middle;width:1.25rem;margin-left:.5rem}.title-save+.title-dev{margin-left:0}.title-dev .dev-badge.dev-d{margin-left:0;width:.95rem;height:.95rem;padding:0;font-size:.58rem;font-weight:800;line-height:1;vertical-align:baseline;border-radius:50%}.title-save>span{display:flex;align-items:center;justify-content:center;line-height:0}.pdf-page.wide{width:min(100%,792px);padding:36px}.pdf-box.wide{grid-template-columns:1fr 120px 132px}.pdf-takeoff-table{width:100%;border-collapse:collapse;font-size:8px}.pdf-takeoff-table td,.pdf-takeoff-table th{padding:3px 5px;text-align:right;white-space:nowrap}.pdf-takeoff-table .left{text-align:left}.pdf-takeoff-table thead th{height:20px;font-size:6.5px;letter-spacing:.04em;text-transform:uppercase;background:#cddff2}.pdf-takeoff-table thead th:first-child{border-radius:5px 0 0 5px}.pdf-takeoff-table thead th:last-child{border-radius:0 5px 5px 0}.pdf-takeoff-table tr.seq th{padding:4px 8px;text-align:left;font-size:8px;color:#275f94;background:#e3e8ee}.pdf-takeoff-table tr.seq span{float:right;color:#56606b}.pdf-takeoff-table tbody tr:not(.seq) td{border-bottom:.3px solid #b3bcc7}.pdf-takeoff-table tbody tr:not(.seq) td:nth-child(n+1){max-width:120px;overflow:hidden;text-overflow:ellipsis}.pdf-takeoff-table tbody tr.bold td{font-weight:700}.pdf-takeoff-table tfoot td,.pdf-takeoff-table tfoot th{padding-top:8px;border-top:1.2px solid #27303a;font-size:9px;font-weight:700}.pdf-title+.pdf-takeoff-table{margin-top:2px}@keyframes tab-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bid-cards,.bid-lock,.bid-size,.lists-body,.pdf-scroll>*,.shape-scroll,.weights-tabs~.calc,main .list-card,main .list-head,main .settings-columns,main .shelf-table,main section.card{animation:tab-in .24s ease-out backwards}@media (prefers-reduced-motion:reduce){.bid-cards,.bid-lock,.bid-size,.lists-body,.pdf-scroll>*,.shape-scroll,main .list-card,main .list-head,main .settings-columns,main .shelf-table,main section.card{animation:none}}.total-page{padding:56px 72px 48px}.total-page h3,.total-page p{margin:0}.total-kicker{font-size:7.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#56606b}.total-name{margin-top:12px!important;font-size:17px;font-weight:700;line-height:1.25}.total-number{margin-top:4px!important;font-size:10px;color:#56606b}.total-label{margin-top:44px!important;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#275f94}.total-figure{margin-top:6px!important;font-size:38px;font-weight:700;line-height:1.1;letter-spacing:-.01em}.total-note{margin-top:6px!important;font-size:10px;color:#56606b}.total-headline{display:flex;gap:0;margin:30px 0 28px}.total-headline>div{flex:1 1}.total-headline dd{margin:0;font-size:13px;font-weight:700}.total-headline dt{margin-top:3px;font-size:6.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#56606b}.total-cards{display:flex;gap:14px}.total-card{flex:1 1;min-width:0;padding:14px 16px 12px;background:#eef1f5;border-radius:12px}.total-card header{display:flex;align-items:baseline;justify-content:space-between}.total-card header b{font-size:10px;color:#275f94}.total-card header span{font-size:7.5px;color:#56606b}.total-card-figure{margin-top:10px!important;font-size:22px;font-weight:700;line-height:1.1}.total-card dl{margin:12px 0 0}.total-card dl>div{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:8.5px}.total-card dt{color:#56606b;font-size:8px}.total-card dd{margin:0;font-weight:700;text-align:right}.breakdown-table{width:100%;margin-top:22px;border-collapse:separate;border-spacing:0;font-size:9.5px}.breakdown-table thead th{padding:8px;font-size:7px;font-weight:700;letter-spacing:.06em;text-align:right;text-transform:uppercase;color:#56606b;border-bottom:1px solid #d5dbe2}.breakdown-table td{padding:4px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid #e9edf1}.breakdown-table td:first-child{max-width:210px;overflow:hidden;text-overflow:ellipsis;text-align:left;padding-left:0}.breakdown-table td.last,.breakdown-table thead th:last-child{background:#eef1f5;font-weight:700}.breakdown-table tr.section th{padding:14px 0 3px;text-align:left;font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#275f94}.breakdown-table tr.sub td{font-size:8px;color:#56606b;border-bottom-color:transparent}.breakdown-table tr.sub td:first-child{padding-left:12px}.breakdown-table tr.grand td{padding-top:12px;font-size:11px;font-weight:700;border-top:1px solid #27303a;border-bottom:0}.breakdown-table tr.grand td.last{font-size:12px}.total-page{position:relative}.total-name{max-width:268px}.total-summary{position:absolute;top:105px;right:92px;width:150px;margin:0;font-style:italic}.total-summary>div{display:flex;justify-content:space-between;gap:8px;padding:2px 0 3px;font-size:8px;border-bottom:1px solid #e3e8ee}.total-summary dt{color:#56606b;font-size:7.5px}.total-summary dd{margin:0;font-weight:700}.lists-dialog .order-scroll{max-height:min(60vh,36rem)}@media (min-width:1000px){.pdf-scroll>.pdf-page{zoom:1.125}}.shelf-table.open{margin-top:2.6rem}.shelf-heading{display:block;margin:0 auto .55rem;padding:0 .5rem;font-family:inherit;background:none;border:0;cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase;color:var(--steel);animation:tab-in .24s ease-out backwards}@media (prefers-reduced-motion:reduce){.shelf-heading{animation:none}}.shelf-heading:hover{color:var(--ink)}.pdf-check-table{width:100%;border-collapse:collapse;font-size:8.5px}.pdf-check-table td,.pdf-check-table th{padding:4px 6px;text-align:left;white-space:nowrap}.pdf-check-table .right{text-align:right}.pdf-check-table thead th{height:20px;font-size:7px;letter-spacing:.04em;text-transform:uppercase;background:#cddff2}.pdf-check-table thead th:first-child{border-radius:5px 0 0 5px}.pdf-check-table thead th:last-child{border-radius:0 5px 5px 0}.pdf-check-table tr.group th{padding:4px 8px;font-size:8.5px;color:#275f94;background:#e3e8ee;border-radius:3px}.pdf-check-table tbody tr:not(.group) td{border-bottom:1px solid #e3e8ee}.pdf-check-table tr.bold td{font-weight:700}.pdf-check-table td.box{width:22px;padding-left:6px}.pdf-check-table td.box span{display:block;width:9px;height:9px;border:.8px solid #56606b;border-radius:1.5px}.pdf-check-table tfoot td{padding-top:8px;font-size:9.5px;font-weight:700;border-top:1px solid #27303a}.pdf-page tbody tr:hover{background:transparent}.pdf-check-table td.red{color:#c4271b;font-weight:700}.drop-list-link{display:block;margin:0 auto;font-size:.9rem}.form-dialog.pop-dialog.drop-list{width:min(720px,calc(100vw - 2rem))}.drop-table td,.drop-table th{text-align:left}.drop-table td:nth-child(3),.drop-table td:nth-child(4){text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.drop-tip{position:fixed;z-index:150;max-width:280px;padding:.55rem .75rem;font-size:.82rem;line-height:1.35;color:var(--ink);background:var(--panel);border:1px solid var(--good);border-left-width:4px;border-radius:8px;box-shadow:var(--popup-shadow);animation:tab-in .2s ease-out both}.drop-tip p{margin:0}.drop-tip .drop-tip-more{margin-top:.3rem;font-weight:600;color:var(--warn)}.drop-tip{max-width:320px}.drop-tip-find{margin-top:.45rem;padding-top:.4rem;font-size:.78rem;color:var(--steel);border-top:1px solid var(--line)}.drop-tip-find ul{margin:.15rem 0 0;padding:0;list-style:none}.drop-tip-find li+li{margin-top:.15rem}.drop-tip .drop-tip-title{font-weight:700}.drop-tip-find li.best{color:var(--ink);font-weight:700}.recap-table .length-input input{min-width:1.5ch}