/* Raven Digitals V68 — Raven OS Interface / Mobile First Polish */
:root{
  --v68-bg:#f7f5f9;
  --v68-surface:rgba(255,255,255,.86);
  --v68-surface-strong:#fff;
  --v68-ink:#1d1723;
  --v68-muted:#756e7c;
  --v68-line:rgba(54,38,70,.10);
  --v68-purple:#7750e8;
  --v68-purple-2:#a98cff;
  --v68-purple-soft:#f0ebff;
  --v68-shadow:0 20px 60px rgba(38,23,54,.07);
  --v68-shadow-hover:0 28px 78px rgba(38,23,54,.12);
  --v68-radius:24px;
  --v68-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------------------------------------------------------
   GLOBAL / PUBLIC WEBSITE — fix mobile hero rectangle
   --------------------------------------------------------- */
.page-hero::after{
  width:auto!important;
  height:auto!important;
  inset:0!important;
  border-radius:0!important;
}
.page-hero::before{
  border-radius:50%!important;
}

@media(max-width:820px){
  /* V65 accidentally assigned 78vw width/height to ::after, creating the white square on iPhone. */
  .page-hero::after{
    width:auto!important;
    height:auto!important;
    inset:0!important;
    background:
      linear-gradient(180deg,rgba(248,247,251,.10) 0%,rgba(248,247,251,.08) 22%,rgba(248,247,251,.18) 43%,rgba(248,247,251,.72) 73%,rgba(248,247,251,.96) 100%),
      linear-gradient(90deg,rgba(248,247,251,.68) 0%,rgba(248,247,251,.28) 58%,rgba(248,247,251,.08) 100%)!important;
  }
  .page-hero::before{
    width:72vw!important;
    height:72vw!important;
    right:-26vw!important;
    bottom:-20vw!important;
    filter:blur(34px)!important;
    opacity:.78;
  }
  .page-hero{min-height:88svh!important;align-items:flex-end!important;background:#ece9f0}
  .page-hero.compact{min-height:72svh!important}
  .page-hero-media{transform:scale(1.015)!important;object-position:center center}
  .hero-inner{width:min(100% - 34px,var(--max))!important;padding:132px 0 54px!important}
  .hero-copy{max-width:100%!important}
  .hero-copy h1,.display-title{font-size:clamp(51px,15.7vw,69px)!important;line-height:.91!important;letter-spacing:-.06em!important;text-wrap:balance}
  .hero-lead{max-width:95%!important;margin-top:18px!important;font-size:15px!important;line-height:1.58!important;color:#4f4857!important;text-shadow:0 1px 12px rgba(255,255,255,.8)!important}
  .eyebrow{font-size:10px!important;letter-spacing:.19em!important}
}

@media(max-width:480px){
  .page-hero{min-height:84svh!important}
  .hero-copy h1,.display-title{font-size:clamp(47px,14.8vw,61px)!important}
  .hero-inner{padding-bottom:46px!important}
}

/* ---------------------------------------------------------
   SHARED PORTAL SHELL
   --------------------------------------------------------- */
body[data-portal="admin"],body[data-portal="client"]{
  background:
    radial-gradient(circle at 75% -8%,rgba(119,80,232,.105),transparent 31%),
    radial-gradient(circle at -10% 42%,rgba(169,140,255,.06),transparent 28%),
    var(--v68-bg);
  color:var(--v68-ink);
}
body[data-portal="admin"]::after,body[data-portal="client"]::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.42;
  background-image:linear-gradient(rgba(119,80,232,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(119,80,232,.025) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,black,transparent 72%);
}
body[data-portal="admin"] .portal-header,body[data-portal="client"] .portal-header{
  background:rgba(249,247,251,.76)!important;
  border-bottom:1px solid rgba(67,48,84,.08)!important;
  backdrop-filter:blur(26px) saturate(160%)!important;
  -webkit-backdrop-filter:blur(26px) saturate(160%)!important;
  box-shadow:0 8px 30px rgba(41,26,54,.035);
}
.portal-brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(119,80,232,.11);border-radius:13px;background:rgba(255,255,255,.82);box-shadow:0 8px 24px rgba(48,30,65,.05)}
.portal-brand-copy{display:grid;line-height:1}.portal-brand-copy b{font-size:11px;letter-spacing:.08em}.portal-brand-copy small{margin-top:4px;color:#8c8492;font-size:6px;letter-spacing:.2em}
.portal-profile{border:1px solid var(--v68-line);border-radius:13px;background:rgba(255,255,255,.72);padding:6px 8px;box-shadow:0 8px 24px rgba(42,28,55,.04)}
.portal-toast{border-radius:14px!important;background:rgba(29,23,35,.94)!important;backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(22,14,29,.22)!important}

/* ---------------------------------------------------------
   RAVEN OS — ADMIN DESKTOP
   --------------------------------------------------------- */
body[data-portal="admin"] .admin-layout.raven-os-layout{grid-template-columns:268px minmax(0,1fr)!important}
body[data-portal="admin"] .admin-sidebar.raven-os-sidebar{
  padding:15px 13px 14px!important;
  border-right:0!important;
  background:linear-gradient(180deg,#1e1726 0%,#23192f 52%,#17121d 100%)!important;
  color:#fff!important;
  box-shadow:16px 0 60px rgba(28,17,38,.08);
}
.raven-os-brand-block{min-height:68px!important;padding:10px 10px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.08)}
.raven-os-brand-block img{filter:brightness(0) invert(1);opacity:.96}.raven-os-brand-block span b{font-size:14px!important;letter-spacing:-.02em}.raven-os-brand-block span small{color:#9e95aa!important}.raven-os-version{background:rgba(167,139,255,.14)!important;color:#c8b8ff!important;border:1px solid rgba(179,153,255,.13);border-radius:999px;padding:5px 7px}
.raven-os-context{margin:13px 3px 16px!important;padding:13px 12px!important;border:1px solid rgba(255,255,255,.055);border-radius:15px;background:rgba(255,255,255,.035)}
.raven-os-context small{color:#766f80!important}.raven-os-context strong{color:#fff!important}.raven-os-context span{color:#9f96aa!important}
.raven-os-nav-group>small{padding-left:10px!important;color:#665e70!important;font-size:6px!important;letter-spacing:.17em!important}
.raven-os-sidebar .admin-nav button{
  position:relative;min-height:44px!important;margin:2px 0!important;padding:0 10px!important;border:1px solid transparent!important;border-radius:13px!important;color:#aaa1b5!important;background:transparent!important;transition:.24s var(--v68-ease)!important
}
.raven-os-sidebar .admin-nav button svg{width:18px!important;height:18px!important;opacity:.84}.raven-os-sidebar .admin-nav button span{font-size:9px!important;font-weight:760!important}
.raven-os-sidebar .admin-nav button:hover{color:#fff!important;background:rgba(255,255,255,.065)!important;border-color:rgba(255,255,255,.045)!important;transform:translateX(2px)}
.raven-os-sidebar .admin-nav button.active{color:#fff!important;background:linear-gradient(135deg,rgba(119,80,232,.98),rgba(142,105,244,.72))!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 12px 30px rgba(94,54,194,.25),inset 0 1px 0 rgba(255,255,255,.14)!important}
.raven-os-sidebar .admin-nav button.active::before{background:#fff!important;box-shadow:0 0 12px rgba(255,255,255,.55)}
.raven-os-sidebar .admin-nav b{min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.07)!important;color:#cbc2d3!important;font-size:7px!important}
.raven-os-sidebar .admin-nav button.active b{background:rgba(255,255,255,.17)!important;color:#fff!important}
.raven-os-sidebar-footer{margin-top:auto!important;padding:11px 5px 0!important;border-top:1px solid rgba(255,255,255,.07)!important}.raven-os-sidebar-footer button,.raven-os-sidebar-footer a{border-radius:10px!important;color:#888092!important}.raven-os-sidebar-footer button:hover,.raven-os-sidebar-footer a:hover{color:#fff!important;background:rgba(255,255,255,.05)!important}

body[data-portal="admin"] .admin-main{max-width:1580px!important;padding:38px clamp(24px,3.8vw,60px) 82px!important}
body[data-portal="admin"] .admin-heading{position:relative;min-height:82px;margin:0 0 24px!important;padding:3px 0 18px;border-bottom:1px solid rgba(54,38,70,.08)}
.raven-os-view-icon{width:48px!important;height:48px!important;border-radius:16px!important;background:linear-gradient(145deg,#fff,#f0e9ff)!important;box-shadow:0 13px 34px rgba(68,44,89,.09)!important}
.admin-heading h1{font-size:clamp(34px,3.3vw,52px)!important;font-weight:650!important;letter-spacing:-.06em!important}
body[data-portal="admin"] .admin-heading-copy{max-width:760px!important;color:#797180!important;font-size:11px!important}
.raven-os-shortcut{border-radius:11px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 8px 24px rgba(42,28,55,.035)}

body[data-portal="admin"] .raven-kpis{gap:13px!important;margin-bottom:16px!important}
body[data-portal="admin"] .raven-kpis article{
  min-height:154px!important;padding:20px!important;border:1px solid var(--v68-line)!important;border-radius:22px!important;
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(251,248,255,.80))!important;
  box-shadow:var(--v68-shadow)!important;overflow:hidden
}
body[data-portal="admin"] .raven-kpis article::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--v68-purple),var(--v68-purple-2),transparent 84%);opacity:.72}
body[data-portal="admin"] .raven-kpis article::after{width:130px!important;height:130px!important;right:-56px!important;top:-58px!important;background:radial-gradient(circle,rgba(119,80,232,.16),transparent 67%)!important}
body[data-portal="admin"] .raven-kpis article:hover{transform:translateY(-4px)!important;box-shadow:var(--v68-shadow-hover)!important}
body[data-portal="admin"] .raven-kpis strong{font-size:32px!important;letter-spacing:-.055em!important}

body[data-portal="admin"] .dash-panel,body[data-portal="admin"] .admin-panel,body[data-portal="admin"] .project-detail,body[data-portal="admin"] .booking-crm-card,body[data-portal="admin"] .crm-client-card,body[data-portal="admin"] .quote-card,body[data-portal="admin"] .payment-config-card,body[data-portal="admin"] .provider-card,body[data-portal="admin"] .payment-history,body[data-portal="admin"] .invoice-os-card,body[data-portal="admin"] .os-settings-card{
  border:1px solid var(--v68-line)!important;border-radius:24px!important;background:var(--v68-surface)!important;box-shadow:var(--v68-shadow)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
body[data-portal="admin"] .dash-panel:hover,body[data-portal="admin"] .booking-crm-card:hover,body[data-portal="admin"] .crm-client-card:hover,body[data-portal="admin"] .quote-card:hover,body[data-portal="admin"] .invoice-os-card:hover{border-color:rgba(119,80,232,.16)!important;box-shadow:var(--v68-shadow-hover)!important}
body[data-portal="admin"] .crm-toolbar{padding:10px!important;border-radius:18px!important;background:rgba(255,255,255,.68)!important;box-shadow:0 12px 34px rgba(42,28,55,.035)!important}
body[data-portal="admin"] input,body[data-portal="admin"] select,body[data-portal="admin"] textarea{border-radius:13px!important;background:rgba(255,255,255,.91)!important;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important}
body[data-portal="admin"] input:focus,body[data-portal="admin"] select:focus,body[data-portal="admin"] textarea:focus{background:#fff!important;border-color:rgba(119,80,232,.42)!important;box-shadow:0 0 0 4px rgba(119,80,232,.09)!important}
body[data-portal="admin"] .portal-primary{border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#7750e8,#6840df)!important;box-shadow:0 12px 28px rgba(119,80,232,.18);transition:.22s var(--v68-ease)!important}
body[data-portal="admin"] .portal-primary:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(119,80,232,.25)}
body[data-portal="admin"] .portal-secondary{border-radius:12px!important;background:rgba(255,255,255,.74)!important;border-color:var(--v68-line)!important}

/* calendar */
body[data-portal="admin"] .os-cal-shell{border-radius:25px!important;border:1px solid var(--v68-line)!important;background:rgba(255,255,255,.72)!important;box-shadow:var(--v68-shadow)!important}
body[data-portal="admin"] .os-cal-weekdays{background:rgba(247,244,250,.78)!important}
body[data-portal="admin"] .os-cal-day{min-height:118px!important;background:rgba(255,255,255,.64)!important;transition:.2s ease}
body[data-portal="admin"] .os-cal-day:hover{background:#fff!important;box-shadow:inset 0 0 0 1px rgba(119,80,232,.11)}
body[data-portal="admin"] .os-cal-events button{border-radius:9px!important;box-shadow:0 5px 16px rgba(65,42,88,.06)}

/* ---------------------------------------------------------
   CLIENT SPACE — PREMIUM / REASSURING
   --------------------------------------------------------- */
body[data-portal="client"] .portal-header{height:72px!important}
body[data-portal="client"] .portal-header-label{padding:7px 10px;border:1px solid rgba(119,80,232,.10);border-radius:999px;background:rgba(255,255,255,.56);color:#716a78;font-size:7px!important;letter-spacing:.15em!important}
body[data-portal="client"] .client-layout{grid-template-columns:232px minmax(0,1fr)!important;min-height:calc(100vh - 120px)}
body[data-portal="client"] .client-sidebar{position:sticky;top:72px;height:calc(100vh - 72px);padding:24px 14px 18px!important;border-right:1px solid rgba(54,38,70,.08)!important;background:rgba(249,247,251,.68)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
body[data-portal="client"] .client-nav{display:grid;gap:4px}
body[data-portal="client"] .client-nav a{position:relative;min-height:44px;padding:0 12px!important;border:1px solid transparent;border-radius:13px!important;color:#746c7b;transition:.2s var(--v68-ease)}
body[data-portal="client"] .client-nav a svg{width:18px;height:18px}
body[data-portal="client"] .client-nav a:hover{background:#fff;color:var(--v68-purple);border-color:rgba(119,80,232,.10);transform:translateX(2px)}
body[data-portal="client"] .client-nav a.active{background:linear-gradient(135deg,#fff,#f0ebff)!important;color:var(--v68-purple)!important;border-color:rgba(119,80,232,.12)!important;box-shadow:0 10px 26px rgba(56,35,75,.07)!important}
body[data-portal="client"] .client-nav a.active::before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:999px;background:var(--v68-purple)}
body[data-portal="client"] .sidebar-help{padding:17px!important;border:1px solid rgba(119,80,232,.11)!important;border-radius:18px;background:linear-gradient(145deg,#fff,#f3effc);box-shadow:0 15px 35px rgba(52,33,70,.05)}
body[data-portal="client"] .sidebar-help i{display:block;width:10px;height:10px;margin-bottom:10px;border-radius:50%;background:#39b77c;box-shadow:0 0 0 5px rgba(57,183,124,.11)}
body[data-portal="client"] .sidebar-help strong{font-size:11px}

body[data-portal="client"] .client-content{max-width:1380px!important;padding:42px clamp(28px,5vw,72px) 82px!important;background:transparent!important}
body[data-portal="client"] .client-welcome{position:relative;margin-bottom:22px;padding-bottom:21px;border-bottom:1px solid rgba(54,38,70,.08)}
body[data-portal="client"] .client-welcome h1{font-size:clamp(39px,4.8vw,68px)!important;font-weight:620!important;letter-spacing:-.062em!important}
body[data-portal="client"] .client-welcome .project-sub{max-width:760px;font-size:11px!important;line-height:1.65}
body[data-portal="client"] .status-badge{border:1px solid rgba(213,145,53,.12);box-shadow:0 8px 24px rgba(47,31,59,.04)}

body[data-portal="client"] .client-project-card{position:relative;overflow:hidden;min-height:315px;border:1px solid var(--v68-line)!important;border-radius:28px!important;background:#17121d!important;box-shadow:0 28px 80px rgba(33,20,44,.14)!important}
body[data-portal="client"] .client-project-visual{position:relative;overflow:hidden}
body[data-portal="client"] .client-project-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,18,29,.08),rgba(23,18,29,.02))}
body[data-portal="client"] .client-project-visual img{transition:transform .8s var(--v68-ease),filter .8s var(--v68-ease)}
body[data-portal="client"] .client-project-card:hover .client-project-visual img{transform:scale(1.025);filter:saturate(1.04)}
body[data-portal="client"] .client-project-copy{padding:30px!important;background:linear-gradient(145deg,rgba(255,255,255,.985),rgba(248,244,253,.96))!important}
body[data-portal="client"] .client-project-copy h2{font-size:clamp(27px,3vw,42px)!important;letter-spacing:-.052em!important}
body[data-portal="client"] .client-project-copy>p:not(.portal-kicker){font-size:11px!important;line-height:1.7!important}

body[data-portal="client"] .client-booking-card,body[data-portal="client"] .client-progress-card,body[data-portal="client"] .client-quote,body[data-portal="client"] .client-invoices,body[data-portal="client"] .client-payment,body[data-portal="client"] .approval-box,body[data-portal="client"] .discussion-box{
  border:1px solid var(--v68-line)!important;border-radius:24px!important;background:rgba(255,255,255,.86)!important;box-shadow:var(--v68-shadow)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
body[data-portal="client"] .client-booking-card{margin-top:16px!important;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(241,235,255,.90))!important}
body[data-portal="client"] .client-booking-meta{border-radius:16px!important;border-color:rgba(119,80,232,.10)!important;background:rgba(119,80,232,.08)!important}
body[data-portal="client"] .client-booking-meta span{background:rgba(255,255,255,.86)!important}
body[data-portal="client"] .client-progress-card{padding:25px!important}
body[data-portal="client"] .client-progress-track i{box-shadow:0 6px 18px rgba(49,31,65,.05)}
body[data-portal="client"] .client-progress-track .done i{background:linear-gradient(135deg,#7750e8,#936cff)!important;box-shadow:0 8px 20px rgba(119,80,232,.18)}
body[data-portal="client"] .project-summary{overflow:hidden;margin:18px 0 36px!important;border:1px solid var(--v68-line)!important;border-radius:21px!important;background:rgba(255,255,255,.82)!important;box-shadow:var(--v68-shadow)!important}
body[data-portal="client"] .project-summary>div{border-color:rgba(54,38,70,.08)!important}
body[data-portal="client"] .project-summary button{background:linear-gradient(135deg,#201827,#7750e8)!important;transition:.2s var(--v68-ease)}
body[data-portal="client"] .project-summary button:hover{background:linear-gradient(135deg,#7750e8,#6840df)!important}
body[data-portal="client"] .delivery-grid{gap:14px!important}
body[data-portal="client"] .delivery-card{border-radius:20px!important;border-color:var(--v68-line)!important;box-shadow:0 14px 40px rgba(47,30,63,.055)!important;transition:transform .25s var(--v68-ease),box-shadow .25s ease,border-color .25s ease}
body[data-portal="client"] .delivery-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px rgba(47,30,63,.10)!important;border-color:rgba(119,80,232,.16)!important}
body[data-portal="client"] .delivery-preview{border-radius:19px 19px 0 0}
body[data-portal="client"] .approval-box{border-left:1px solid var(--v68-line)!important;background:linear-gradient(135deg,rgba(246,241,255,.96),rgba(255,255,255,.92))!important;position:relative;overflow:hidden}
body[data-portal="client"] .approval-box::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#7750e8,#a98cff)}
body[data-portal="client"] .discussion-box{background:rgba(255,255,255,.76)!important}
body[data-portal="client"] .message-form{border-radius:15px!important;border:1px solid rgba(119,80,232,.08)!important;background:#faf8fc!important}

/* client login */
body[data-portal="client"] .portal-login{background:radial-gradient(circle at 78% 20%,rgba(119,80,232,.08),transparent 30%)}
body[data-portal="client"] .login-visual{margin:16px 0 16px 16px;min-height:calc(100vh - 104px)!important;border-radius:30px;box-shadow:0 26px 78px rgba(31,19,42,.18)}
body[data-portal="client"] .login-visual::after{background:linear-gradient(180deg,rgba(20,15,25,.02),rgba(20,15,25,.76))!important}
body[data-portal="client"] .login-panel{padding:42px!important;border:1px solid var(--v68-line);border-radius:28px!important;background:rgba(255,255,255,.76)!important;backdrop-filter:blur(20px);box-shadow:0 26px 75px rgba(43,28,58,.08)}
body[data-portal="client"] .portal-form input{min-height:54px;border-radius:13px!important;background:rgba(255,255,255,.93)}
body[data-portal="client"] .portal-form .portal-primary{min-height:52px;border-radius:13px;background:linear-gradient(135deg,#201827,#7750e8);border:0;box-shadow:0 14px 34px rgba(119,80,232,.16)}

/* ---------------------------------------------------------
   MOBILE — ADMIN / CLIENT, touch-first and safe-area aware
   --------------------------------------------------------- */
@media(max-width:760px){
  body[data-portal="admin"]::after,body[data-portal="client"]::after{display:none}
  body[data-portal="admin"] .portal-header,body[data-portal="client"] .portal-header{min-height:62px!important;height:62px!important;padding:0 12px!important}
  body[data-portal="admin"] .portal-brand-mark,body[data-portal="client"] .portal-brand-mark{width:38px;height:38px;border-radius:12px}
  body[data-portal="admin"] .portal-header-actions,body[data-portal="client"] .portal-header-actions{gap:6px!important}
  body[data-portal="admin"] .raven-os-wordmark{font-size:10px!important}
  body[data-portal="admin"] .raven-os-wordmark small,body[data-portal="admin"] .raven-os-shortcut,body[data-portal="client"] .portal-header-label{display:none!important}

  /* One horizontal Raven dock: all modules remain reachable by swipe. */
  body[data-portal="admin"] .admin-layout.raven-os-layout{display:block!important}
  body[data-portal="admin"] .admin-sidebar.raven-os-sidebar{
    position:fixed!important;z-index:90!important;left:10px!important;right:10px!important;bottom:max(9px,env(safe-area-inset-bottom))!important;top:auto!important;
    height:66px!important;display:flex!important;align-items:center;gap:3px!important;padding:7px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:21px!important;
    background:rgba(26,19,34,.94)!important;backdrop-filter:blur(22px) saturate(150%)!important;-webkit-backdrop-filter:blur(22px) saturate(150%)!important;
    box-shadow:0 22px 60px rgba(22,14,29,.28)!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;scrollbar-width:none
  }
  body[data-portal="admin"] .admin-sidebar.raven-os-sidebar::-webkit-scrollbar{display:none}
  .raven-os-brand-block,.raven-os-context,.raven-os-nav-group>small,.raven-os-sidebar-footer{display:none!important}
  .raven-os-nav-group,.raven-os-sidebar .admin-nav{display:contents!important}
  .raven-os-sidebar .admin-nav button,.raven-os-sidebar .admin-nav button:nth-child(n+6){display:grid!important;grid-template-columns:1fr!important;place-items:center!important;flex:0 0 50px!important;width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important;padding:0!important;margin:0!important;border-radius:15px!important;scroll-snap-align:center}
  .raven-os-sidebar .admin-nav button span{display:none!important}.raven-os-sidebar .admin-nav button svg{width:19px!important;height:19px!important}.raven-os-sidebar .admin-nav button b{right:2px!important;top:2px!important;min-width:16px!important;height:16px!important;font-size:6px!important}
  .raven-os-sidebar .admin-nav button:hover{transform:none!important}.raven-os-sidebar .admin-nav button.active{background:linear-gradient(135deg,#7750e8,#956eff)!important;box-shadow:0 8px 22px rgba(119,80,232,.30)!important}.raven-os-sidebar .admin-nav button.active::before{left:50%!important;top:auto!important;bottom:-5px!important;width:16px!important;height:2px!important;transform:translateX(-50%)!important}
  body[data-portal="admin"] .admin-main{padding:24px 14px calc(104px + env(safe-area-inset-bottom))!important}
  body[data-portal="admin"] .admin-heading{display:grid!important;gap:14px;min-height:0!important;padding-bottom:16px!important;margin-bottom:18px!important}
  body[data-portal="admin"] .admin-heading-title-wrap{gap:10px!important}.raven-os-view-icon{width:41px!important;height:41px!important;border-radius:14px!important}.admin-heading h1{font-size:clamp(29px,9vw,38px)!important;line-height:.96!important}.admin-heading-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;width:100%!important}.admin-heading-actions>*{flex:1 1 auto}.admin-heading-actions .portal-primary{min-height:43px!important}
  body[data-portal="admin"] .raven-kpis{grid-template-columns:1fr 1fr!important;gap:9px!important}body[data-portal="admin"] .raven-kpis article{min-height:122px!important;padding:15px!important;border-radius:18px!important}body[data-portal="admin"] .raven-kpis strong{font-size:25px!important}
  body[data-portal="admin"] .dash-panel,body[data-portal="admin"] .admin-panel,body[data-portal="admin"] .project-detail,body[data-portal="admin"] .booking-crm-card,body[data-portal="admin"] .crm-client-card,body[data-portal="admin"] .quote-card,body[data-portal="admin"] .invoice-os-card,body[data-portal="admin"] .os-settings-card{border-radius:19px!important}
  body[data-portal="admin"] .os-calendar{margin-inline:-2px;overflow:auto;padding-bottom:6px;scrollbar-width:none}body[data-portal="admin"] .os-calendar::-webkit-scrollbar{display:none}.os-cal-weekdays,.os-cal-grid{min-width:670px!important}.os-cal-day{min-height:95px!important}
  .invoice-os-summary{grid-template-columns:1fr 1fr!important;gap:9px!important}.invoice-os-summary article{padding:15px!important;border-radius:17px!important}.invoice-os-summary strong{font-size:22px!important}
  .invoice-os-actions{display:grid!important;grid-template-columns:1fr 1fr!important;min-width:0!important}

  /* Client gets the same dock logic but a light, reassuring surface. */
  body[data-portal="client"] .client-layout{display:block!important}
  body[data-portal="client"] .client-sidebar{
    position:fixed!important;z-index:90!important;left:10px!important;right:10px!important;bottom:max(9px,env(safe-area-inset-bottom))!important;top:auto!important;
    height:66px!important;display:block!important;padding:7px!important;border:1px solid rgba(219,207,230,.78)!important;border-radius:21px!important;background:rgba(255,255,255,.91)!important;
    box-shadow:0 20px 60px rgba(42,27,55,.20)!important;backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none
  }
  body[data-portal="client"] .client-sidebar::-webkit-scrollbar{display:none}
  body[data-portal="client"] .client-nav{display:flex!important;gap:2px!important;width:max-content;min-width:100%}
  body[data-portal="client"] .client-nav a{flex:0 0 52px!important;width:52px!important;height:50px!important;min-height:50px!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:15px!important}
  body[data-portal="client"] .client-nav a span{display:none!important}body[data-portal="client"] .client-nav a b{right:1px!important;top:1px!important;min-width:16px;height:16px;font-size:6px}body[data-portal="client"] .client-nav a.active::before{left:50%!important;right:auto!important;top:auto!important;bottom:-5px!important;width:17px!important;height:2px!important;transform:translateX(-50%)}
  body[data-portal="client"] .client-sidebar .sidebar-help{display:none!important}
  body[data-portal="client"] .client-content{padding:24px 14px calc(105px + env(safe-area-inset-bottom))!important}
  body[data-portal="client"] .client-welcome{display:grid!important;gap:12px!important;margin-bottom:15px!important;padding-bottom:16px!important}body[data-portal="client"] .client-welcome h1{font-size:clamp(31px,10vw,43px)!important}.client-welcome .status-badge{display:inline-flex!important;width:max-content!important}
  body[data-portal="client"] .client-project-card{grid-template-columns:1fr!important;min-height:0!important;border-radius:22px!important}body[data-portal="client"] .client-project-visual{aspect-ratio:16/9!important;min-height:0!important}body[data-portal="client"] .client-project-copy{padding:20px!important}body[data-portal="client"] .client-project-copy h2{font-size:25px!important}body[data-portal="client"] .client-project-copy>p:not(.portal-kicker){display:block!important}body[data-portal="client"] .client-project-copy>div{display:flex!important;gap:18px;flex-wrap:wrap;margin-top:16px}
  body[data-portal="client"] .client-booking-card,body[data-portal="client"] .client-progress-card,body[data-portal="client"] .client-quote,body[data-portal="client"] .client-invoices,body[data-portal="client"] .client-payment,body[data-portal="client"] .approval-box,body[data-portal="client"] .discussion-box{border-radius:20px!important;padding:18px!important}
  body[data-portal="client"] .client-booking-card{grid-template-columns:1fr!important;gap:16px!important}.client-booking-meta{grid-template-columns:1fr 1fr 1fr!important}.client-booking-meta span{padding:11px!important}.client-booking-card h2{font-size:23px!important}
  body[data-portal="client"] .client-progress-track{grid-template-columns:1fr!important;gap:0!important}.client-progress-track>div{grid-template-columns:36px 1fr;align-items:center;gap:9px!important;min-height:46px}.client-progress-track>div::before{left:14px!important;right:auto!important;top:30px!important;bottom:-1px!important;width:2px!important;height:auto!important}.client-progress-track>div:nth-child(3)::before{display:block!important}.client-progress-track>div:last-child::before{display:none!important}.client-progress-track span{font-size:9px!important}.client-progress-track i{width:30px!important;height:30px!important}
  body[data-portal="client"] .project-summary{grid-template-columns:1fr 1fr!important;margin:14px 0 30px!important;border-radius:18px!important}.project-summary>div{min-height:76px;padding:14px!important}.project-summary button{grid-column:1/-1;min-height:48px!important;padding:0 15px!important}
  body[data-portal="client"] .delivery-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}.delivery-file-meta{padding:10px!important}.delivery-file-meta strong{font-size:8px!important}
  body[data-portal="client"] .approval-box{display:grid!important;gap:18px!important}.approval-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.approval-actions button{width:100%}
  body[data-portal="client"] .discussion-box{padding:17px!important}.message-form{display:grid!important;grid-template-columns:1fr auto!important}.message-form input{min-width:0!important}
  .client-invoice-row{grid-template-columns:1fr!important}.client-invoice-row a{width:100%;justify-content:center!important}

  /* Login becomes a compact mobile landing page, no giant photo panel. */
  body[data-portal="client"] .portal-login{display:block!important;min-height:calc(100svh - 62px)!important;padding:18px 14px 40px}
  body[data-portal="client"] .login-visual{min-height:265px!important;height:34svh!important;margin:0!important;border-radius:23px!important}.login-visual>div{left:22px!important;bottom:22px!important}.login-visual strong{font-size:clamp(34px,10vw,48px)!important}
  body[data-portal="client"] .login-panel{width:100%!important;margin:13px 0 0!important;padding:24px 20px!important;border-radius:23px!important}.login-panel h1{font-size:36px!important}.login-copy{margin:15px 0 24px!important;font-size:12px!important}.login-help{display:grid!important;gap:7px!important}.privacy-note{margin-top:20px!important}
}

@media(max-width:480px){
  body[data-portal="admin"] .raven-kpis{grid-template-columns:1fr!important}
  .invoice-os-summary{grid-template-columns:1fr!important}
  body[data-portal="client"] .client-booking-meta{grid-template-columns:1fr!important}
  body[data-portal="client"] .delivery-grid{grid-template-columns:1fr!important}
  body[data-portal="client"] .project-summary{grid-template-columns:1fr!important}.project-summary button{grid-column:auto}
  body[data-portal="client"] .portal-header-actions .portal-admin-shortcut{max-width:42px;overflow:hidden;text-indent:-999px;position:relative}.portal-admin-shortcut::after{content:"OS";position:absolute;inset:0;display:grid;place-items:center;text-indent:0;font-size:8px;font-weight:900}
}

/* animated portal entrance — class added by raven-os-v68.js */
@media(prefers-reduced-motion:no-preference){
  body.v68-ready[data-portal="admin"] .admin-main,body.v68-ready[data-portal="client"] .client-content{animation:v68MainIn .48s var(--v68-ease) both}
  .v68-enter{animation:v68CardIn .42s var(--v68-ease) both}
}
@keyframes v68MainIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes v68CardIn{from{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.v68-enter{animation:none!important}}
