:root{--ctb-green:#087f5b;--ctb-green-dark:#075f46;--ctb-mint:#e9f8f2;--ctb-ink:#16332a;--ctb-muted:#687b74;--ctb-border:#dce9e4;--ctb-danger:#dc3545;--ctb-shadow:0 24px 70px rgba(20,64,50,.14)}
html.ctb-account-page,html.ctb-account-page body{min-height:100%}
html.ctb-account-page body.account-body,html.ctb-account-page body.ctb-system-body{margin:0;color:var(--ctb-ink);background:radial-gradient(circle at 12% 8%,rgba(89,210,164,.2),transparent 30%),radial-gradient(circle at 90% 90%,rgba(8,127,91,.12),transparent 28%),#f4f8f6;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.account-shell{width:100%;min-height:100vh;display:grid;place-items:center;padding:clamp(18px,4vw,48px)}
.account-card{width:min(100%,470px);background:rgba(255,255,255,.96);border:1px solid rgba(210,228,221,.9);border-radius:24px;box-shadow:var(--ctb-shadow);overflow:hidden}
.account-card.account-card-wide{width:min(100%,760px)}
.account-card.account-card-register{width:min(100%,900px)}
.account-card__header{padding:30px 30px 16px;text-align:center}
.account-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;color:var(--ctb-green-dark);font-weight:800;text-decoration:none}
.account-brand img{width:58px;height:58px;object-fit:contain}
.account-card__icon{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;background:var(--ctb-mint);color:var(--ctb-green);font-size:1.65rem}
.account-card h1{font-size:clamp(1.45rem,3vw,1.85rem);font-weight:800;letter-spacing:-.025em;margin:0 0 7px}
.account-subtitle{color:var(--ctb-muted);margin:0;line-height:1.55}
.account-card__body{padding:18px 30px 30px}
.account-field{position:relative;margin-bottom:15px}
.account-field>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2;color:#7a8e86}
.account-field .form-control{min-height:50px;padding:11px 44px;border:1px solid var(--ctb-border);border-radius:13px;background:#fbfdfc;color:var(--ctb-ink)}
.account-field .form-control:focus,.account-card .form-control:focus{border-color:#49a985;box-shadow:0 0 0 4px rgba(8,127,91,.1)}
.account-field__toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#71857d;width:38px;height:38px;border-radius:10px}
.account-field__toggle:hover{background:#edf7f3;color:var(--ctb-green)}
.account-btn{min-height:50px;border-radius:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn-ctb{color:#fff;background:linear-gradient(135deg,var(--ctb-green),#0ba978);border-color:transparent;box-shadow:0 10px 24px rgba(8,127,91,.2)}
.btn-ctb:hover,.btn-ctb:focus{color:#fff;background:linear-gradient(135deg,var(--ctb-green-dark),var(--ctb-green));transform:translateY(-1px)}
.account-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#899a94;font-size:.82rem}
.account-divider::before,.account-divider::after{content:"";height:1px;flex:1;background:var(--ctb-border)}
.account-social{min-height:48px;border:1px solid var(--ctb-border);border-radius:13px;background:#fff;color:var(--ctb-ink);font-weight:650;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}
.account-social:hover{background:#f5faf8;border-color:#b9d9cd;color:var(--ctb-green-dark)}
.account-social img{width:20px;height:20px;object-fit:contain}
.account-register-fast{padding:20px;border:1px solid #cfe7de;border-radius:18px;background:linear-gradient(135deg,#f4fcf8,#fff)}
.account-register-fast__copy{text-align:center}.account-register-fast__copy h2{margin:3px 0 6px;font-size:1.15rem;font-weight:800}.account-register-fast__copy p{max-width:650px;margin:0 auto 16px;color:var(--ctb-muted);font-size:.88rem;line-height:1.55}
.account-eyebrow{color:var(--ctb-green);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.account-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-social-grid .account-social{min-height:52px}
.account-social--google i{color:#db4437}.account-social--facebook{border-color:#cbdcf5;color:#1459a6}.account-social--facebook i{color:#1877f2}.account-social--facebook:hover{border-color:#8fb4e9;color:#104b8d;background:#f5f9ff}
.account-social-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:13px;color:#60756d;font-size:.78rem}.account-social-hint i{color:var(--ctb-green)}
.account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}.account-form-grid__full{grid-column:1/-1}
.account-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:.9rem}
.account-links a{color:var(--ctb-green);font-weight:650;text-decoration:none}
.account-links a:hover{text-decoration:underline}
.account-note{background:#f6faf8;border:1px solid var(--ctb-border);border-radius:14px;padding:14px 16px;color:#536860;font-size:.86rem;line-height:1.5}
.account-alert{border:0;border-radius:13px;display:flex;gap:10px;align-items:flex-start}
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.role-card{display:block;cursor:pointer;position:relative;height:100%}.role-card input{position:absolute;opacity:0;pointer-events:none}
.role-box{height:100%;padding:17px 10px;text-align:center;border:1.5px solid var(--ctb-border);border-radius:15px;background:#fff;transition:.18s ease;font-weight:650}
.role-box i{display:block;margin-bottom:7px;font-size:1.45rem;color:var(--ctb-green)}
.role-card:hover .role-box{border-color:#86c8af;transform:translateY(-2px)}
.role-card input:checked+.role-box{border-color:var(--ctb-green);background:var(--ctb-mint);box-shadow:0 0 0 3px rgba(8,127,91,.1)}
.profile-page{padding:28px 0 100px}.profile-hero{background:linear-gradient(135deg,#087f5b,#0ba978);color:#fff;border-radius:22px;padding:24px;margin-bottom:20px;display:flex;align-items:center;gap:18px;box-shadow:0 18px 44px rgba(8,127,91,.2)}
.profile-hero__avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.75);background:#fff}
.profile-hero h1{font-size:clamp(1.45rem,3vw,2rem);font-weight:800;margin:0 0 5px}.profile-hero p{margin:0;opacity:.86}
.profile-card{height:100%;border:1px solid var(--ctb-border);border-radius:20px;box-shadow:0 12px 34px rgba(25,62,49,.07);overflow:hidden}
.profile-card .card-header{padding:18px 20px;background:#fff;border-bottom:1px solid var(--ctb-border);font-size:1.05rem}.profile-card .card-body{padding:20px}
.profile-card .form-label{font-size:.86rem;font-weight:700;color:#536860}.profile-card .form-control{min-height:47px;border-radius:12px;border-color:var(--ctb-border)}
.ctb-system-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.ctb-system-card{width:min(100%,520px);padding:clamp(26px,5vw,42px);text-align:center;background:#fff;border:1px solid var(--ctb-border);border-radius:24px;box-shadow:var(--ctb-shadow)}
.ctb-system-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:22px;background:var(--ctb-mint);color:var(--ctb-green);display:grid;place-items:center;font-size:2rem}.ctb-system-card h1{font-size:clamp(1.4rem,4vw,1.9rem);font-weight:800}.ctb-system-card p{color:var(--ctb-muted);line-height:1.6}.ctb-system-progress{height:6px;border-radius:99px;background:#e7f0ec;overflow:hidden;margin:24px 0}.ctb-system-progress span{display:block;height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--ctb-green),#3dc89a);animation:ctb-countdown 1.6s linear forwards}.ctb-system-spinner{width:34px;height:34px;border:3px solid #cae8dd;border-top-color:var(--ctb-green);border-radius:50%;animation:ctb-spin .75s linear infinite;margin:0 auto 14px}@keyframes ctb-spin{to{transform:rotate(360deg)}}@keyframes ctb-countdown{to{transform:scaleX(0)}}
@media(max-width:575.98px){.account-shell{padding:12px;align-items:start}.account-card{margin-top:10px;border-radius:20px}.account-card__header{padding:24px 20px 12px}.account-card__body{padding:16px 20px 24px}.account-register-fast{padding:16px 13px}.account-social-grid,.account-form-grid{grid-template-columns:1fr}.account-form-grid__full{grid-column:auto}.account-social-hint{align-items:flex-start;text-align:left}.role-grid{gap:9px}.profile-page{padding-top:16px}.profile-hero{align-items:flex-start;padding:18px;border-radius:18px}.profile-hero__avatar{width:72px;height:72px}.profile-card{border-radius:16px}.ctb-system-card{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.role-box,.account-btn{transition:none}.ctb-system-spinner,.ctb-system-progress span{animation:none}}
