/* Separate MyOffice edition. Geometry, artwork masks and application logic unchanged. */
@font-face{font-family:Montserrat;src:url('montserrat-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('montserrat-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('montserrat-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('montserrat-700.ttf') format('truetype');font-weight:700;font-display:swap}
body{font-family:var(--portal-font);background:var(--page);color:var(--text);font-size:16px;line-height:1.55}
.top,.portal-page .top,.dark-header-page .top{background:var(--primary);min-height:84px;padding:18px clamp(20px,3vw,48px);box-shadow:none;border-bottom:1px solid #ffffff18}
.brand{gap:22px;flex-shrink:0}.brand .myoffice-wordmark,.login-brand .myoffice-wordmark{display:inline-block;border:2px solid var(--accent);padding:3px 5px;font:400 27px/1.05 Arial,sans-serif;letter-spacing:-1.4px;color:#fff}
.myoffice-wordmark b{color:var(--accent);font-weight:700}.brand .brand-product,.login-brand .brand-product{display:inline-block;border-left:1px solid #ffffff40;padding-left:20px;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:#eee}
.top nav>a,.portal-page .top nav>a,.dark-header-page .top nav>a,.portal-page .nav-logout,.dark-header-page .nav-logout{color:#e3e3e3;font-weight:500;border-radius:0}
.top nav>a[aria-current=page],.portal-page .top nav>a[aria-current=page],.dark-header-page .top nav>a[aria-current=page]{background:transparent;color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.top nav>a:hover,.portal-page .top nav>a:hover,.dark-header-page .top nav>a:hover,.nav-logout:hover{background:#ffffff0d;color:#fff}
.card,.dark-header-page .card,.preview-card,.summary,.login-card{border-radius:var(--radius);box-shadow:none;border-color:#deded9}
.card,.dark-header-page .card{padding:26px;background:var(--surface)}
h1,h2,h3{color:var(--text);letter-spacing:-.025em;font-weight:700}h1{line-height:1.18}h2{font-size:22px}h3{font-size:18px}
.muted,.template-note{color:#656565}.eyebrow{color:#696969;font-weight:600;letter-spacing:.15em}
.configurator-intro h1{font-size:clamp(30px,3vw,44px);margin:8px 0 12px}.configurator-intro h1:after{content:'';display:block;width:64px;height:3px;margin-top:20px;background:var(--accent)}
.configurator-intro{margin-top:24px!important;margin-bottom:26px!important}.configurator-intro .muted{font-size:15px}
.order-steps{background:transparent;border:0;box-shadow:none;color:#686868}.order-steps .active{color:var(--text)}.order-steps .active b{background:var(--accent);color:#191919}.order-steps b{background:#e8e8e3;color:#595959}
.project-settings{gap:22px}.project-settings .card{padding:24px}.project-settings .grid2{gap:18px 20px;align-items:start}
label{font-weight:500;color:var(--text);font-size:14px}label>small{color:#666!important;font-size:12px}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-family:inherit;font-weight:500;border:1px solid #cececa;border-radius:var(--radius);background:var(--surface);color:var(--text);min-height:46px;font-size:16px;padding:10px 12px;box-shadow:none}
input:disabled,input[readonly]{background:#f3f3ef;color:#555;opacity:1}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #8a7011;outline-offset:3px}
input[type=checkbox],input[type=radio]{accent-color:var(--primary)}
button,.button{font-family:inherit;font-weight:600;border-radius:var(--button-radius);min-height:44px}
button.secondary,.button.secondary{background:var(--surface);border:1px solid #d3d3ce;color:var(--text)}
.rush-option,.measurement-info,.security-note{background:#f5f5f1;border:1px solid #dfdfd8;color:#515151;border-radius:var(--radius)}
.rush-option strong,.measurement-info strong{color:var(--text)}.measurement-info{font-size:14px;line-height:1.6}
.preview-card{border:1px solid #d6d8d5}.preview-head{background:var(--surface);padding:18px 28px}.preview-head strong{color:var(--text)}
.live-pill{background:#fff6ce;color:#62500d;border:1px solid #d4bc64}.ratio-pill{background:#f4f4f0;color:#575757;border-radius:var(--radius)}
.preview-stage{background-color:#e7e8e5;background-image:linear-gradient(120deg,#dfe1de,#f0f1ee)}.preview-note{color:#696969;background:var(--surface);padding:12px 28px;font-size:13px}.preview-measures{color:#5f6668}
.design-icon,.window-total,.lock-icon{background:#fff6d5;color:#655112;border-radius:var(--radius)}
.choices{gap:12px}.choices label span{border-radius:var(--radius);background:var(--surface);color:#555;border:1px solid #cececa;font-weight:600;padding:13px 12px}
.choices input:checked+span{background:#fff9df;border-color:#a98b25;color:#252525;box-shadow:inset 0 -2px var(--accent)}
.window-row{background:#f5f5f1;border-radius:var(--radius);padding:14px}.window-row strong,.window-row label{color:#606060}
.summary{background:var(--primary);color:#fff;padding:26px;border:none}.summary h2{color:#fff}.summary .eyebrow{color:var(--accent)}.summary>div,.summary .price-row{color:#e4e4e4;border-color:#ffffff25}.summary strong{color:#fff}.summary .price-status{color:#ddd}
.summary #placeOrder{background:var(--accent);color:#191919;border:1px solid var(--accent)}.price-total{border-color:#ffffff35!important}
#configurator .design-actions{background:var(--primary);border-radius:var(--radius);box-shadow:none}.design-actions label{color:#eee}.design-actions button{font-weight:600}
.admin-tabs a{border-radius:var(--radius)}.admin-tabs a[aria-current=page]{background:var(--primary);color:var(--accent)}
table th{background:#f3f3ef;color:#555}table td{border-color:#e2e2db}.pill{background:#f1f1ec;color:#565656;border-radius:var(--radius)}
.login-body{background:var(--page)}.login-visual{background:var(--primary);padding:clamp(30px,5vw,72px)}.login-grid{opacity:.05}.login-copy h1{color:#fff}.login-copy .eyebrow{color:var(--accent)}.login-copy>p:last-child,.login-benefits{color:#d9d9d9}
.login-card{padding:36px}.login-card>.eyebrow{color:#6a6a6a}.login-card form button{background:var(--accent);color:#191919;border:0}.login-brand{gap:20px}.login-brand .myoffice-wordmark{font-size:32px}
.appearance-preview-card{border-radius:var(--radius)}
.login-body>main.login-shell{width:100%;margin:0;padding:0;min-height:100vh;min-height:100dvh;align-items:stretch}
/* Compact, consistent type hierarchy across the branded portal. */
body{font-size:1rem;font-weight:400;line-height:1.5}
h1,.intro h1,.configurator-intro h1,.login-card h2{font-size:1.875rem;font-weight:600;line-height:1.25;letter-spacing:-.025em}
h2,.card h2,.section-title h2,.design-heading h2,.summary h2{font-size:1.25rem;font-weight:600;line-height:1.35}
h3,.card h3{font-size:1.125rem;font-weight:600;line-height:1.4}
.login-copy h1{font-size:clamp(1.875rem,3vw,2.5rem);font-weight:600}
.login-copy>p:last-child{font-size:1rem;line-height:1.6}
strong,b{font-weight:600}
.eyebrow,.admin-stats p{font-size:.75rem;font-weight:500;letter-spacing:.06em}
.admin-stats strong{font-size:1.5rem;line-height:1.3;font-weight:600}
.admin-stats article{min-height:100px;padding:20px;border-radius:var(--radius);box-shadow:none}
.admin-stats p{margin-bottom:12px;color:#606060}
.pill,.window-total{font-size:.8125rem;font-weight:500}
label,.listing-filters label{font-size:.875rem;font-weight:500;line-height:1.45}
button,.button,.admin-tabs a,.top nav>a,.portal-page .top nav>a,.dark-header-page .top nav>a,.nav-logout,.choices label span{font-size:.875rem;font-weight:500;line-height:1.4}
.muted,.card p,.configurator-intro .muted,.template-note,.pagination{font-size:.875rem;line-height:1.6}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:1rem;font-weight:400;line-height:1.4}
table{font-size:.875rem;line-height:1.5}
table th{font-size:.75rem;font-weight:600;letter-spacing:.025em}
table td strong{font-weight:500}
table input:not([type=checkbox]):not([type=radio]),table select,table button{font-size:.875rem;font-weight:400}
table td{padding:14px 10px}
.summary strong{font-weight:500}.summary .price-total strong,.summary .price-total span{font-size:1.375rem;font-weight:600}
.summary .eyebrow{font-size:.75rem}.summary .price-row{font-size:.875rem}
.orders-table td:nth-child(4){white-space:nowrap;font-variant-numeric:tabular-nums}
.orders-table td:first-child a{font-weight:500;text-underline-offset:3px}
.orders-table .inline{gap:8px;flex-wrap:wrap}
.orders-table .inline input[name=note]{width:10rem;min-width:7rem;flex:1 1 7rem}
.orders-table .inline select{width:auto;max-width:100%}
@media(max-width:700px){
  .intro h1,.configurator-intro h1,.login-card h2{font-size:1.625rem}
  table input:not([type=checkbox]):not([type=radio]),table select{font-size:1rem}
}
@media(max-width:1050px){.top nav>a{font-size:14px}.top{align-items:flex-start}.brand .brand-product{font-size:11px}}
@media(max-width:700px){.card,.dark-header-page .card,.project-settings .card{padding:18px}.top{padding:16px}.brand .brand-product{padding-left:14px}.project-settings .grid2{gap:16px}.preview-head{padding:16px}.preview-note{padding:12px 16px}.choices{gap:8px}.choices label span{font-size:14px;padding:12px 6px}}
@media print{.top,.order-steps{display:none}.card,.summary{box-shadow:none}.summary{background:#fff!important;color:#111!important}.summary *{color:#111!important}}
