
/*
 CRM4 6.7.39 — DESIGN ONLY
 Delavaran refined luxury office theme.
 No route, icon position, workflow, form name, button action, or application logic is changed.
*/

:root{
  --ink:#172033;
  --muted:#697586;
  --line:#dde3ea;
  --surface:#ffffff;
  --soft:#f5f7fa;
  --primary:#102c49;
  --primary2:#1b4c76;
  --gold:#c3a261;
  --gold-soft:#ead9b3;
  --danger:#a92f28;
  --success:#16704a;
  --shadow:0 14px 38px rgba(16,36,61,.075);
  --shadow-hover:0 18px 45px rgba(16,36,61,.11);
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:11px;
}

html{
  color-scheme:light;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

body{
  position:relative;
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 0%,rgba(195,162,97,.10),transparent 25%),
    linear-gradient(180deg,#f7f8fa 0%,#f3f5f8 48%,#f8f9fb 100%);
  font-family: 'DelavaranBody', 'Vazirmatn', Tahoma, Arial, sans-serif;
  font-size:14px;
  line-height:1.75;
}

body::before{
  content:"";
  position:fixed;
  z-index:-1;
  left:-85px;
  bottom:-115px;
  width:460px;
  height:460px;
  pointer-events:none;
  opacity:.022;
  background:url("/static/customer_card_logo.jpg") center/contain no-repeat;
  filter:grayscale(1);
}

/* Header / brand — same structure, refined finish */
.dlv-header{
  min-height:80px;
  padding-top:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(225,197,139,.24);
  background:
    radial-gradient(circle at 5% 0%,rgba(218,184,116,.14),transparent 26%),
    linear-gradient(135deg,#0b1625 0%,#112a45 55%,#0e2035 100%);
  box-shadow:0 10px 34px rgba(7,20,37,.17);
  backdrop-filter:saturate(115%) blur(8px);
}

.dlv-brand{
  gap:13px;
}

.dlv-logo{
  width:50px;
  height:50px;
  border:1px solid rgba(224,194,131,.58);
  border-radius:14px;
  color:transparent !important;
  font-size:0 !important;
  background:
    #0c1725
    url("/static/customer_card_logo.jpg")
    center/cover no-repeat !important;
  box-shadow:
    0 7px 22px rgba(0,0,0,.16),
    inset 0 0 0 1px rgba(255,255,255,.04);
}

.dlv-brand strong{
  color:#fff8ec;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.15px;
}

.dlv-brand small{
  color:rgba(255,255,255,.62);
  font-size:10.5px;
}

.dlv-nav{
  gap:5px;
}

.dlv-nav a{
  margin:0;
  padding:9px 13px;
  border:1px solid transparent;
  border-radius:11px;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease,
    box-shadow .16s ease;
}

.dlv-nav a:hover{
  color:#fff;
  border-color:rgba(225,197,139,.18);
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}

.dlv-nav a:focus-visible,
.dlv-brand:focus-visible,
a:focus-visible,
button:focus-visible{
  outline:3px solid rgba(195,162,97,.30);
  outline-offset:2px;
}

.dlv-avatar{
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.15);
  color:#17283b;
  background:linear-gradient(145deg,#f1ddaf,#c29d59);
  box-shadow:0 5px 16px rgba(0,0,0,.13);
}

.dlv-usertext strong{
  color:#fff;
  font-size:12.5px;
}

.dlv-usertext small{
  color:rgba(255,255,255,.60);
  font-size:10.5px;
}

.dlv-logout{
  min-height:36px;
  border-color:rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  font-size:12px;
  font-weight:800;
}

.dlv-logout:hover{
  border-color:rgba(225,197,139,.35);
  background:rgba(255,255,255,.075);
}

/* Main canvas */
.dlv-main{
  padding-top:32px;
}

.page-head,
.title-row,
.list-head{
  color:var(--ink);
}

.page-head h1,
.title-row h1,
.dashboard-hero h1{
  letter-spacing:-.45px;
}

.page-head h1{
  font-size:clamp(26px,3.4vw,38px);
  line-height:1.35;
  font-weight:900;
}

.page-head p,
.title-row p,
.list-head p{
  color:var(--muted);
}

/* Surfaces — same cards/positions, cleaner visual system */
.panel,
.user-card,
.stats article,
.module,
.property-card,
.detail-panel,
.crm4-need-card,
.crm4-provider-card,
.crm4-match-card,
.notification-card,
.notification-group,
.notif-card{
  border-color:var(--line) !important;
  border-radius:var(--radius-lg) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:var(--shadow) !important;
}

.panel,
.user-card,
.stats article,
.module,
.property-card,
.detail-panel{
  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    background-color .16s ease;
}

.panel:hover,
.user-card:hover,
.stats article:hover,
.module:hover,
.property-card:hover{
  border-color:#cfd7e1 !important;
  box-shadow:var(--shadow-hover) !important;
}

.module{
  color:var(--ink);
}

.module h2{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.15px;
}

.module p{
  color:var(--muted);
  font-size:12.5px;
  line-height:1.9;
}

.module>strong{
  color:#8f7138;
}

.module-icon{
  width:56px;
  height:56px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  box-shadow:0 7px 18px rgba(20,44,73,.13);
  font-size:26px;
}

.admin-module .module-icon{
  color:#17293d;
  background:linear-gradient(145deg,#f0dfb8,#c8a35d);
}

.stats article{
  padding:20px;
}

.stats span{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}

.stats strong{
  color:#102b47;
  font-size:30px;
  font-weight:900;
}

/* Dashboard hero: premium but still familiar */
.dashboard-hero{
  border:1px solid rgba(227,199,141,.18);
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 18%,rgba(224,190,121,.22),transparent 24%),
    linear-gradient(135deg,#0d1a2a,#163c60 62%,#102943);
  box-shadow:0 24px 62px rgba(15,43,73,.16);
}

.dashboard-hero h1{
  color:#fffaf0;
}

.dashboard-hero p{
  color:rgba(255,255,255,.72);
}

.role-box{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.065);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}

/* Forms — dimensions remain functionally equivalent */
input,
select,
textarea{
  min-height:46px;
  border:1px solid #cfd7e1;
  border-radius:12px;
  color:#172033;
  background:#fff;
  font-family:inherit;
  font-size:13.5px;
  transition:
    border-color .15s ease,
    box-shadow .15s ease,
    background-color .15s ease;
}

textarea{
  line-height:1.85;
}

input:hover,
select:hover,
textarea:hover{
  border-color:#bbc6d3;
}

input:focus,
select:focus,
textarea:focus{
  border-color:#8ca8c2;
  box-shadow:0 0 0 4px rgba(27,76,118,.085);
}

label>span{
  color:#2a3b50;
  font-size:12px;
  font-weight:900;
}

label small{
  color:#758192;
  font-size:10.5px;
}

/* Buttons — no action or position changes */
.primary-btn,
.secondary-btn,
.danger-btn,
button[type="submit"]{
  border-radius:12px;
  font-family:inherit;
  font-size:12.5px;
  font-weight:900;
  letter-spacing:-.05px;
}

.primary-btn{
  border:1px solid rgba(255,255,255,.05);
  color:#fff;
  background:linear-gradient(135deg,#102d4b,#1c527f);
  box-shadow:0 8px 20px rgba(23,64,105,.16);
}

.primary-btn:hover{
  filter:brightness(1.035);
}

.secondary-btn{
  border-color:#d0d8e2;
  color:#20364e;
  background:#fff;
  box-shadow:0 3px 10px rgba(18,37,61,.035);
}

.secondary-btn:hover{
  border-color:#b9c5d2;
  background:#f9fafb;
}

.danger-btn{
  background:#a93630;
}

/* Details / accordions */
.create-panel>summary,
.account-actions>summary{
  font-weight:900;
}

.create-panel>summary{
  background:linear-gradient(90deg,#f8f9fb,#fff);
}

.subpanel{
  border-color:#dde3ea;
  border-radius:15px;
  background:#fafbfd;
}

/* Property UI polish, same content/actions */
.property-page-head,
.property-filter-bar,
.property-filters,
.property-owner,
.property-price-box,
.property-consultant{
  border-radius:14px;
}

.property-code,
.file-code{
  letter-spacing:.3px;
  font-weight:900;
}

.property-status,
.status-active,
.phase-chip,
.role,
.inactive,
.meta span{
  border-radius:999px;
}

.property-card-actions a,
.property-card-actions button{
  font-size:12px;
}

/* Search / Need / notification visual normalization only */
[class*="crm4-"] h1,
[class*="crm4-"] h2,
[class*="search-"] h1,
[class*="search-"] h2,
[class*="notification"] h1,
[class*="notification"] h2{
  letter-spacing:-.15px;
}

[class*="crm4-"] small,
[class*="search-"] small,
[class*="notification"] small{
  line-height:1.75;
}

/* Tables */
table{
  border-collapse:separate;
  border-spacing:0;
  font-size:12.5px;
}

thead th{
  color:#34465a;
  background:#f4f6f8;
  font-size:11px;
  font-weight:900;
}

th,
td{
  border-color:#e5e9ee !important;
}

tbody tr:hover td{
  background:#fafbfd;
}

/* Alerts */
.alert{
  border-radius:13px;
  font-size:12px;
}

.alert.success{
  border-color:#addbc4;
  color:#12633f;
  background:#f0faf5;
}

.alert.error{
  border-color:#edc0bc;
  color:#8c2d26;
  background:#fff4f3;
}

/* Login — same two-column structure */
.login-shell{
  background:
    radial-gradient(circle at 14% 16%,rgba(220,188,126,.20),transparent 24%),
    linear-gradient(125deg,#091625,#153a60);
}

.login-intro{
  background:
    radial-gradient(circle at 18% 20%,rgba(218,187,126,.18),transparent 25%),
    radial-gradient(circle at 80% 85%,rgba(65,120,175,.18),transparent 30%);
}

.login-mark{
  color:transparent !important;
  font-size:0 !important;
  border:1px solid rgba(228,199,139,.58);
  background:
    #0e1a29
    url("/static/customer_card_logo.jpg")
    center/cover no-repeat !important;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}

.login-card{
  border-color:#dde3ea;
  border-radius:24px;
  box-shadow:0 22px 64px rgba(24,40,63,.10);
}

.login-form-wrap{
  background:#f6f7f9;
}

/* Scrollbar, purely cosmetic */
*{
  scrollbar-width:thin;
  scrollbar-color:#b7c0cb #eef1f4;
}

::-webkit-scrollbar{
  width:10px;
  height:10px;
}

::-webkit-scrollbar-track{
  background:#eef1f4;
}

::-webkit-scrollbar-thumb{
  border:2px solid #eef1f4;
  border-radius:999px;
  background:#b7c0cb;
}

::-webkit-scrollbar-thumb:hover{
  background:#9ea9b6;
}

@media(max-width:650px){
  body{
    font-size:13.5px;
  }

  body::before{
    width:320px;
    height:320px;
    left:-90px;
    bottom:-90px;
  }

  .dlv-header{
    padding-top:11px;
    padding-bottom:11px;
  }

  .dlv-logo{
    width:46px;
    height:46px;
  }

  .dlv-brand strong{
    font-size:15.5px;
  }

  .dlv-nav a{
    padding:8px 11px;
    font-size:12px;
  }

  .dlv-main{
    padding-top:20px;
  }
}
