/* CTR Suite V14.14 — Auth & Workspace Premium Refresh
   Visual-only enhancement layer. No auth, tenant or form logic lives here. */
:root{--ctr14-blue:#3478f6;--ctr14-violet:#6557f5;--ctr14-mint:#20cfaa;--ctr14-ink:#071225;--ctr14-line:#e4eaf3;--ctr14-soft:#f5f8fc}

/* shared ambient canvas */
body{background-image:radial-gradient(circle at 8% 2%,rgba(52,120,246,.10),transparent 27%),radial-gradient(circle at 96% 15%,rgba(101,87,245,.08),transparent 26%),linear-gradient(180deg,#f2f6fb 0%,#f7f9fc 55%,#f3f6fa 100%);background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.38;background-image:linear-gradient(rgba(71,92,130,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(71,92,130,.045) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 72%)}

/* owner + staff login */
.portal-shell{max-width:1680px;margin:0 auto;isolation:isolate}
.portal-visual{border:1px solid rgba(255,255,255,.08);background-image:radial-gradient(circle at 86% 9%,rgba(89,127,255,.34),transparent 28%),radial-gradient(circle at 7% 92%,rgba(32,207,170,.12),transparent 32%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(145deg,#061125,#10264a 72%);background-size:auto,auto,44px 44px,44px 44px,auto;box-shadow:0 26px 76px rgba(7,18,37,.20)}
.portal-visual:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 36%,rgba(91,120,255,.025) 68%,transparent)}
.portal-panel{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 26px 70px rgba(15,23,42,.085);border-color:rgba(222,230,240,.92)}
.brand-lockup img,.visual-brand img{box-shadow:0 12px 30px rgba(15,23,42,.12)}
.login-box h2{font-size:clamp(28px,2.2vw,34px)}
.input,.login-input{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}
.input:hover,.login-input:hover{border-color:#cfd9e8;background:#fff}
.btn,.login-button,.register-primary{position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.btn:hover,.login-button:hover,.register-primary:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 15px 34px rgba(58,86,225,.25)}
.btn:active,.login-button:active,.register-primary:active{transform:translateY(0) scale(.995)}
.foot-link,.login-link{transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.foot-link:hover,.login-link:hover{transform:translateY(-1px);border-color:#d7e3f4;background:#fff;box-shadow:0 9px 22px rgba(15,23,42,.055)}

/* registration */
.register-shell{max-width:1680px;margin:0 auto;background:transparent}
.register-side{border:1px solid rgba(255,255,255,.08);background-image:radial-gradient(circle at 87% 10%,rgba(88,119,255,.34),transparent 30%),radial-gradient(circle at 10% 90%,rgba(32,207,170,.11),transparent 31%),linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(145deg,#061125,#10264a);background-size:auto,auto,44px 44px,44px 44px,auto}
.register-panel{background:rgba(255,255,255,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(222,230,240,.95);box-shadow:0 26px 70px rgba(15,23,42,.085)}
.step{transition:transform .16s ease,background .16s ease,border-color .16s ease}.step:hover{transform:translateX(2px);background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.11)}
.plan-switch{box-shadow:inset 0 1px 2px rgba(15,23,42,.025)}
.plan-switch input:checked+label{box-shadow:0 4px 12px rgba(34,74,156,.10),inset 0 0 0 1px rgba(59,120,255,.19)}
.secure-mark{box-shadow:0 8px 20px rgba(52,120,246,.09)}

/* workspace center */
.topbar{max-width:1480px;margin-left:auto;margin-right:auto;position:sticky;top:8px;z-index:30;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:linear-gradient(135deg,rgba(7,18,37,.97),rgba(16,36,72,.96) 72%,rgba(17,54,74,.96));box-shadow:0 20px 55px rgba(8,20,41,.17)}
.workspace-main{max-width:1320px}
.hero{background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(249,252,255,.94));box-shadow:0 20px 60px rgba(15,23,42,.07)}
.hero:after{width:360px;height:360px;right:-130px;top:-210px;background:radial-gradient(circle,rgba(52,120,246,.14),rgba(101,87,245,.04) 46%,transparent 70%)}
.stat{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.stat:hover{transform:translateY(-1px);border-color:#dce5f1;box-shadow:0 10px 25px rgba(15,23,42,.045)}
.workspace-card{border-color:#e1e8f1;box-shadow:0 14px 38px rgba(15,23,42,.052)}
.workspace-card:hover{transform:translateY(-3px);border-color:#d5e2f3;box-shadow:0 22px 52px rgba(15,23,42,.085)}
.mark{box-shadow:inset 0 0 0 1px rgba(52,120,246,.08),0 8px 18px rgba(52,120,246,.08)}
.detail{background:linear-gradient(180deg,#fafcfe,#f7f9fc)}
.quick-item:hover{transform:translateX(3px);border-color:#dce7f4;box-shadow:0 7px 20px rgba(15,23,42,.035)}

/* workspace-new */
.top,.side,.card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.side{border:1px solid rgba(255,255,255,.07);background-image:radial-gradient(circle at 88% 8%,rgba(90,126,255,.28),transparent 29%),linear-gradient(145deg,#071735,#11295a 62%,#25245f)}
.card{border-color:#e1e8f1;box-shadow:0 20px 58px rgba(18,39,78,.075)}

/* forgot password legacy card becomes consistent */
body>.card{border:1px solid rgba(224,231,240,.95);box-shadow:0 28px 80px rgba(6,18,43,.17)}
body>.card .brand{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef4ff;border:1px solid #dce8fb}
body>.card .input{min-height:50px;background:#fbfcfe}
body>.card .btn{min-height:50px;background:linear-gradient(95deg,var(--ctr14-blue),var(--ctr14-violet))}

@media(max-width:760px){
  body{background-attachment:scroll;background-image:linear-gradient(180deg,#f7faff,#fff 42%)}
  body:before{display:none}
  .portal-panel,.register-panel{background:#fff}
  .portal-shell,.register-shell{max-width:none}
  .brand-lockup{padding:8px 0 2px}
  .portal-panel{padding-top:max(20px,env(safe-area-inset-top))}
  .register-panel{padding-top:max(20px,env(safe-area-inset-top))}
  .topbar{top:6px;margin-left:7px;margin-right:7px}
  .workspace-main{padding-top:10px}
}
@media(max-width:420px){
  .foot-link,.login-link{min-height:48px}
  .login-box h2,.heading-copy h2{letter-spacing:-.035em}
  .topbar{border-radius:16px}
}
@media(prefers-reduced-motion:reduce){.step,.btn,.login-button,.register-primary,.foot-link,.login-link,.stat,.workspace-card,.quick-item{transition:none!important}.step:hover,.btn:hover,.login-button:hover,.register-primary:hover,.foot-link:hover,.login-link:hover,.stat:hover,.workspace-card:hover,.quick-item:hover{transform:none!important}}

/* page-scoped final polish */
.ctr-auth-page{min-width:0;overflow-x:hidden}
.ctr-auth-page .portal-shell,.ctr-register-page .register-shell{animation:ctr14PageIn .32s ease both}
.ctr-workspaces-page .workspace-main,.ctr-workspace-new-page .wrap{animation:ctr14PageIn .28s ease both}
.ctr-forgot-page{margin:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 16% 8%,rgba(52,120,246,.19),transparent 31%),radial-gradient(circle at 88% 88%,rgba(101,87,245,.13),transparent 32%),linear-gradient(145deg,#071225,#0d2142);color:#fff}
.ctr-forgot-page:before{z-index:0;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,#000,transparent 75%)}
.ctr-forgot-page>.card{position:relative;z-index:1;width:min(100%,470px);padding:34px;border-radius:26px;background:rgba(255,255,255,.98);color:#111827}
.ctr-workspace-new-page .top{background:rgba(5,18,44,.94);border-bottom:1px solid rgba(255,255,255,.06)}
.ctr-workspace-gateway .gateway{border-color:#dfe7f1;box-shadow:0 30px 90px rgba(15,23,42,.13)}
.ctr-workspace-gateway .visual{background-image:radial-gradient(circle at 88% 8%,rgba(91,125,255,.30),transparent 30%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(145deg,#061125,#102b58);background-size:auto,44px 44px,44px 44px,auto}
.ctr-workspace-gateway .panel{background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@keyframes ctr14PageIn{from{opacity:.01;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:760px){.ctr-auth-page .portal-shell,.ctr-register-page .register-shell,.ctr-workspaces-page .workspace-main,.ctr-workspace-new-page .wrap{animation:none}.ctr-forgot-page{padding:12px;background:linear-gradient(180deg,#eef5ff,#f8faff)}.ctr-forgot-page:before{display:none}.ctr-forgot-page>.card{padding:26px 20px;border-radius:22px}.ctr-workspace-gateway{padding:0}.ctr-workspace-gateway .gateway{width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.ctr-workspace-gateway .visual{min-height:205px}}
