:root{--ink:#181818;--muted:#6b6b6b;--paper:#fff;--canvas:#f4f1ed;--line:#e6e0d9;--red:#a91512;--orange:#d97936;--shadow:0 16px 45px rgba(33,22,15,.08);--radius:18px}
*{box-sizing:border-box}html{background:var(--canvas);overflow-y:scroll;scrollbar-gutter:stable}body{margin:0!important;color:var(--ink);background:radial-gradient(circle at 90% 5%,rgba(217,121,54,.11),transparent 26rem),var(--canvas)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
.app-header{position:relative;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.app-header__inner{width:min(1180px,calc(100% - 40px));min-height:92px;margin:0 auto;display:flex;align-items:center;gap:28px}.app-brand{display:inline-flex;align-items:center;text-decoration:none}.app-brand img{display:block;width:min(420px,38vw);max-height:66px;object-fit:contain}.app-nav{display:flex;gap:6px;margin-left:auto;align-items:center}.app-nav a{color:#45413e;font-size:14px;font-weight:750;text-decoration:none;padding:11px 13px;border-radius:10px;white-space:nowrap}.app-nav a:hover{background:#f5efea;color:var(--red)}.app-nav .logout-btn{background:var(--ink)!important;color:#fff!important;margin-left:6px;flex:0 0 auto;min-width:78px;text-align:center;white-space:nowrap}.app-titlebar{border-top:1px solid #f1ece7;background:#fff}.app-titlebar__inner{width:min(1180px,calc(100% - 40px));margin:auto;padding:16px 0 18px;display:flex;align-items:baseline;gap:12px}.app-eyebrow{color:var(--orange);font-weight:850;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.app-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(26px,3vw,38px);line-height:1}
.page-wrap,.estimator-card,.main-card,.container{width:min(1180px,calc(100% - 40px))!important;max-width:1180px!important;margin:28px auto 70px!important;padding:clamp(22px,4vw,42px)!important;background:var(--paper)!important;border:1px solid rgba(80,56,40,.08)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important}.section-title{color:var(--ink)!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(22px,2.5vw,30px)!important;font-weight:700!important;margin-top:28px!important}.page-wrap>.section-title:first-child,.estimator-card>.section-title:first-child{margin-top:0!important}.divider{height:3px!important;background:linear-gradient(90deg,var(--red) 0 80px,var(--orange) 80px 150px,var(--line) 150px)!important;margin:12px 0 26px!important}.grid{gap:14px!important}.card{position:relative;min-height:118px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:22px!important;overflow:hidden;color:var(--ink);background:#faf8f6!important;border:1px solid var(--line)!important;border-radius:15px!important;text-align:left!important;font-size:17px!important;box-shadow:none}.card::after{content:"→";position:absolute;top:17px;right:18px;color:var(--red);font-size:22px;transition:transform .2s ease}.card:hover,.card:focus-visible{transform:translateY(-2px);color:var(--red)!important;background:#fff!important;border-color:rgba(169,21,18,.35)!important;box-shadow:0 12px 28px rgba(70,36,18,.08)}.card:hover::after{transform:translateX(3px)}
label{color:#4b4743!important;font-weight:700!important;font-size:13px!important}input,select,textarea{min-height:48px;border:1px solid #d8d1ca!important;border-radius:10px!important;background:#fff!important;padding:11px 13px!important;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(169,21,18,.12)!important}button,.submit-btn,.nepw-btn,.small-action{min-height:44px;border:0!important;border-radius:10px!important;padding:10px 18px!important;font-weight:800!important;cursor:pointer}.submit-btn,button[type=submit],.nepw-btn{background:var(--red)!important;color:#fff!important}button:hover,.submit-btn:hover{filter:brightness(.94)}.results,#selectedMaterialsContainer{border:1px solid var(--line)!important;border-radius:14px!important;background:#fbfaf8!important;padding:18px!important}#stickyBar{min-height:64px!important;background:rgba(24,24,24,.96)!important;border-top:3px solid var(--orange)!important;color:#fff!important;backdrop-filter:blur(14px);box-shadow:0 -10px 30px rgba(0,0,0,.12)}.app-footer{padding:26px 20px 94px;color:var(--muted);text-align:center;font-size:13px}.app-footer strong{color:var(--ink)}
.login-page{min-height:100vh!important;display:flex;flex-direction:column;padding:0!important}.login-header{text-align:center;padding:clamp(34px,7vh,72px) 20px 28px}.login-header img{display:block;width:min(560px,90vw);height:auto;margin:0 auto}.login-header p{margin:18px 0 0;color:var(--muted);font-size:14px;font-weight:750;letter-spacing:.04em}.login-page .login-box{flex:0 0 auto}.login-page .app-footer{margin-top:auto;width:100%;padding:36px 20px 28px}
@media(max-width:760px){body{padding-bottom:72px}.app-header__inner{width:calc(100% - 28px);min-height:76px}.app-brand img{width:min(290px,76vw);max-height:56px}.app-nav{position:fixed;z-index:60;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));min-height:62px;justify-content:space-around;gap:0;padding:7px;background:rgba(24,24,24,.96);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.3);backdrop-filter:blur(18px)}.app-nav a{flex:1;color:#fff;padding:11px 5px;text-align:center;font-size:12px}.app-nav a:hover{color:#fff;background:rgba(255,255,255,.1)}.app-nav .logout-btn{display:none}.app-titlebar__inner{width:calc(100% - 28px);padding:13px 0 15px}.app-eyebrow{display:none}.app-title{font-size:27px}.page-wrap,.estimator-card,.main-card,.container{width:calc(100% - 20px)!important;margin:10px auto 38px!important;padding:20px!important;border-radius:16px!important}.grid{grid-template-columns:1fr!important;gap:10px!important}.card{min-height:82px;padding:18px!important;justify-content:center}.card::after{top:50%;transform:translateY(-50%)}.section-title{font-size:23px!important}input,select,textarea{min-height:52px;font-size:16px!important}.form-grid,.two-col,.three-col{grid-template-columns:1fr!important}.wall-row{align-items:stretch!important;flex-direction:column!important}.wall-row input{width:100%!important}#stickyBar{bottom:calc(84px + env(safe-area-inset-bottom))!important;left:10px!important;right:10px!important;width:auto!important;min-height:58px!important;border-radius:14px!important;font-size:12px!important}}


/* v1.33 shared accessibility and touch-target pass */
:where(a[href],button,summary,[role="button"],[tabindex]):focus-visible{
  outline:3px solid #fff!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 6px var(--red)!important;
}
:where(input,select,textarea):focus-visible{
  outline:3px solid #fff!important;
  outline-offset:1px!important;
  box-shadow:0 0 0 5px var(--red)!important;
}
.app-nav a{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}


/* Shared long-page Back to top control */
.app-back-to-top{
    position:fixed;right:20px;bottom:22px;z-index:1400;
    display:inline-flex;align-items:center;gap:7px;min-height:44px;
    padding:10px 14px;border:1px solid rgba(255,255,255,.25);
    border-radius:999px;background:#171513;color:#fff;
    font:800 13px/1 Arial,sans-serif;box-shadow:0 10px 28px rgba(28,22,18,.24);
    cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);
    transition:opacity .18s ease,transform .18s ease,background .18s ease;
}
.app-back-to-top:hover{background:#a91512}
.app-back-to-top:focus-visible{outline:3px solid rgba(169,21,18,.28);outline-offset:3px}
.app-back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.app-back-to-top__arrow{font-size:18px;line-height:1}
@media(max-width:720px){
    .app-back-to-top{right:14px;bottom:94px;width:46px;height:46px;justify-content:center;padding:0}
    .app-back-to-top__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}
@media(prefers-reduced-motion:reduce){.app-back-to-top{transition:none}}
