/* Pergola Dünyası CRM v1.2.22 — Glass UI system
   Visual-only layer. No business logic, routes or permissions are changed. */

:root{
  --font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --glass-red:#e30613;
  --glass-red-dark:#c90b15;
  --glass-text:#172033;
  --glass-text-soft:#667085;
  --glass-text-faint:#98a2b3;
  --glass-stroke:rgba(148,163,184,.22);
  --glass-stroke-soft:rgba(255,255,255,.72);
  --glass-surface:rgba(255,255,255,.64);
  --glass-surface-strong:rgba(255,255,255,.82);
  --glass-surface-soft:rgba(248,250,252,.58);
  --glass-shadow:0 18px 52px rgba(15,23,42,.075),0 2px 7px rgba(15,23,42,.035),inset 0 1px 0 rgba(255,255,255,.78);
  --glass-shadow-soft:0 9px 28px rgba(15,23,42,.055),inset 0 1px 0 rgba(255,255,255,.72);
  --glass-radius-xl:24px;
  --glass-radius-lg:18px;
  --glass-radius-md:13px;
  --glass-sidebar:252px;
}

html,body,button,input,select,textarea,table,th,td,.btn,.badge{
  font-family:var(--font-ui)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{font-size:13px;font-weight:400}
button,input,select,textarea{font-size:13px;font-weight:500}
strong,b{font-weight:700}
h1,h2,h3,h4{font-family:var(--font-ui)!important;color:var(--glass-text);font-weight:760;letter-spacing:-.025em}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important}

/* App background + shell */
body.app-body{
  min-height:100vh;
  color:var(--glass-text);
  background:
    radial-gradient(circle at 83% -8%,rgba(127,151,184,.13),transparent 34%),
    radial-gradient(circle at 4% 4%,rgba(227,6,19,.065),transparent 28%),
    linear-gradient(135deg,#eef1f5 0%,#f7f8fa 45%,#edf1f6 100%)!important;
  background-attachment:fixed!important;
}
body.app-body .shell{
  grid-template-columns:var(--glass-sidebar) minmax(0,1fr)!important;
  gap:14px;
  padding:12px;
  min-height:100vh;
}
body.app-body .main{min-width:0;position:relative}

/* Sidebar — dark glass */
body.app-body .sidebar{
  position:sticky;
  top:12px;
  height:calc(100vh - 24px);
  z-index:40;
  padding:17px 12px 16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:
    radial-gradient(circle at 130% 8%,rgba(227,6,19,.18),transparent 34%),
    radial-gradient(circle at -20% 86%,rgba(227,6,19,.08),transparent 31%),
    linear-gradient(155deg,rgba(26,31,39,.965),rgba(12,16,22,.945));
  box-shadow:0 28px 70px rgba(15,23,42,.22),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(28px) saturate(135%);
  -webkit-backdrop-filter:blur(28px) saturate(135%);
  overflow-x:hidden;
  overflow-y:auto;
}
body.app-body .sidebar:before{
  content:"";
  position:absolute;
  pointer-events:none;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(115deg,rgba(255,255,255,.055),transparent 28%,transparent 72%,rgba(227,6,19,.035));
}
body.app-body .sidebar>*{position:relative;z-index:1}
body.app-body .brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:7px!important;
  min-height:78px;
  margin:0 5px 14px!important;
  padding:8px 8px 15px!important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.app-body .brand-logo{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:182px!important;
  max-height:54px!important;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 5px 16px rgba(0,0,0,.14));
}
body.app-body .brand-copy,
body.app-body .brand.has-logo .brand-copy{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  color:#f7f8fa;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:.01em;
}
body.app-body .brand-copy span,
body.app-body .brand.has-logo .brand-copy span{
  display:block!important;
  margin-top:3px!important;
  color:#929ba8;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.app-body .nav{gap:3px}
body.app-body .nav a{
  position:relative;
  min-height:43px;
  margin:0;
  padding:10px 11px;
  gap:10px;
  border:1px solid transparent;
  border-radius:12px;
  color:#cbd1da;
  background:transparent;
  font-size:11.5px!important;
  font-weight:600!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
body.app-body .nav a .ui-icon{color:#aeb6c3;transition:color .16s ease}
body.app-body .nav a:hover{
  color:#fff;
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.055);
  transform:translateX(1px);
}
body.app-body .nav a:hover .ui-icon{color:#fff}
body.app-body .nav a.active{
  color:#fff;
  border-color:rgba(255,255,255,.11);
  background:linear-gradient(100deg,rgba(227,6,19,.20),rgba(255,255,255,.075));
  box-shadow:0 10px 25px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.06);
}
body.app-body .nav a.active .ui-icon{color:#fff}
body.app-body .nav a.active:before{
  position:absolute;
  left:-1px;
  width:3px;
  height:23px;
  margin:0;
  border-radius:0 6px 6px 0;
  background:#f12a34;
  box-shadow:0 0 18px rgba(227,6,19,.66);
}
body.app-body .nav-separator{height:1px;margin:10px 8px;background:rgba(255,255,255,.08)}

/* Topbar — floating glass */
body.app-body .topbar{
  position:sticky;
  top:12px;
  z-index:32;
  height:66px;
  margin:0 0 14px;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:19px;
  background:rgba(255,255,255,.64);
  box-shadow:0 14px 38px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.88);
  backdrop-filter:blur(24px) saturate(145%);
  -webkit-backdrop-filter:blur(24px) saturate(145%);
}
body.app-body .topbar-workspace{gap:10px}
body.app-body .topbar-workspace-icon,
body.app-body .mobile-menu-toggle{
  border:1px solid rgba(148,163,184,.20);
  background:rgba(255,255,255,.54);
  color:#667085;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 5px 14px rgba(15,23,42,.035);
}
body.app-body .topbar-workspace-copy small{
  margin-bottom:4px;
  color:#98a2b3;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.10em;
}
body.app-body .topbar-workspace-copy strong{
  color:#344054;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:-.01em;
}
body.app-body .topbar-user{
  display:flex;
  align-items:center;
  gap:7px;
  padding:5px;
  border:1px solid rgba(148,163,184,.15);
  border-radius:13px;
  background:rgba(255,255,255,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
body.app-body .topbar-role{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 8px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:999px;
  background:rgba(241,245,249,.64);
  color:#7a8492;
  font-size:8px!important;
  font-weight:700!important;
}
body.app-body .topbar-name{color:#344054;font-size:10.5px!important;font-weight:700!important}
body.app-body .logout-link{
  min-height:34px;
  padding:0 9px;
  border:1px solid transparent;
  border-radius:9px;
  color:#667085;
  font-size:10px!important;
  font-weight:600!important;
}
body.app-body .logout-link:hover{border-color:rgba(227,6,19,.12);background:rgba(227,6,19,.055);color:#b42318}

/* Content stage */
body.app-body .content{
  width:100%;
  max-width:none!important;
  padding:0 0 42px!important;
}
body.app-body .content-stage{
  position:relative;
  min-height:calc(100vh - 104px);
  padding:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.78);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,255,255,.55),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.57),rgba(248,250,252,.39));
  box-shadow:0 24px 65px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(25px) saturate(135%);
  -webkit-backdrop-filter:blur(25px) saturate(135%);
}
body.app-body .content-stage:before{
  content:"";
  position:absolute;
  pointer-events:none;
  width:58%;
  height:58%;
  right:-15%;
  top:-22%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.68),rgba(210,222,239,.12) 42%,transparent 70%);
  filter:blur(8px);
}
body.app-body .content-stage>*{position:relative;z-index:1}

/* Typography rhythm */
body.app-body .page-head,
body.app-body .dashboard-hero{margin-bottom:20px;min-height:52px}
body.app-body .page-head h1,
body.app-body .dashboard-hero h1,
body.app-body .customer-v128-title h1{
  margin-top:0;
  color:#172033;
  font-size:24px!important;
  font-weight:760!important;
  line-height:1.14;
  letter-spacing:-.035em;
}
body.app-body .page-head p,
body.app-body .dashboard-hero p{color:#788291;font-size:11px!important;line-height:1.55}
body.app-body .section-title,
body.app-body .card-heading b,
body.app-body .dashboard-panel-head b,
body.app-body .customer-v128-card-head b{
  color:#344054;
  font-size:12.5px!important;
  font-weight:700!important;
}
body.app-body .muted{color:#7d8795}

/* Universal glass surfaces */
body.app-body .card,
body.app-body .table-wrap,
body.app-body .filter-bar,
body.app-body .quote-action-strip,
body.app-body .pipeline-column,
body.app-body .pipeline-card,
body.app-body .project-card,
body.app-body .role-card,
body.app-body .permission-card,
body.app-body .customer-editor-card,
body.app-body .customer-v128-card,
body.app-body .customer-v128-metrics article,
body.app-body .qv123-card,
body.app-body .quote-row,
body.app-body .quote-meta,
body.app-body .quote-summary-card,
body.app-body .quote-form-actions-sticky,
body.app-body .customer-form-actions-sticky,
body.app-body .form-actions-sticky,
body.app-body .update-dropzone,
body.app-body .modal-dialog{
  border-color:rgba(148,163,184,.18)!important;
  background:rgba(255,255,255,.66)!important;
  box-shadow:var(--glass-shadow-soft)!important;
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
}
body.app-body .card,
body.app-body .filter-bar,
body.app-body .quote-action-strip,
body.app-body .project-card,
body.app-body .role-card,
body.app-body .customer-editor-card,
body.app-body .customer-v128-card,
body.app-body .qv123-card,
body.app-body .quote-meta,
body.app-body .quote-summary-card,
body.app-body .update-dropzone{border-radius:17px!important}
body.app-body .card:hover,
body.app-body .project-card:hover,
body.app-body .role-card:hover{
  border-color:rgba(148,163,184,.25)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.075),inset 0 1px 0 rgba(255,255,255,.82)!important;
}

/* Controls */
body.app-body .field label{
  margin-bottom:6px;
  color:#596579;
  font-size:10.5px!important;
  font-weight:700!important;
  letter-spacing:.005em;
}
body.app-body .field input,
body.app-body .field select,
body.app-body .field textarea,
body.app-body .compact-actions input,
body.app-body .compact-actions select,
body.app-body .customer-v128-tag-add select,
body.app-body .customer-v128-tag-create input,
body.app-body .project-status-form select,
body.app-body .compact-input{
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.66)!important;
  color:#273244!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84),0 3px 10px rgba(15,23,42,.025)!important;
  outline:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body.app-body .field input,
body.app-body .field select{min-height:42px}
body.app-body .field input::placeholder,
body.app-body .field textarea::placeholder{color:#a2aab6}
body.app-body .field input:hover,
body.app-body .field select:hover,
body.app-body .field textarea:hover{border-color:rgba(100,116,139,.32)!important;background:rgba(255,255,255,.78)!important}
body.app-body .field input:focus,
body.app-body .field select:focus,
body.app-body .field textarea:focus,
body.app-body .compact-input:focus{
  border-color:rgba(227,6,19,.38)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 0 0 4px rgba(227,6,19,.065),inset 0 1px 0 #fff!important;
}
body.app-body .checkline{font-size:10.5px!important;color:#667085}

/* Buttons */
body.app-body .btn{
  min-height:40px;
  padding:8px 13px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:11px;
  background:rgba(255,255,255,.64);
  color:#344054;
  box-shadow:0 5px 14px rgba(15,23,42,.035),inset 0 1px 0 rgba(255,255,255,.82);
  font-size:11px!important;
  font-weight:700!important;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease;
}
body.app-body .btn:hover{
  border-color:rgba(100,116,139,.26);
  background:rgba(255,255,255,.84);
  box-shadow:0 8px 20px rgba(15,23,42,.06),inset 0 1px 0 #fff;
  transform:translateY(-1px);
}
body.app-body .btn-primary{
  border-color:rgba(190,0,12,.20)!important;
  background:linear-gradient(180deg,#ef2732 0%,#dc111c 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(227,6,19,.22),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body.app-body .btn-primary:hover{background:linear-gradient(180deg,#f3333d,#d80e19)!important;box-shadow:0 13px 28px rgba(227,6,19,.27)!important}
body.app-body .btn-danger{
  border-color:rgba(217,45,32,.17)!important;
  background:rgba(255,244,244,.72)!important;
  color:#b42318!important;
}
body.app-body .btn-danger:hover{background:rgba(255,237,237,.90)!important}
body.app-body .btn-success{
  border-color:rgba(22,163,74,.18)!important;
  background:rgba(240,253,244,.76)!important;
  color:#167342!important;
}
body.app-body .btn-whatsapp{
  border-color:rgba(34,197,94,.20)!important;
  background:rgba(240,253,244,.78)!important;
  color:#167342!important;
  box-shadow:0 6px 16px rgba(22,163,74,.06),inset 0 1px 0 rgba(255,255,255,.8)!important;
}
body.app-body .btn-sm{min-height:33px;padding:6px 9px;border-radius:9px;font-size:9.8px!important}
body.app-body .btn-icon{border-radius:10px}

/* Tables */
body.app-body .table-wrap{
  overflow:auto;
  border-radius:16px!important;
  background:rgba(255,255,255,.58)!important;
}
body.app-body table{background:transparent!important}
body.app-body th{
  padding:11px 12px;
  border-bottom:1px solid rgba(148,163,184,.16)!important;
  background:rgba(248,250,252,.55)!important;
  color:#7a8492!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.055em;
}
body.app-body td{
  padding:12px;
  border-bottom:1px solid rgba(148,163,184,.13)!important;
  background:transparent;
  color:#344054;
  font-size:10.8px!important;
  font-weight:500;
}
body.app-body tr:last-child td{border-bottom:0!important}
body.app-body tbody tr:hover td{background:rgba(255,255,255,.40)!important}
body.app-body td b{color:#253044;font-weight:700}
body.app-body .row-action-group{gap:6px}

/* Badges + pagination */
body.app-body .badge{
  border:1px solid rgba(148,163,184,.14);
  border-radius:999px;
  background:rgba(241,245,249,.62);
  color:#596579;
  font-size:8.5px!important;
  font-weight:700!important;
}
body.app-body .badge.ok{border-color:rgba(22,163,74,.14);background:rgba(240,253,244,.72);color:#167342}
body.app-body .badge.red{border-color:rgba(217,45,32,.14);background:rgba(255,241,241,.72);color:#b42318}
body.app-body .pagination{gap:6px}
body.app-body .pagination a{
  min-width:34px;
  height:34px;
  border:1px solid rgba(148,163,184,.17);
  border-radius:10px;
  background:rgba(255,255,255,.56);
  color:#667085;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
  font-size:9.5px!important;
  font-weight:700!important;
}
body.app-body .pagination a.active{border-color:rgba(227,6,19,.17);background:rgba(227,6,19,.085);color:#c6101a}

/* Dashboard */
body.app-body .stat-card{padding:17px 18px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(248,250,252,.52))!important}
body.app-body .stat-card:after{right:-18px;top:-30px;width:100px;height:100px;background:radial-gradient(circle,rgba(227,6,19,.055),transparent 68%)}
body.app-body .stat-label{color:#667085;font-size:10.5px!important;font-weight:700!important}
body.app-body .stat-card .n{margin-top:9px;color:#172033;font-size:27px!important;font-weight:760!important;letter-spacing:-.045em}
body.app-body .stat-sub{color:#98a2b3;font-size:9.5px!important}
body.app-body .metric-grid>div{
  border:1px solid rgba(148,163,184,.15)!important;
  background:rgba(255,255,255,.46)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
}
body.app-body .funnel-progress{accent-color:#3b4656}
body.app-body .dashboard-task-row{border-color:rgba(148,163,184,.12)!important}
body.app-body .dashboard-task-row:hover{background:rgba(255,255,255,.46)!important}

/* Pipeline */
body.app-body .pipeline-board{gap:13px;padding-top:4px}
body.app-body .pipeline-column{
  overflow:hidden;
  border-radius:16px!important;
  background:rgba(241,245,249,.48)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.045),inset 0 1px 0 rgba(255,255,255,.75)!important;
}
body.app-body .pipeline-column>header{border-bottom:1px solid rgba(148,163,184,.12)}
body.app-body .pipeline-column>header b{color:#344054;font-size:11px!important;font-weight:700!important}
body.app-body .pipeline-count{border-color:rgba(148,163,184,.16);background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}
body.app-body .pipeline-cards.is-over{background:rgba(226,232,240,.46)}
body.app-body .pipeline-card{
  border-radius:12px!important;
  background:rgba(255,255,255,.75)!important;
  box-shadow:0 7px 18px rgba(15,23,42,.045),inset 0 1px 0 rgba(255,255,255,.84)!important;
}
body.app-body .pipeline-card:hover{box-shadow:0 12px 24px rgba(15,23,42,.07),inset 0 1px 0 #fff!important}
body.app-body .pipeline-column>footer{border-top-color:rgba(148,163,184,.12);background:rgba(248,250,252,.38)}

/* Tasks / projects / roles */
body.app-body .task-item{border-bottom-color:rgba(148,163,184,.13)!important}
body.app-body .task-item.is-overdue{background:linear-gradient(90deg,rgba(255,244,244,.58),transparent 70%)!important}
body.app-body .project-card{background:linear-gradient(145deg,rgba(255,255,255,.73),rgba(248,250,252,.50))!important}
body.app-body .role-stats>div,
body.app-body .role-icon,
body.app-body .session-icon,
body.app-body .security-state,
body.app-body .quote-doc-icon,
body.app-body .customer-v128-card-icon,
body.app-body .customer-card-icon,
body.app-body .metric-icon{
  border:1px solid rgba(148,163,184,.14)!important;
  background:rgba(248,250,252,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70);
}
body.app-body .permission-card-head,
body.app-body .customer-v128-card-head,
body.app-body .customer-card-heading{border-bottom-color:rgba(148,163,184,.12)!important;background:rgba(248,250,252,.27)!important}

/* Customer pages */
body.app-body .customer-v128-hero{
  border:1px solid rgba(148,163,184,.17)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(248,250,252,.47))!important;
  box-shadow:var(--glass-shadow-soft)!important;
  backdrop-filter:blur(18px);
}
body.app-body .customer-v128-avatar,
body.app-body .customer-result-avatar{
  background:linear-gradient(145deg,rgba(227,6,19,.11),rgba(255,255,255,.66))!important;
  color:#c4111b!important;
  border:1px solid rgba(227,6,19,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
body.app-body .customer-v128-info-grid>div,
body.app-body .customer-v128-quote-row,
body.app-body .customer-v128-task{border-color:rgba(148,163,184,.11)!important}
body.app-body .customer-v128-quote-row:hover{background:rgba(255,255,255,.40)!important}
body.app-body .customer-v128-tags button{border-color:rgba(148,163,184,.15)!important;background:rgba(248,250,252,.58)!important}

/* Quote editor / detail */
body.app-body .qv123-step{background:linear-gradient(180deg,#29313d,#171d25)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 16px rgba(15,23,42,.12)!important}
body.app-body .qv123-row-head,
body.app-body .quote-row-head{border-bottom-color:rgba(148,163,184,.12)!important;background:rgba(248,250,252,.32)!important}
body.app-body .qv123-row-advanced,
body.app-body .quote-row-body{background:rgba(255,255,255,.20)!important}
body.app-body .quote-field-group{border-color:rgba(148,163,184,.11)!important}
body.app-body .quote-product-thumb,
body.app-body .quote-v128-product-thumb,
body.app-body .product-thumb,
body.app-body .product-image-preview{
  border-color:rgba(148,163,184,.16)!important;
  background:rgba(248,250,252,.58)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
body.app-body .quote-summary-card{background:rgba(255,255,255,.73)!important}
body.app-body .summary-discount,
body.app-body .quote-total-box{
  border:1px solid rgba(148,163,184,.13)!important;
  background:rgba(248,250,252,.46)!important;
}
body.app-body .summary-line,
body.app-body .total-line{border-bottom-color:rgba(148,163,184,.12)!important}
body.app-body .quote-form-actions-sticky,
body.app-body .customer-form-actions-sticky,
body.app-body .form-actions-sticky{
  border-radius:15px!important;
  background:rgba(255,255,255,.70)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.84)!important;
  backdrop-filter:blur(22px) saturate(140%);
}
body.app-body .quote-action-strip{padding:10px!important}

/* Search results + modal */
body.app-body .customer-search-results,
body.app-body .product-search-results{
  border-color:rgba(148,163,184,.18)!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 22px 56px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;
  backdrop-filter:blur(24px) saturate(135%);
}
body.app-body .customer-result:hover,
body.app-body .product-result:hover,
body.app-body .customer-result.is-active{background:rgba(241,245,249,.68)!important}
body.app-body .modal-backdrop{background:rgba(15,23,42,.40)!important;backdrop-filter:blur(7px)!important}
body.app-body .modal-dialog{background:rgba(255,255,255,.88)!important;box-shadow:0 30px 90px rgba(15,23,42,.22)!important}

/* System / settings */
body.app-body .security-state,
body.app-body .setup-secret,
body.app-body .secret-grid>div,
body.app-body .update-safety>div,
body.app-body .system-check,
body.app-body .health-grid>div{
  border-radius:12px!important;
}
body.app-body .security-state{color:#475467}
body.app-body .security-state.ok{border-color:rgba(22,163,74,.16)!important;background:rgba(240,253,244,.58)!important}
body.app-body .setup-secret{background:linear-gradient(145deg,rgba(28,33,42,.98),rgba(14,18,24,.96))!important;box-shadow:0 14px 32px rgba(15,23,42,.16)}
body.app-body .update-dropzone{border-style:dashed!important;background:rgba(255,255,255,.48)!important}
body.app-body .company-logo-current{border-color:rgba(148,163,184,.14)!important;background:rgba(248,250,252,.42)!important}

/* Alerts */
body.app-body .alert{
  border:1px solid rgba(148,163,184,.15);
  border-radius:12px;
  box-shadow:0 7px 20px rgba(15,23,42,.035),inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
}
body.app-body .alert.error{border-color:rgba(217,45,32,.13);background:rgba(255,241,241,.72);color:#a61b14}
body.app-body .alert.success{border-color:rgba(22,163,74,.13);background:rgba(240,253,244,.72);color:#166534}

/* Login / 2FA — minimal glass, no marketing copy */
body.auth-page-minimal{
  color:#172033;
  font-family:var(--font-ui)!important;
  background:
    radial-gradient(circle at 50% -10%,rgba(227,6,19,.09),transparent 30%),
    radial-gradient(circle at 90% 15%,rgba(104,128,162,.10),transparent 34%),
    linear-gradient(145deg,#eef1f5,#f8f9fb 46%,#edf1f5)!important;
}
body.auth-page-minimal .auth-minimal-shell{
  background:transparent!important;
}
body.auth-page-minimal .auth-minimal-shell:before{
  opacity:.45;
  background-image:linear-gradient(rgba(100,116,139,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(100,116,139,.04) 1px,transparent 1px)!important;
  background-size:42px 42px!important;
}
body.auth-page-minimal .auth-minimal-brand img{filter:drop-shadow(0 6px 18px rgba(15,23,42,.09))}
body.auth-page-minimal .auth-minimal-brand>span{
  border-color:rgba(148,163,184,.20)!important;
  background:rgba(255,255,255,.50)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
body.auth-page-minimal .auth-card-minimal{
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.65)!important;
  box-shadow:0 28px 80px rgba(15,23,42,.10),inset 0 1px 0 rgba(255,255,255,.92)!important;
  backdrop-filter:blur(28px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(145%)!important;
}
body.auth-page-minimal .auth-card-minimal:before{background:linear-gradient(90deg,transparent,#e30613,transparent)!important;height:2px!important}
body.auth-page-minimal .auth-card-head-minimal h1{font-family:var(--font-ui)!important;font-weight:760!important;color:#172033}
body.auth-page-minimal .auth-field label{font-family:var(--font-ui)!important;font-weight:700!important}
body.auth-page-minimal .auth-field input{
  border-color:rgba(148,163,184,.24)!important;
  background:rgba(255,255,255,.68)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 4px 12px rgba(15,23,42,.025)!important;
  font-family:var(--font-ui)!important;
}
body.auth-page-minimal .auth-field input:focus{border-color:rgba(227,6,19,.36)!important;box-shadow:0 0 0 4px rgba(227,6,19,.06),inset 0 1px 0 #fff!important}
body.auth-page-minimal .auth-submit{
  border-color:rgba(190,0,12,.2)!important;
  background:linear-gradient(180deg,#ef2732,#dc111c)!important;
  box-shadow:0 12px 28px rgba(227,6,19,.22),inset 0 1px 0 rgba(255,255,255,.16)!important;
  font-family:var(--font-ui)!important;
  font-weight:700!important;
}
body.auth-page-minimal .auth-minimal-security{border-top-color:rgba(148,163,184,.14)!important}

/* Public quote — lighter customer-facing glass */
body.public-quote-page{
  font-family:var(--font-ui)!important;
  background:
    radial-gradient(circle at 84% 0%,rgba(113,139,175,.11),transparent 34%),
    radial-gradient(circle at 4% 4%,rgba(227,6,19,.055),transparent 27%),
    linear-gradient(145deg,#eef1f5,#f8f9fb 45%,#eef2f6)!important;
  background-attachment:fixed!important;
}
body.public-quote-page .public-quote-hero,
body.public-quote-page .public-summary-item,
body.public-quote-page .public-card,
body.public-quote-page .public-action-card{
  border-color:rgba(255,255,255,.78)!important;
  background:rgba(255,255,255,.66)!important;
  box-shadow:var(--glass-shadow-soft)!important;
  backdrop-filter:blur(20px) saturate(135%);
  -webkit-backdrop-filter:blur(20px) saturate(135%);
}
body.public-quote-page .public-quote-hero{border-radius:22px!important}
body.public-quote-page .public-summary-item,
body.public-quote-page .public-card,
body.public-quote-page .public-action-card{border-radius:17px!important}
body.public-quote-page .public-item-v129{border-bottom-color:rgba(148,163,184,.12)!important}
body.public-quote-page .btn{font-family:var(--font-ui)!important;border-color:rgba(148,163,184,.20);background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}

/* Desktop compact rail: preserve glass language */
@media(max-width:1000px) and (min-width:761px){
  :root{--glass-sidebar:86px}
  body.app-body .shell{gap:10px;padding:10px}
  body.app-body .sidebar{top:10px;height:calc(100vh - 20px);padding:15px 9px;border-radius:19px}
  body.app-body .brand{align-items:center!important;min-height:54px;padding:4px 0 12px!important}
  body.app-body .brand-logo{max-width:50px!important;max-height:42px!important}
  body.app-body .brand-copy{display:none!important}
  body.app-body .nav a{justify-content:center!important;padding:10px!important}
  body.app-body .nav a span{display:none!important}
  body.app-body .nav a.active:before{display:none!important}
  body.app-body .topbar{top:10px}
}

/* Mobile */
@media(max-width:760px){
  body.app-body .shell{display:block!important;padding:0!important;min-height:100dvh}
  body.app-body .main{width:100%;min-height:100dvh;padding:0 10px 10px}
  body.app-body .sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    top:0!important;
    width:min(88vw,320px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:max(16px,env(safe-area-inset-top)) 12px max(20px,env(safe-area-inset-bottom))!important;
    border-width:0 1px 0 0!important;
    border-radius:0 22px 22px 0!important;
    transform:translateX(-102%);
    box-shadow:24px 0 70px rgba(15,23,42,.27)!important;
  }
  body.app-body .shell.nav-open .sidebar{transform:translateX(0)}
  body.app-body .sidebar .brand{align-items:flex-start!important;min-height:74px;margin-bottom:12px!important}
  body.app-body .sidebar .brand-logo{max-width:180px!important;max-height:52px!important}
  body.app-body .sidebar .brand-copy{display:block!important}
  body.app-body .sidebar .nav a{justify-content:flex-start!important;padding:10px 11px!important}
  body.app-body .sidebar .nav a span{display:block!important}
  body.app-body .sidebar .nav a.active:before{display:block!important}
  body.app-body .sidebar-backdrop{background:rgba(15,23,42,.44)!important;backdrop-filter:blur(7px)!important}
  body.app-body .topbar{
    top:10px!important;
    height:58px!important;
    margin:10px 0!important;
    padding:0 10px!important;
    border-radius:16px!important;
  }
  body.app-body .topbar-user{padding:3px;background:transparent;border:0;box-shadow:none}
  body.app-body .topbar-role,body.app-body .topbar-name{display:none!important}
  body.app-body .logout-link{width:36px;height:36px;padding:0;justify-content:center;border-color:rgba(148,163,184,.15);background:rgba(255,255,255,.38)}
  body.app-body .content{padding:0 0 24px!important}
  body.app-body .content-stage{min-height:calc(100dvh - 88px);padding:14px;border-radius:18px}
  body.app-body .page-head,body.app-body .dashboard-hero{margin-bottom:15px}
  body.app-body .page-head h1,body.app-body .dashboard-hero h1,body.app-body .customer-v128-title h1{font-size:20px!important}
  body.app-body .card,body.app-body .filter-bar,body.app-body .quote-action-strip{border-radius:14px!important}
  body.app-body .toolbar-actions,body.app-body .dashboard-actions{gap:7px}
  body.app-body .btn{min-height:40px}
  body.app-body .table-wrap{border-radius:14px!important}
  body.app-body .quote-form-actions-sticky,body.app-body .customer-form-actions-sticky,body.app-body .form-actions-sticky{backdrop-filter:none!important}
}

@media(max-width:420px){
  body.app-body .main{padding-left:7px;padding-right:7px}
  body.app-body .content-stage{padding:11px;border-radius:16px}
  body.app-body .topbar-workspace-icon{display:grid!important}
  body.app-body .topbar-workspace-copy strong{max-width:38vw;font-size:10.5px!important}
  body.auth-page-minimal .auth-card-minimal{border-radius:20px!important;padding:27px 20px!important}
}

@media(prefers-reduced-motion:reduce){
  body.app-body .nav a,body.app-body .btn,body.app-body .card{transition:none!important}
  body.app-body .nav a:hover,body.app-body .btn:hover,body.app-body .project-card:hover{transform:none!important}
}


/* v1.2.35 — nested box cleanup */
body.app-body .project-status-form .glass-select,
body.app-body .quote-editor-v123 .qv123-product-search-box{overflow:hidden!important}
body.app-body .project-status-form .glass-select select,
body.app-body .project-status-form select,
body.app-body .status-glass-select select{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0!important;
  margin:0!important;
}
body.app-body .quote-editor-v123 .qv123-product-search-box input,
body.app-body .quote-editor-v123 .qv123-product-search-box input[type=search]{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0!important;
  margin:0!important;
}
body.app-body .quote-editor-v123 .qv123-product-search-box input[type=search]::-webkit-search-decoration,
body.app-body .quote-editor-v123 .qv123-product-search-box input[type=search]::-webkit-search-cancel-button,
body.app-body .quote-editor-v123 .qv123-product-search-box input[type=search]::-webkit-search-results-button,
body.app-body .quote-editor-v123 .qv123-product-search-box input[type=search]::-webkit-search-results-decoration{display:none!important}
body.app-body .quote-editor-v123 .qv123-product-search-box>span{padding:0!important;margin:0!important}
