
:root{
  --ink:#111315;
  --muted:#6d737b;
  --line:#e8eaed;
  --soft:#f6f7f8;
  --blue:#315bff;
  --blue-dark:#1735a5;
  --night:#121722;
  --white:#fff;
  --radius:20px;
  --shadow:0 20px 60px rgba(17,19,21,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{max-width:100%}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.announcement{background:var(--ink);color:#fff;text-align:center;padding:9px 20px;font-size:12px;letter-spacing:.04em}
.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{height:78px;display:flex;align-items:center;gap:34px}
.brand{width:188px;color:var(--ink);display:flex}
.brand img{width:100%;height:auto}
.navlinks{display:flex;gap:27px;margin-left:15px;font-size:14px}
.navlinks a:hover{opacity:.58}
.nav-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn,.quote-btn,.btn{border:0;cursor:pointer;border-radius:999px;transition:.2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.icon-btn{width:42px;height:42px;background:var(--soft)}
.icon-btn:hover{transform:translateY(-1px);background:#eceef1}
.quote-btn{padding:12px 18px;background:var(--ink);color:white;font-weight:700;font-size:13px}
.quote-btn:hover,.btn-dark:hover{background:#2b3036}
.badge{display:inline-flex;padding:6px 10px;background:#eef2ff;color:#2547c7;border-radius:999px;font-weight:800;font-size:11px;letter-spacing:.03em;text-transform:uppercase}
.hero{padding:44px 0 28px}
.hero-grid{min-height:570px;border-radius:30px;overflow:hidden;display:grid;grid-template-columns:1.04fr .96fr;background:linear-gradient(120deg,#f7f8fa,#edf1f8)}
.hero-copy{padding:72px 34px 66px 64px;display:flex;flex-direction:column;justify-content:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:900;color:#5d6470;margin-bottom:18px}
h1{font-size:clamp(45px,6vw,76px);line-height:.95;letter-spacing:-.055em;margin:0 0 24px;max-width:660px}
.hero-copy p{font-size:18px;line-height:1.65;color:#555d66;max-width:560px;margin:0 0 30px}
.button-row{display:flex;gap:10px;flex-wrap:wrap}
.btn{padding:14px 21px;font-size:14px;font-weight:800}
.btn-dark{background:var(--ink);color:white}
.btn-light{background:white;border:1px solid #dfe3e8}
.btn-blue{background:var(--blue);color:#fff}
.hero-art{position:relative;min-height:520px;background:
  radial-gradient(circle at 74% 28%,rgba(62,105,255,.55),transparent 20%),
  radial-gradient(circle at 25% 70%,rgba(108,230,255,.38),transparent 24%),
  linear-gradient(145deg,#101725,#202d49 58%,#111722)}
.hero-art:after{content:"";position:absolute;inset:9% 10%;border:1px solid rgba(255,255,255,.14);border-radius:30px;box-shadow:inset 0 0 60px rgba(255,255,255,.05)}
.room{position:absolute;left:12%;right:12%;bottom:12%;top:16%}
.tv{position:absolute;left:18%;top:12%;width:58%;height:34%;border-radius:14px;background:linear-gradient(135deg,#0e1118,#29334a);box-shadow:0 0 50px rgba(64,108,255,.26);border:1px solid rgba(255,255,255,.1)}
.tv:after{content:"TAPESTRY";position:absolute;color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.35em;inset:0;display:grid;place-items:center}
.sofa{position:absolute;left:5%;right:4%;bottom:5%;height:32%;background:linear-gradient(180deg,#cfd5df,#aeb6c3);border-radius:32px 32px 18px 18px;box-shadow:0 28px 45px rgba(0,0,0,.3)}
.sofa:before,.sofa:after{content:"";position:absolute;top:-15%;width:42%;height:60%;border-radius:22px;background:#dfe3e9}
.sofa:before{left:5%}.sofa:after{right:5%}
.lamp{position:absolute;right:2%;top:16%;width:5px;height:52%;background:rgba(255,255,255,.65)}
.lamp:before{content:"";position:absolute;left:-30px;top:-12px;border-left:32px solid transparent;border-right:32px solid transparent;border-bottom:48px solid rgba(255,242,183,.86);filter:drop-shadow(0 0 18px rgba(255,226,110,.5))}
.device-chip{position:absolute;right:9%;bottom:8%;background:rgba(10,14,23,.82);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:18px;padding:15px 17px;min-width:185px;backdrop-filter:blur(10px)}
.device-chip strong{display:block;font-size:13px}.device-chip span{font-size:11px;color:#b9c2d2}
.section{padding:72px 0}
.section-tight{padding:38px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}
.section-head h2{font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:-.04em;margin:0}
.section-head p{max-width:500px;color:var(--muted);line-height:1.6;margin:0}
.categories{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.category-card{background:var(--soft);border:1px solid var(--line);min-height:130px;padding:18px;border-radius:18px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}
.category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);background:#fff}
.cat-icon{width:42px;height:42px;border-radius:13px;background:#fff;display:grid;place-items:center;border:1px solid #e4e6ea;font-size:20px}
.category-card strong{font-size:13px;line-height:1.25}
.feature-band{display:grid;grid-template-columns:1fr 1fr;border-radius:28px;overflow:hidden;background:#11151d;color:#fff}
.feature-visual{min-height:430px;position:relative;background:
  radial-gradient(circle at 28% 30%,rgba(78,118,255,.75),transparent 19%),
  radial-gradient(circle at 65% 65%,rgba(178,63,255,.5),transparent 23%),
  linear-gradient(135deg,#101522,#202d43)}
.bridge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:42px;background:linear-gradient(145deg,#fefefe,#dce2ea);box-shadow:0 45px 70px rgba(0,0,0,.4);display:grid;place-items:center}
.bridge:before{content:"";width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#eef2f7,#c7cfdb);box-shadow:inset 0 0 0 12px #e7ebf1}
.feature-copy{padding:64px;display:flex;flex-direction:column;justify-content:center}
.feature-copy .eyebrow{color:#aab3c3}
.feature-copy h2{font-size:48px;line-height:1.03;letter-spacing:-.045em;margin:0 0 20px}
.feature-copy p{color:#c4cad4;line-height:1.7;font-size:16px;margin:0 0 28px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:.2s;display:flex;flex-direction:column}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.product-image{aspect-ratio:1/1;background:linear-gradient(145deg,#f7f8fa,#eaedf2);display:grid;place-items:center;position:relative;overflow:hidden}
.product-orb{width:42%;aspect-ratio:1;border-radius:32%;background:linear-gradient(145deg,#fff,#d8dde5);box-shadow:0 25px 45px rgba(26,35,51,.18)}
.product-orb.round{border-radius:50%}
.product-orb.tall{width:33%;aspect-ratio:.72;border-radius:24px}
.product-image:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(49,91,255,.16),transparent 67%);filter:blur(4px)}
.product-body{padding:17px 17px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.product-category{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8a9098;font-weight:900}
.product-name{font-size:15px;font-weight:800;line-height:1.35;min-height:41px}
.product-meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto}
.quote-text{font-size:12px;font-weight:800;color:#5b6470}
.add-btn{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:9px 12px;font-weight:800;font-size:11px;cursor:pointer}
.add-btn:hover{background:#30363e}
.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;background:var(--soft);border-radius:28px;padding:55px}
.contact-wrap h2{font-size:48px;line-height:1;letter-spacing:-.045em;margin:0 0 20px}
.contact-wrap p{color:var(--muted);line-height:1.7}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-grid .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#69717c}
.field input,.field textarea,.field select{border:1px solid #dfe3e8;border-radius:13px;background:white;padding:13px 14px;outline:none}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#7892ff;box-shadow:0 0 0 3px rgba(49,91,255,.1)}
.footer{border-top:1px solid var(--line);padding:36px 0 50px;margin-top:70px}
.footer-grid{display:flex;align-items:center;gap:20px;color:#747b84;font-size:12px}
.footer .brand{width:150px;margin-right:auto}
.page-hero{padding:66px 0 34px}
.page-hero h1{font-size:clamp(42px,5vw,64px)}
.page-hero p{color:var(--muted);font-size:17px;max-width:640px;line-height:1.65}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.filter-btn{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer}
.filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.searchbar{display:flex;gap:10px;margin:20px 0 30px}
.searchbar input{flex:1;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.auth-shell{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:60px 20px;background:linear-gradient(145deg,#fafbfc,#eef2f8)}
.auth-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}
.auth-card h1{font-size:38px;margin-bottom:10px}
.auth-card p{color:var(--muted);line-height:1.6}
.auth-card .field{margin:14px 0}
.auth-card .btn{width:100%;margin-top:10px}
.config-note{padding:11px 13px;border-radius:12px;background:#fff5d8;color:#7c5a00;font-size:12px;line-height:1.5;margin:13px 0}
.app-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh;background:#f5f6f8}
.sidebar{background:#11151b;color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:20px}
.sidebar .brand{width:170px;color:#fff}
.side-nav{display:flex;flex-direction:column;gap:5px}
.side-nav a{padding:11px 12px;border-radius:10px;color:#bcc3cd;font-size:13px;font-weight:700}
.side-nav a.active,.side-nav a:hover{background:#232a34;color:#fff}
.app-main{padding:32px}
.app-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.app-top h1{font-size:36px;margin:0;letter-spacing:-.04em}
.app-top p{color:var(--muted);margin:5px 0 0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.stat{background:white;border:1px solid var(--line);border-radius:17px;padding:18px}
.stat span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.stat strong{font-size:32px;display:block;margin-top:8px}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:18px;padding:20px}
.panel h2{font-size:18px;margin:0 0 16px}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}
.table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a818a}
.status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#3555c7;font-size:10px;font-weight:900;text-transform:uppercase}
.empty{color:var(--muted);padding:26px 0;text-align:center}
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.36);z-index:60;opacity:0;pointer-events:none;transition:.2s}
.drawer-backdrop.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;right:0;top:0;bottom:0;width:min(440px,94vw);background:#fff;z-index:70;transform:translateX(100%);transition:.28s ease;display:flex;flex-direction:column;box-shadow:-30px 0 80px rgba(0,0,0,.16)}
.drawer.open{transform:translateX(0)}
.drawer-head{padding:22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.drawer-head h2{margin:0;font-size:22px}
.drawer-body{padding:18px;overflow:auto;flex:1}
.cart-item{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.cart-thumb{width:52px;height:52px;border-radius:12px;background:linear-gradient(145deg,#f6f7f9,#e4e8ee)}
.cart-item strong{font-size:13px;display:block}
.qty{display:flex;align-items:center;gap:7px;margin-top:6px}
.qty button{width:24px;height:24px;border:1px solid var(--line);border-radius:7px;background:white;cursor:pointer}
.remove{border:0;background:none;color:#8a9099;cursor:pointer;font-size:12px}
.drawer-foot{border-top:1px solid var(--line);padding:18px}
.drawer-foot .btn{width:100%}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,25px);background:#11151b;color:#fff;border-radius:999px;padding:11px 16px;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transition:.2s;z-index:100}
.toast.show{opacity:1;transform:translate(-50%,0)}
.quote-page{padding:55px 0}
.quote-layout{display:grid;grid-template-columns:1fr .8fr;gap:28px}
.quote-summary{background:#f5f6f8;border-radius:20px;padding:20px}
.quote-summary h2{margin-top:0}
.mobile-menu{display:none}
@media(max-width:980px){
  .categories{grid-template-columns:repeat(4,1fr)}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .hero-grid,.feature-band,.contact-wrap,.quote-layout{grid-template-columns:1fr}
  .hero-copy{padding:55px 35px}
  .feature-copy{padding:42px}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .app-shell{grid-template-columns:1fr}
  .sidebar{display:none}
}
@media(max-width:720px){
  .container{width:min(100% - 26px,1180px)}
  .announcement{font-size:10px}
  .nav{height:68px;gap:10px}
  .brand{width:154px}
  .navlinks{display:none}
  .nav-actions .icon-btn{display:none}
  .quote-btn{padding:10px 13px}
  .hero{padding-top:18px}
  .hero-grid{border-radius:22px}
  .hero-copy{padding:42px 24px}
  .hero-art{min-height:390px}
  h1{font-size:47px}
  .section{padding:52px 0}
  .section-head{align-items:flex-start;flex-direction:column}
  .categories{grid-template-columns:repeat(2,1fr)}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .product-body{padding:13px}
  .product-name{font-size:13px}
  .feature-copy h2,.contact-wrap h2{font-size:38px}
  .contact-wrap{padding:28px;gap:25px}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{flex-wrap:wrap}
  .app-main{padding:20px}
  .stat-grid{grid-template-columns:1fr 1fr}
}

/* =========================================================
   V1.5 PORTAL / CRM / PRODUCT IMAGE ENHANCEMENTS
========================================================= */
button.side-link{appearance:none;border:0;background:transparent;text-align:left;width:100%;font:inherit;cursor:pointer;padding:11px 12px;border-radius:10px;color:#bcc3cd;font-size:13px;font-weight:700}
button.side-link.active,button.side-link:hover{background:#232a34;color:#fff}
.seller-view,.account-view{display:none}.seller-view.active,.account-view.active{display:block}
.seller-mobile-head{display:none;align-items:center;gap:12px;margin-bottom:18px}
.seller-user{font-size:11px;color:#8f98a6;margin:0 7px 12px;overflow-wrap:anywhere}
.form-error{color:#b42318;font-size:12px;min-height:18px;margin-top:7px}
.form-success{color:#067647;font-size:12px;line-height:1.5;margin-top:7px}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.panel-title h2,.panel-title h3{margin:0}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mini-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.mini-row:last-child{border-bottom:0}.mini-row strong{display:block;font-size:13px}.mini-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.text-btn{border:0;background:none;color:#315bff;font-weight:800;font-size:12px;cursor:pointer;padding:5px}.text-btn:hover{text-decoration:underline}
.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:13px;padding:11px 13px;background:#fff}.toolbar-search{flex:1;min-width:220px}
.table-wrap{overflow:auto}.table td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.actions-cell{white-space:nowrap}.table.compact th,.table.compact td{padding:9px 8px}
.detail-panel{margin-top:18px}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.detail-head h2{font-size:28px;margin:4px 0}.detail-head p{color:var(--muted);margin:0}.detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px}.detail-grid h3{font-size:14px;margin:0 0 10px}.sub-card{border:1px solid var(--line);border-radius:13px;padding:12px;margin-bottom:9px;background:#fff}.sub-card strong{display:block;font-size:12px}.sub-card span{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.timeline{position:relative}.timeline-item{position:relative;display:grid;grid-template-columns:15px 1fr;gap:9px;padding:0 0 18px}.timeline-item:after{content:"";position:absolute;left:5px;top:12px;bottom:0;width:1px;background:var(--line)}.timeline-item:last-child:after{display:none}.timeline-dot{width:11px;height:11px;border-radius:50%;background:#315bff;margin-top:3px;z-index:1}.timeline-item strong{display:block;font-size:12px}.timeline-item p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.5}.timeline-item small{color:#9097a0;font-size:10px}
.label-mini{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#848b95;font-weight:900}
.settings-panel{max-width:760px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-grid>div{background:var(--soft);border-radius:13px;padding:15px}.settings-grid strong{display:block;margin-top:6px}.settings-form{margin-top:20px}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,14,20,.58);backdrop-filter:blur(4px);z-index:90}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;overflow:auto}.modal[hidden],.modal-backdrop[hidden]{display:none}.modal-card{width:min(860px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal-head{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:20px 22px;display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:3px 0 0;font-size:27px;letter-spacing:-.035em}.modal-body{padding:22px}.modal-open{overflow:hidden}
.notice-card{background:#f5f7ff;border:1px solid #dce3ff;border-radius:13px;padding:13px 14px;color:#425174;font-size:12px;line-height:1.55;margin-bottom:14px}
.check-row{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:#4d5560}.check-row input{width:16px;height:16px}
.product-table-name{display:flex;align-items:center;gap:10px;min-width:250px}.product-table-name img{width:42px;height:42px;object-fit:contain;border-radius:9px;background:#f5f6f8;border:1px solid var(--line)}
.variant-admin-block{border-top:1px solid var(--line);padding-top:17px;margin-top:6px}.variant-admin-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.variant-admin-row strong{font-size:12px;display:block}.variant-admin-row small{font-size:10px;color:var(--muted)}
.request-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:13px 0}.request-card:last-child{border-bottom:0}.request-card strong{display:block;font-size:13px}.request-card small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.request-card p{font-size:12px;line-height:1.45;margin:7px 0 0;color:#555d66}.btn-small{padding:8px 11px;font-size:11px}
.quote-builder{border-top:1px solid var(--line);padding-top:18px}.quote-line{display:grid;grid-template-columns:1fr 260px;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.quote-line-main{display:grid;grid-template-columns:1fr;gap:6px}.quote-line-main input,.quote-line-numbers input{border:1px solid var(--line);border-radius:9px;padding:9px 10px}.quote-line-numbers{display:grid;grid-template-columns:65px 95px 1fr 24px;gap:6px;align-items:center}.quote-line-numbers strong{text-align:right;font-size:12px}.quote-total-box{margin-left:auto;margin-top:16px;width:min(340px,100%);display:grid;gap:7px}.quote-total-box span{display:flex;justify-content:space-between;font-size:12px;color:#626a74}.quote-total-box .grand{font-size:15px;color:var(--ink);padding-top:8px;border-top:1px solid var(--line)}
.mini-history>div{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.mini-history small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.task-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.task-card{border:1px solid var(--line);border-radius:15px;padding:15px;display:flex;justify-content:space-between;gap:15px}.task-card h3{font-size:14px;margin:9px 0 5px}.task-card p{color:var(--muted);font-size:12px;line-height:1.5}.task-card small{font-size:10px;color:#858d97}
.product-photo img{width:100%;height:100%;object-fit:contain;padding:18px;position:relative;z-index:2}.variant-select-wrap{display:flex;flex-direction:column;gap:5px}.variant-select-wrap label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8a9098;font-weight:900}.variant-select{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 9px;background:#fff;font-size:11px}
.cart-thumb{overflow:hidden}.cart-thumb img{width:100%;height:100%;object-fit:contain;padding:4px}.cart-item small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.auth-card-wide{width:min(520px,100%)}.auth-tabs{display:flex;gap:6px;background:#f1f3f6;border-radius:12px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;border:0;background:transparent;border-radius:9px;padding:9px;font-size:12px;font-weight:800;cursor:pointer;color:#6d737b}.auth-tab.active{background:#fff;color:#111315;box-shadow:0 2px 9px rgba(0,0,0,.06)}.auth-panel{display:none}.auth-panel.active{display:block}
.notice-card strong{color:#21335f}.account-stat-grid{grid-template-columns:repeat(4,1fr)}.portal-card-list{display:grid;gap:14px}.portal-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px}.portal-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.portal-card h3{margin:4px 0 0;font-size:20px;letter-spacing:-.025em}.portal-card p{color:var(--muted);font-size:12px;line-height:1.6}.portal-money{font-size:30px;font-weight:850;letter-spacing:-.04em;margin:15px 0}.portal-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin:12px 0}.portal-detail{margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.install-callout{display:flex;justify-content:space-between;gap:14px;background:#f5f7ff;border-radius:11px;padding:11px 12px;margin:12px 0;font-size:11px}.invoice-money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.invoice-money-grid>div{background:var(--soft);border-radius:11px;padding:11px}.invoice-money-grid span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:900}.invoice-money-grid strong{display:block;margin-top:5px;font-size:17px}.activity-list{display:grid}.activity-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.activity-row strong{display:block;font-size:12px}.activity-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.empty.small{padding:12px 0;font-size:11px}

@media(max-width:980px){
  .seller-mobile-head{display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:265px;display:flex!important;z-index:120;transform:translateX(-105%);transition:.25s;box-shadow:30px 0 70px rgba(0,0,0,.28)}.sidebar.mobile-open{transform:translateX(0)}
  .dashboard-grid,.detail-grid{grid-template-columns:1fr}.task-grid{grid-template-columns:1fr}.account-stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .toolbar{flex-direction:column}.toolbar-search{min-width:0}.detail-head,.request-card,.task-card{flex-direction:column}.quote-line{grid-template-columns:1fr}.quote-line-numbers{grid-template-columns:60px 88px 1fr 24px}.modal{padding:10px}.modal-card{border-radius:18px}.modal-body{padding:16px}.settings-grid,.invoice-money-grid{grid-template-columns:1fr}.account-stat-grid{grid-template-columns:1fr 1fr}.portal-card-head{align-items:flex-start}.product-grid{grid-template-columns:1fr 1fr}
}

/* ==========================================
   TAPESTRY V1.6 PUBLIC SITE REFRESH
========================================== */
:root{
  --tapestry-green:#a8d79a;
  --tapestry-green-dark:#315b3b;
  --tapestry-ink:#101411;
  --tapestry-cream:#f5f7f2;
}
body{background:#fff;color:var(--tapestry-ink)}
.announcement{display:flex;justify-content:center;gap:10px;background:#0d100e;font-size:10px;letter-spacing:.18em;padding:10px 18px}
.announcement-dot{color:var(--tapestry-green)}
.header{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(15,20,16,.08);box-shadow:0 8px 28px rgba(14,20,15,.03)}
.nav{height:82px}
.brand{width:230px;align-items:center}
.brand img{display:block;width:100%;height:auto;max-height:62px;object-fit:contain}
.navlinks{font-weight:700;color:#313831}
.navlinks a{position:relative}
.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--tapestry-green-dark);transition:.2s}
.navlinks a:hover:after{right:0}
.account-icon{font-size:18px;background:#f1f4ef}
.quote-btn{background:#101411;padding:13px 19px}
.quote-btn .cart-count{min-width:22px;height:22px;border-radius:999px;background:var(--tapestry-green);color:#17311e;display:inline-grid;place-items:center;font-size:11px}
.btn-white{background:#fff;color:#111;border:1px solid rgba(255,255,255,.5)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.btn-ghost-light{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.btn-ghost-light:hover{background:rgba(255,255,255,.16)}
.text-link{font-weight:850;font-size:13px}

.hero-v2{position:relative;min-height:710px;overflow:hidden;background:#111}
.hero-media,.hero-media img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-media img{object-fit:cover;object-position:center 55%}
.hero-shade{background:linear-gradient(90deg,rgba(5,9,6,.82) 0%,rgba(5,9,6,.62) 42%,rgba(5,9,6,.14) 76%,rgba(5,9,6,.03) 100%)}
.hero-v2-inner{position:relative;z-index:2;min-height:710px;display:flex;align-items:center}
.hero-glass{width:min(660px,100%);padding:46px 0;color:#fff}
.hero-glass h1{font-size:clamp(64px,7vw,104px);line-height:.88;letter-spacing:-.065em;margin:0 0 28px;color:#fff;text-shadow:0 14px 40px rgba(0,0,0,.18)}
.hero-glass p{font-size:18px;line-height:1.65;max-width:580px;color:rgba(255,255,255,.84);margin:0 0 30px}
.eyebrow-light{color:var(--tapestry-green)}
.hero-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:38px}
.hero-trust span{padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:11px;font-weight:800;background:rgba(0,0,0,.16);backdrop-filter:blur(12px)}

.section-categories{padding-top:58px}
.categories{grid-template-columns:repeat(7,1fr)}
.category-card{min-height:148px;border-radius:22px;background:#f6f8f4;border-color:#e6ebe3;position:relative;overflow:hidden}
.category-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-45px;bottom:-45px;background:rgba(168,215,154,.35);transition:.25s}
.category-card:hover:after{transform:scale(1.35)}
.category-card:hover{border-color:#d5dfd1;box-shadow:0 18px 42px rgba(36,55,39,.09)}
.cat-icon{background:#fff;color:var(--tapestry-green-dark);border-color:#dfe7da;font-weight:900;z-index:1}
.category-card strong{z-index:1;font-size:13px}

.editorial-split{display:grid;grid-template-columns:1.08fr .92fr;min-height:520px;border-radius:30px;overflow:hidden;background:#111;color:#fff;box-shadow:0 28px 80px rgba(14,18,15,.12)}
.editorial-split.reverse{grid-template-columns:.92fr 1.08fr}
.editorial-photo{position:relative;min-height:500px;overflow:hidden;background:#1b211c}
.editorial-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .7s ease}
.editorial-split:hover .editorial-photo img{transform:scale(1.03)}
.editorial-copy{padding:64px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#101411,#1b241d)}
.editorial-copy h2{font-size:clamp(42px,5vw,64px);line-height:.96;letter-spacing:-.05em;margin:0 0 22px}
.editorial-copy p{font-size:16px;color:#c9d1ca;line-height:1.75;margin:0 0 30px;max-width:500px}
.editorial-copy .btn{align-self:flex-start}

.featured-section{background:linear-gradient(180deg,#fff,#f6f8f4)}
.product-grid-featured{grid-template-columns:repeat(4,1fr)}
.product-card{border:1px solid #e6eae4;border-radius:22px;box-shadow:0 10px 34px rgba(26,37,28,.04)}
.product-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(26,37,28,.12);border-color:#dce4d8}
.product-image{background:#f7f8f6;aspect-ratio:1/.94;cursor:pointer}
.product-photo img{width:100%;height:100%;object-fit:contain;padding:24px;position:relative;z-index:2;transition:transform .35s ease}
.product-card:hover .product-photo img{transform:scale(1.035)}
.product-image:after{background:radial-gradient(circle,rgba(168,215,154,.14),transparent 68%)}
.product-body{padding:18px 18px 20px}
.product-category{color:#66806a}
.product-name{font-size:15px;min-height:auto;cursor:pointer}
.variant-select-wrap{margin:6px 0 4px}
.variant-select-wrap label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#89908a;margin-bottom:5px}
.variant-select{width:100%;border:1px solid #dfe5dc;border-radius:10px;padding:9px 10px;background:#fff;font-size:12px}
.product-meta{gap:8px}
.add-btn{background:#111713;padding:10px 13px}
.detail-btn{border:0;background:transparent;font-weight:850;font-size:11px;cursor:pointer;color:#506056;padding:8px 0}

.process-section{background:#101411;color:#fff}
.process-section .section-head h2{color:#fff}.process-section .section-head p{color:#aeb8b0}.process-section .eyebrow{color:var(--tapestry-green)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.process-grid article{padding:32px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:rgba(255,255,255,.035)}
.process-grid article span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--tapestry-green);color:#19311f;font-weight:950;font-size:12px;margin-bottom:30px}
.process-grid h3{font-size:22px;margin:0 0 10px}.process-grid p{margin:0;color:#aeb8b0;line-height:1.7;font-size:14px}

.contact-section{padding-bottom:30px}
.contact-v2{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:#f4f7f1;border:1px solid #e2e9df;border-radius:30px;padding:58px}
.contact-v2 h2{font-size:clamp(40px,4.6vw,62px);line-height:.98;letter-spacing:-.05em;margin:0 0 20px}
.contact-v2 p{color:#657066;line-height:1.7;font-size:16px}
.contact-v2-points{display:grid;gap:12px}
.contact-v2-points>div{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:17px;background:#fff;border:1px solid #e4e9e1;border-radius:16px}
.contact-v2-points span{grid-row:1/3;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#eff5ec;color:#416247;font-weight:900}
.contact-v2-points strong{font-size:13px}.contact-v2-points small{color:#7a827b;margin-top:3px}

.catalog-hero{background:linear-gradient(145deg,#eef5ea,#f9faf8);padding:86px 0 70px;border-bottom:1px solid #e5ebe2}
.catalog-hero-grid{display:grid;grid-template-columns:1fr 260px;align-items:end;gap:40px}
.catalog-hero h1{font-size:clamp(52px,6vw,78px);margin:0 0 22px}.catalog-hero p{font-size:17px;line-height:1.7;color:#617064;max-width:690px}
.catalog-orb{width:220px;height:220px;border-radius:50%;background:#111713;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 28px 60px rgba(20,31,22,.17);justify-self:end}
.catalog-orb span{font-size:11px;letter-spacing:.18em;color:var(--tapestry-green);font-weight:900}.catalog-orb strong{font-size:42px;letter-spacing:-.05em;line-height:1}.catalog-orb small{color:#aeb8b0;margin-top:10px}
.catalog-section{padding-top:46px}.catalog-toolbar{position:sticky;top:82px;z-index:12;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);padding:12px 0 18px;margin-bottom:18px}
.modern-search{margin:0 0 15px;align-items:center;border:1px solid #e2e7df;border-radius:16px;padding:0 13px;background:#fff}.modern-search input{border:0;box-shadow:none!important}.modern-search>span:first-child{font-size:22px;color:#687168}.filters{margin-bottom:0}

.contact-hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden}.contact-hero-media,.contact-hero-media img{position:absolute;inset:0;width:100%;height:100%}.contact-hero-media img{object-fit:cover;filter:saturate(.8) brightness(.7)}.contact-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,7,.7),rgba(6,10,7,.28))}
.contact-hero-inner{position:relative;z-index:2;padding:70px 0}.contact-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;background:rgba(255,255,255,.96);border-radius:30px;padding:52px;box-shadow:0 35px 90px rgba(0,0,0,.26);backdrop-filter:blur(14px)}
.contact-card h1{font-size:clamp(48px,5vw,70px);line-height:.95}.contact-card p{color:#667168;line-height:1.75}.contact-mini{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.contact-mini span{border:1px solid #dce5d8;background:#f3f7f1;border-radius:999px;padding:8px 10px;font-size:10px;font-weight:850}.premium-form{align-content:start}.premium-form input,.premium-form textarea{background:#fbfcfa}

.premium-footer{background:#0f130f;color:#fff;border-top:0;margin-top:80px;padding:60px 0}.footer-premium-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:50px}.footer-premium-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-premium-grid p{color:#9fa9a0;line-height:1.65;max-width:420px;margin:4px 0 0}.footer-premium-grid strong{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--tapestry-green);margin-bottom:7px}.footer-premium-grid a,.footer-premium-grid span{font-size:12px;color:#c5ccc6}.footer-brand{background:#fff;padding:8px 10px;border-radius:10px;width:210px}

.public-modal-backdrop{position:fixed;inset:0;background:rgba(8,12,9,.58);backdrop-filter:blur(5px);z-index:80}.public-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px}.public-modal-card{width:min(960px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 40px 120px rgba(0,0,0,.3);position:relative}.public-modal-close{position:absolute;right:16px;top:16px;z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:24px;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.12)}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr}.product-detail-media{background:#f5f7f4;min-height:520px;padding:40px;display:grid;place-items:center}.product-detail-media img{max-width:100%;max-height:440px;object-fit:contain}.product-detail-copy{padding:54px}.product-detail-copy h2{font-size:38px;line-height:1.03;letter-spacing:-.04em;margin:10px 0 16px}.product-detail-copy p{color:#667067;line-height:1.7}.product-detail-copy .variant-select-wrap{margin:22px 0}.product-detail-copy .button-row{margin-top:25px}.gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.gallery-thumbs button{width:58px;height:58px;border:1px solid #dde4da;border-radius:10px;background:#fff;padding:4px;cursor:pointer}.gallery-thumbs img{width:100%;height:100%;object-fit:contain}

.settings-tool{margin-top:24px;padding:22px;border-radius:16px;background:#f5f8f3;border:1px solid #e0e8dd}.settings-tool h3{margin:5px 0 7px}.settings-tool p{color:#687168;margin:0 0 16px;line-height:1.6}.settings-tool .form-success{margin-top:12px}

@media(max-width:980px){
  .editorial-split,.editorial-split.reverse,.contact-v2,.contact-card,.product-detail-grid{grid-template-columns:1fr}.editorial-split.reverse .editorial-copy{order:2}.categories{grid-template-columns:repeat(4,1fr)}.catalog-hero-grid{grid-template-columns:1fr}.catalog-orb{justify-self:start;width:170px;height:170px}.catalog-orb strong{font-size:34px}.footer-premium-grid{grid-template-columns:1fr 1fr}.footer-premium-grid>div:first-child{grid-column:1/-1}.hero-shade{background:rgba(5,9,6,.55)}
}
@media(max-width:720px){
  .announcement{letter-spacing:.11em;gap:6px}.nav{height:70px}.brand{width:178px}.navlinks{display:none}.account-icon{display:none!important}.hero-v2,.hero-v2-inner{min-height:650px}.hero-glass{padding:35px 0}.hero-glass h1{font-size:58px}.hero-glass p{font-size:16px}.hero-trust{margin-top:28px}.categories{grid-template-columns:repeat(2,1fr)}.editorial-copy{padding:36px 26px}.editorial-photo{min-height:350px}.product-grid,.product-grid-featured{grid-template-columns:repeat(2,1fr);gap:10px}.product-photo img{padding:14px}.product-body{padding:13px}.product-name{font-size:13px}.process-grid{grid-template-columns:1fr}.contact-v2{padding:28px;gap:30px}.catalog-hero{padding:58px 0 45px}.catalog-orb{display:none}.catalog-toolbar{top:70px}.contact-card{padding:28px}.contact-hero{min-height:auto;padding:32px 0}.contact-hero-media{position:absolute}.footer-premium-grid{grid-template-columns:1fr}.footer-premium-grid>div:first-child{grid-column:auto}.product-detail-media{min-height:330px;padding:25px}.product-detail-copy{padding:30px}.public-modal{padding:10px}.public-modal-card{max-height:96vh}
}
.sidebar .brand{width:190px;background:#fff;padding:8px 10px;border-radius:12px}
.sidebar .brand img{max-height:54px}

/* v1.7.2: hidden public product modal must not cover the site */
.public-modal[hidden], .public-modal-backdrop[hidden]{display:none!important}


/* v1.9 seller email composer */
.email-compose-summary{display:flex;gap:28px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#f7f9f5}
.email-compose-summary>div{min-width:0}
.email-compose-summary strong{display:block;font-size:13px;margin-top:3px}
.email-compose-summary small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.email-compose-message{min-height:250px;line-height:1.6;resize:vertical}
.field-hint{font-weight:400;color:var(--muted);font-size:10px}
.checkbox-row{display:flex;gap:9px;align-items:center;font-size:12px;color:#4d554d}
.checkbox-row input{width:auto;margin:0}
@media(max-width:700px){.email-compose-summary{flex-direction:column;gap:12px}}

/* v2.0 CRM email conversations */
.customer-email-panel{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fbfcfa}
.customer-email-panel .panel-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.customer-email-panel .panel-title h3{margin:0 0 4px}
.customer-email-panel .panel-title p{margin:0;color:var(--muted);font-size:12px}
.crm-email-thread{display:grid;gap:9px}
.crm-email-message{width:100%;text-align:left;border:1px solid #e1e6de;border-radius:14px;background:#fff;padding:13px 14px;cursor:pointer;transition:.18s;appearance:none;color:inherit}
.crm-email-message:hover{border-color:#c9d5c4;box-shadow:0 8px 24px rgba(29,46,31,.07);transform:translateY(-1px)}
.crm-email-message.incoming{border-left:4px solid #6e9f45}
.crm-email-message.outgoing{border-left:4px solid #333b35}
.crm-email-message.unread{background:#f5faef;border-color:#cfe0c7}
.crm-email-message-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
.crm-email-message-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.crm-email-message-top small{font-size:10px;color:var(--muted)}
.crm-email-message p{margin:7px 0 5px;color:#626b63;font-size:12px;line-height:1.5}
.crm-email-party{font-size:10px;color:#8a918b}
.email-direction{font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;padding:5px 7px;border-radius:999px;background:#eef2ec;color:#556357}
.email-message-view{display:grid;gap:18px}
.email-message-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8faf6}
.email-message-meta strong{display:block;font-size:12px;margin-top:3px;word-break:break-word}
.email-message-body{border:1px solid var(--line);border-radius:14px;background:#fff;padding:20px;min-height:150px;line-height:1.65;font-size:13px;white-space:normal}
.email-row-unread{background:#f7fbf3}
.account-linked,.account-pending{display:inline-block;margin-top:5px;font-size:10px;font-weight:800}
.account-linked{color:#4c7a37}.account-pending{color:#8b6d2f}
@media(max-width:700px){.crm-email-message-top{grid-template-columns:1fr}.email-message-meta{grid-template-columns:1fr}.customer-email-panel .panel-title{flex-direction:column}}


/* ==========================================
   TAPESTRY V2.1 POLISH + SELLER AUTO REFRESH
========================================== */
:root{
  --tapestry-logo-bg:#f3f3f3;
}
.header{
  background:var(--tapestry-logo-bg);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.account-link{
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(16,20,17,.13);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:850;
  letter-spacing:.01em;
  background:rgba(255,255,255,.42);
  color:#202620;
  transition:.2s ease;
}
.account-link:hover{
  background:#fff;
  border-color:rgba(16,20,17,.2);
  transform:translateY(-1px);
}
#sellerApp .sidebar .brand{
  background:var(--tapestry-logo-bg);
}

.seller-sync-bar{
  min-height:44px;
  margin:0 0 10px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.seller-sync-state{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#737b74;
  font-size:11px;
  font-weight:750;
}
.seller-sync-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#79a85e;
  box-shadow:0 0 0 4px rgba(121,168,94,.12);
}
.seller-sync-state.is-refreshing .seller-sync-dot{
  background:#a98b51;
  box-shadow:0 0 0 4px rgba(169,139,81,.12);
}
.seller-sync-state.is-error .seller-sync-dot{
  background:#b66b60;
  box-shadow:0 0 0 4px rgba(182,107,96,.12);
}
.seller-refresh-button{
  padding:9px 14px;
  font-size:11px;
  min-height:36px;
}
.refresh-glyph{
  display:inline-block;
  font-size:15px;
  line-height:1;
}
.seller-refresh-button.is-refreshing .refresh-glyph{
  animation:tapestry-spin .8s linear infinite;
}
@keyframes tapestry-spin{to{transform:rotate(360deg)}}

@media(max-width:720px){
  .nav{gap:8px}
  .brand{width:142px}
  .nav-actions{gap:6px}
  .account-link{min-height:38px;padding:0 10px;font-size:11px}
  .quote-btn{padding:10px 10px;font-size:11px}
  .seller-sync-bar{justify-content:space-between;margin-top:-4px}
}

/* v2.2 quote builder: inline catalog search, no nested modal. */
.quote-title-help{display:block;color:#68736d;font-size:11px;margin-top:5px}
#quoteEditor input[readonly]{background:#f4f6f2;color:#3d4b42;cursor:default}
.inline-quote-picker[hidden],.pwa-install[hidden]{display:none!important}
.inline-quote-picker{margin:12px 0 20px;background:#f8faf6;border:1px solid #d9e3d6;border-radius:16px;padding:15px}
.inline-quote-search-row{display:flex;align-items:end;justify-content:space-between;gap:16px}
.inline-quote-search-row .field{flex:1;max-width:none}
.inline-quote-search-row input{width:100%}
.inline-quote-results{max-height:310px;overflow-y:auto;overscroll-behavior:contain;margin-top:10px;border:1px solid #e5ebe2;background:white;border-radius:12px}
.inline-quote-result{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #edf1eb}
.inline-quote-result:last-child{border-bottom:0}
.inline-quote-result>img,.inline-quote-thumb{width:53px;height:53px;object-fit:contain;flex:none;background:#f7f8f5;border-radius:10px}
.inline-quote-thumb{display:grid;place-items:center;font-size:26px;color:#89988b}
.inline-quote-info{flex:1;min-width:0}
.inline-quote-info strong{font-size:12px;display:block;overflow-wrap:anywhere}
.inline-quote-info small{font-size:10px;display:block;color:#748075;line-height:1.4;margin-top:3px}
.inline-quote-variant-label{display:grid;gap:3px;font-size:10px;font-weight:750;color:#68756c;margin-top:7px;max-width:340px}
.inline-quote-variant-label select{width:100%;padding:7px;border:1px solid #dce4d9;border-radius:8px;background:white;font-size:11px}
.inline-quote-result .btn{flex:none}
.inline-quote-message{min-height:16px;color:#426747;font-size:11px;margin:8px 2px 0}
.quote-editor-items{scroll-margin:15px}
.pwa-install{display:block;margin:0 0 12px;cursor:pointer}
.sidebar .pwa-install{width:100%;text-align:center}
@media(max-width:560px){.inline-quote-picker{padding:10px}.inline-quote-result{flex-wrap:wrap}.inline-quote-info{flex-basis:calc(100% - 80px)}.inline-quote-result .btn{margin-left:auto}.inline-quote-search-row{align-items:end}.quote-title-help{font-size:10px}}

/* Portal shells must collapse to one column on phones/tablets.
   The old 245px grid column remained reserved even when sidebar was fixed. */
@media (max-width:980px) {
  .app-shell { grid-template-columns:minmax(0,1fr); }
  .app-main { min-width:0; padding:24px 18px; }
}
@media (max-width:600px) {
  .app-main { padding:18px 14px; }
  .app-top { flex-wrap:wrap; gap:12px; }
}
