/* TK Client Portal Theme — visual layer */
:root{--tk-blue:#443bff;--tk-violet:#6338ff;--tk-ink:#101426;--tk-muted:#687086;--tk-line:#e7e9f2;--tk-surface:#fff;--tk-soft:#f5f6fc;--tk-dark:#080d1d;--tk-radius:18px;--tk-shadow:0 18px 60px rgba(15,20,48,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f5f6fb;color:var(--tk-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.6}
a{color:var(--tk-blue);text-decoration:none}a:hover{color:#2c22da}
button,input,textarea,select{font:inherit}
.site-header{position:relative;z-index:20;background:rgba(8,13,29,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header-inner,.site-footer-inner{width:min(1240px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-header-inner{min-height:86px}
.site-brand,.footer-brand{display:flex;align-items:center;gap:13px;color:#fff;min-width:0}
.site-brand:hover,.footer-brand:hover{color:#fff}
.brand-symbol{width:42px;height:42px;display:grid;place-items:center;color:#5147ff;flex:none}
.brand-symbol svg{width:100%;height:100%}
.site-brand strong,.footer-brand strong{display:block;font-size:17px;line-height:1.2;font-weight:800;letter-spacing:.02em}
.site-brand small,.footer-brand small{display:block;font-size:9px;letter-spacing:.19em;opacity:.7;margin-top:4px}
.primary-navigation{display:flex;align-items:center;gap:30px}
.primary-navigation a{font-size:13px;font-weight:650;color:#d8dced;transition:color .2s}
.primary-navigation a:hover{color:#fff}
.primary-navigation .nav-cta,.nav-cta{background:linear-gradient(110deg,#4144ff,#6433f4);padding:12px 19px;border-radius:10px;color:#fff;box-shadow:0 8px 24px #453bff3b}
.nav-cta span{margin-left:10px}
.mobile-nav-toggle{display:none;background:transparent;border:0;padding:8px;color:#fff}
.mobile-nav-toggle span{display:block;width:23px;height:2px;background:#fff;margin:5px}
.site-content{width:min(1180px,calc(100% - 40px));margin:54px auto 80px;min-height:55vh}
.content-card{background:#fff;border:1px solid #e8eaf3;border-radius:20px;padding:clamp(26px,5vw,58px);box-shadow:var(--tk-shadow);max-width:100%}
.content-card>h1{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.045em;margin:0 0 24px}
.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--tk-blue);margin:0 0 12px}
.entry-content{min-width:0}
.button-link{display:inline-flex;gap:14px;align-items:center;background:linear-gradient(110deg,#4144ff,#6337f5);color:#fff;padding:13px 19px;border-radius:10px;font-weight:700}
.site-footer{background:#080d1d;color:#aeb6cb;padding:28px 0}
.site-footer-inner{min-height:70px;flex-wrap:wrap}
.footer-brand .brand-symbol{width:34px;height:34px}
.footer-brand strong{font-size:13px}
.footer-brand small{font-size:8px}
.site-footer p{font-size:12px;margin:0}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Portal page is an application, not a blog page: let the plugin own the entire canvas. */
body.tkcpt-app-page{background:#f4f6fb}
body.tkcpt-app-page .site-content{width:100%;max-width:none;margin:0;padding:0;min-height:100vh}
body.tkcpt-app-page .entry-content{margin:0}
body.tkcpt-app-page .content-card{padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
body.tkcpt-app-page .content-card>h1,body.tkcpt-app-page .content-card>.eyebrow{display:none}
body.tkcpt-app-page .site-header,body.tkcpt-app-page .site-footer{display:none}
body.tkcpt-app-page #content article{margin:0}
body.tkcpt-login-page{background:#080d1d}
body.tkcpt-login-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 14% 28%,rgba(86,57,164,.34),transparent 34%),radial-gradient(ellipse at 82% 18%,rgba(27,74,190,.3),transparent 35%),linear-gradient(140deg,#080d1d 0%,#11152e 48%,#080d1d 100%)}
body.tkcpt-login-page:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.38;background-image:linear-gradient(145deg,transparent 0 52%,rgba(63,80,180,.25) 52.2%,transparent 52.5%),linear-gradient(30deg,transparent 0 60%,rgba(133,68,255,.16) 60.2%,transparent 60.5%)}
body.tkcpt-login-page .site-content{position:relative;z-index:1;display:grid;place-items:center;margin:0 auto;padding:54px 20px;min-height:100vh;width:100%}
body.tkcpt-login-page .content-card{width:100%;max-width:470px;padding:0;background:transparent;border:0;box-shadow:none}
body.tkcpt-login-page .entry-content{display:flex;justify-content:center}
body.tkcpt-login-page .tkcp-login-wrap{width:100%;max-width:440px;padding:0;background:transparent!important;color:#fff}
body.tkcpt-login-page .tkcp-login-card{width:100%;padding:34px 32px 30px;background:rgba(255,255,255,.98);color:#121528;border:1px solid rgba(255,255,255,.5);border-radius:20px;box-shadow:0 25px 90px rgba(0,0,0,.34);text-align:center}
body.tkcpt-login-page .tkcp-mark{width:55px;height:55px;margin:0 auto 14px;border-radius:16px;background:linear-gradient(135deg,#4144ff,#7037f7);display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900;box-shadow:0 10px 28px #5141ff45}
body.tkcpt-login-page .tkcp-logo{max-width:160px;max-height:64px;object-fit:contain;margin:0 auto 15px}
body.tkcpt-login-page .tkcp-kicker{font-size:10px;letter-spacing:.2em;font-weight:800;color:#656b83;margin:0 0 8px}
body.tkcpt-login-page .tkcp-login-card h1{font-size:clamp(28px,4vw,34px);line-height:1.13;letter-spacing:-.045em;margin:0 0 10px;color:#101426}
body.tkcpt-login-page .tkcp-muted{font-size:13px;line-height:1.65;color:#60677b;margin:0 0 24px}
body.tkcpt-login-page .tkcp-login-card form{text-align:left}
body.tkcpt-login-page .tkcp-login-card label{display:block;text-align:left;font-size:12px;font-weight:700;color:#333a50;margin:14px 0}
body.tkcpt-login-page .tkcp-login-card input:not([type=hidden]){width:100%;min-height:47px;margin-top:7px;border:1px solid #e0e4ef;border-radius:10px;background:#f7f8fc;padding:11px 13px;color:#14192b;outline:none}
body.tkcpt-login-page .tkcp-login-card input:focus{border-color:#5547ff;box-shadow:0 0 0 3px #5141ff1c}
body.tkcpt-login-page .tkcp-button{width:100%;min-height:48px;border:0;border-radius:10px;background:linear-gradient(105deg,#4144ff,#6337f5);color:#fff;font-weight:750;cursor:pointer;box-shadow:0 8px 20px #5141ff30;transition:transform .2s,filter .2s}
body.tkcpt-login-page .tkcp-button:hover{filter:brightness(1.07);transform:translateY(-1px)}
body.tkcpt-login-page .tkcp-forgot{display:inline-block;font-size:12px;font-weight:650;margin-top:17px}
body.tkcpt-login-page .tkcp-error,body.tkcpt-login-page .tkcp-success{padding:10px 12px;border-radius:9px;font-size:12px}
body.tkcpt-login-page .tkcp-error{background:#fff0f0;color:#a51d37}
body.tkcpt-login-page .tkcp-success{background:#eafbf2;color:#117347}

/* Portal dashboard — preserve plugin functionality and style its real markup. */
.tkcp-app{--tkcp-accent:#4b40ff!important;--tkcp-bg:#f4f6fb!important;display:flex!important;min-height:100vh;background:#f4f6fb!important;color:#14182a!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.tkcp-app *{box-sizing:border-box}
.tkcp-sidebar{width:244px!important;min-width:244px!important;background:#090e1d!important;color:#e9ecf8!important;padding:24px 15px!important;display:flex!important;flex-direction:column!important;gap:24px!important}
.tkcp-brand{display:flex!important;align-items:center!important;gap:11px!important;padding:0 7px 14px!important;font-size:13px!important;font-weight:800!important;letter-spacing:.02em!important}
.tkcp-brand img{max-width:38px!important;max-height:38px!important;object-fit:contain}
.tkcp-brand .tkcp-mark{width:38px!important;height:38px!important;border-radius:11px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#4144ff,#7037f7)!important;color:#fff!important;font-weight:900!important}
.tkcp-sidebar nav{display:flex!important;flex-direction:column!important;gap:7px!important}
.tkcp-sidebar nav a{display:flex!important;align-items:center!important;gap:12px!important;color:#c7cde0!important;padding:12px 13px!important;border-radius:10px!important;font-size:13px!important;font-weight:600!important;transition:background .2s,color .2s!important}
.tkcp-sidebar nav a:before{content:"◈";font-size:18px;color:#a7b0ce}
.tkcp-sidebar nav a.active,.tkcp-sidebar nav a:hover{background:linear-gradient(105deg,#4144ff,#5c37f7)!important;color:#fff!important}
.tkcp-sidebar nav a.active:before,.tkcp-sidebar nav a:hover:before{color:#fff}
.tkcp-side-bottom{margin-top:auto!important;border-top:1px solid #ffffff16!important;padding:18px 7px 0!important;display:flex!important;flex-direction:column!important;gap:12px!important;font-size:12px!important;color:#d8dced!important}
.tkcp-side-bottom a{color:#c6c9ff!important}
.tkcp-side-bottom form{margin:0!important}
.tkcp-side-bottom button{background:transparent!important;border:0!important;color:#c7cde0!important;padding:8px 0!important;cursor:pointer!important;text-align:left!important}
.tkcp-main{flex:1!important;min-width:0!important;padding:26px clamp(18px,3vw,42px) 48px!important}
.tkcp-topbar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;padding:0 0 25px!important;border-bottom:1px solid #e5e8f1!important;margin-bottom:25px!important}
.tkcp-topbar h1{font-size:clamp(25px,3vw,38px)!important;line-height:1.12!important;letter-spacing:-.045em!important;margin:0 0 7px!important;color:#111629!important}
.tkcp-topbar p{font-size:13px!important;color:#737a90!important;margin:0!important}
.tkcp-topbar .tkcp-kicker{font-size:10px!important;letter-spacing:.19em!important;font-weight:800!important;color:#5147ff!important}
.tkcp-avatar{width:44px!important;height:44px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#e8e9ff,#d8dcff)!important;color:#3930d6!important;font-weight:800!important;border:3px solid #fff!important;box-shadow:0 2px 12px #121a3020!important;flex:none!important}
.tkcp-stat-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-bottom:24px!important}
.tkcp-stat,.tkcp-panel,.tkcp-content-section{background:#fff!important;border:1px solid #e8eaf3!important;border-radius:15px!important;box-shadow:0 5px 22px rgba(24,31,69,.035)!important}
.tkcp-stat{padding:20px!important;display:flex!important;flex-direction:column!important;gap:7px!important}
.tkcp-stat span{font-size:12px!important;color:#717990!important;font-weight:650!important}
.tkcp-stat strong{font-size:30px!important;line-height:1!important;color:#111629!important;letter-spacing:-.04em!important}
.tkcp-content-section{padding:23px!important;margin:0 0 20px!important;scroll-margin-top:22px}
.tkcp-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;margin-bottom:16px!important}
.tkcp-section-head h2{font-size:20px!important;letter-spacing:-.03em!important;margin:0!important;color:#14182a!important}
.tkcp-section-head .tkcp-kicker{font-size:9px!important;letter-spacing:.17em!important;color:#6c7390!important;font-weight:800!important}
.tkcp-item-list{display:flex!important;flex-direction:column!important}
.tkcp-item{display:flex!important;align-items:center!important;gap:14px!important;padding:16px 2px!important;border-bottom:1px solid #edf0f6!important;min-width:0!important}
.tkcp-item:last-child{border-bottom:0!important}
.tkcp-item-icon{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;flex:none!important;border-radius:12px!important;background:#f0efff!important;color:#4b40ff!important;font-size:21px!important}
.tkcp-item-body{flex:1!important;min-width:0!important}
.tkcp-item h3{font-size:14px!important;line-height:1.35!important;margin:0 0 5px!important;color:#15192b!important}
.tkcp-item p{font-size:12px!important;color:#777e92!important;margin:0 0 5px!important;line-height:1.6!important}
.tkcp-item a{font-size:12px!important;font-weight:700!important}
.tkcp-pill{display:inline-flex!important;align-items:center!important;border-radius:30px!important;padding:5px 10px!important;background:#eeefff!important;color:#4438df!important;font-size:10px!important;font-weight:750!important;white-space:nowrap!important}
.tkcp-empty{padding:20px!important;border:1px dashed #dfe3ef!important;border-radius:11px!important;color:#7a8196!important;font-size:13px!important;text-align:center!important}
.tkcp-panel{padding:20px!important;margin:18px 0!important}
.tkcp-panel h3{font-size:16px!important;margin:0 0 15px!important}
.tkcp-panel form{display:grid!important;gap:12px!important}
.tkcp-panel label{display:grid!important;gap:6px!important;font-size:12px!important;font-weight:700!important;color:#555d73!important}
.tkcp-panel input,.tkcp-panel textarea,.tkcp-panel select{width:100%!important;border:1px solid #e1e5f0!important;border-radius:9px!important;background:#fafbfe!important;padding:11px 12px!important;color:#161a2c!important}
.tkcp-panel input:focus,.tkcp-panel textarea:focus,.tkcp-panel select:focus{outline:0!important;border-color:#5a4bff!important;box-shadow:0 0 0 3px #5141ff16!important}
.tkcp-app .tkcp-button{border:0!important;border-radius:9px!important;background:linear-gradient(105deg,#4144ff,#6337f5)!important;color:#fff!important;font-weight:750!important;padding:12px 17px!important;cursor:pointer!important}
.tkcp-success{padding:12px 15px!important;border-radius:10px!important;background:#eafbf2!important;color:#087646!important;font-size:13px!important}
.tkcp-error{padding:12px 15px!important;border-radius:10px!important;background:#fff0f1!important;color:#a21c37!important;font-size:13px!important}
@media(max-width:1000px){.tkcp-sidebar{width:205px!important;min-width:205px!important}.tkcp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tkcp-main{padding:22px 20px 35px!important}}
@media(max-width:700px){.site-header-inner,.site-footer-inner{width:calc(100% - 30px)}.site-header-inner{min-height:72px}.mobile-nav-toggle{display:block;cursor:pointer}.primary-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 20px 22px;background:#090e1d;border-top:1px solid #ffffff18;align-items:stretch;flex-direction:column;gap:18px}.primary-navigation.is-open{display:flex}.site-content{width:calc(100% - 24px);margin:25px auto 40px}.content-card{padding:25px 20px}.site-footer-inner{justify-content:center;text-align:center}.tkcp-app{display:block!important}.tkcp-sidebar{width:100%!important;min-width:0!important;padding:12px 14px!important;gap:10px!important}.tkcp-brand{padding:0 4px 8px!important}.tkcp-sidebar nav{display:flex!important;flex-direction:row!important;overflow:auto!important;gap:6px!important;padding-bottom:3px!important}.tkcp-sidebar nav a{white-space:nowrap!important;padding:10px 12px!important;font-size:12px!important}.tkcp-sidebar nav a:before{display:none!important}.tkcp-side-bottom{display:none!important}.tkcp-main{padding:18px 13px 30px!important}.tkcp-topbar{align-items:flex-start!important;padding-bottom:18px!important;margin-bottom:17px!important}.tkcp-topbar h1{font-size:26px!important}.tkcp-topbar p{font-size:12px!important}.tkcp-stat-grid{gap:9px!important;margin-bottom:14px!important}.tkcp-stat{padding:15px!important}.tkcp-stat strong{font-size:25px!important}.tkcp-content-section{padding:16px!important}.tkcp-section-head h2{font-size:18px!important}.tkcp-item{align-items:flex-start!important;gap:10px!important}.tkcp-item-icon{width:36px!important;height:36px!important}.tkcp-pill{font-size:9px!important;padding:4px 7px!important}.tkcp-login-card{padding:27px 21px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
