:root { --kitakale-purple:#5a24a6; --kitakale-purple-dark:#42187f; --kitakale-yellow:#ffb900; --ink:#241b32; --muted:#6f6878; --surface:#f8f7fa; }
* { box-sizing:border-box; }
body { color:var(--ink); background:var(--surface); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.brand { display:inline-flex; align-items:center; text-decoration:none; }
.brand-logo { display:block; width:auto; height:2.35rem; object-fit:contain; }
.eyebrow { margin-bottom:.45rem; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.btn-primary { --bs-btn-bg:var(--kitakale-purple); --bs-btn-border-color:var(--kitakale-purple); --bs-btn-hover-bg:var(--kitakale-purple-dark); --bs-btn-hover-border-color:var(--kitakale-purple-dark); }
.btn-outline-primary { --bs-btn-color:var(--kitakale-purple); --bs-btn-border-color:var(--kitakale-purple); --bs-btn-hover-bg:var(--kitakale-purple); --bs-btn-hover-border-color:var(--kitakale-purple); }
a:focus-visible, button:focus-visible, input:focus-visible { outline:3px solid rgba(255,185,0,.65); outline-offset:3px; }
.login-page { min-height:100vh; background:linear-gradient(135deg,#f8f7fa,#ede6f7); }
.login-wrap { display:grid; min-height:100vh; place-items:center; }
.login-card { max-width:960px; overflow:hidden; border-radius:1.25rem; background:#fff; }
.login-aside { min-height:450px; background:var(--kitakale-purple); }
.login-aside .brand-logo { height:3rem; }
.login-form { max-width:390px; }
.form-control:focus { border-color:var(--kitakale-purple); box-shadow:0 0 0 .25rem rgba(90,36,166,.15); }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:10; width:255px; padding:2rem 1.2rem; background:var(--kitakale-purple); }
.sidebar .brand-logo { width:100%; height:auto; }
.sidebar-link, .mobile-nav-link { display:flex; align-items:center; gap:.85rem; width:100%; margin-bottom:.3rem; padding:.8rem .9rem; border-radius:.65rem; color:#fff; text-decoration:none; }
.sidebar-link small, .mobile-nav-link small { margin-left:auto; font-size:.65rem; opacity:.6; }
.sidebar-link.is-active { background:rgba(255,255,255,.16); }
.sidebar-link.is-disabled, .mobile-nav-link.is-disabled { cursor:not-allowed; opacity:.55; }
.logout-form { margin:0; }
.logout-form button { border:0; background:transparent; text-align:left; font:inherit; }
.logout-link { color:#ffe28a; }
.app-main { min-height:100vh; margin-left:255px; }
.topbar { position:sticky; top:0; z-index:5; }
.journey-section { padding:1.5rem; border-radius:1rem; background:#fff; box-shadow:0 .3rem 1.5rem rgba(33,20,55,.06); }
.section-icon, .feature-icon { display:grid; width:2.6rem; height:2.6rem; place-items:center; border-radius:.75rem; background:#f0e9fa; color:var(--kitakale-purple); }
.journey-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.75rem; }
.journey-step { min-height:105px; padding:1rem; border:1px solid #eee8f7; border-radius:.8rem; background:#fbf9fe; }
.journey-step span { display:block; margin-bottom:.7rem; color:var(--kitakale-purple); font-size:.8rem; font-weight:800; }
.journey-step strong { display:block; font-size:.9rem; line-height:1.2; }
.feature-card { position:relative; padding:1.4rem; border:1px solid #eeeaf2; border-radius:1rem; background:#fff; box-shadow:0 .2rem 1rem rgba(33,20,55,.04); }
.coming-soon { position:absolute; top:1.4rem; right:1.2rem; padding:.25rem .5rem; border-radius:99px; background:#fff4d6; color:#8a6000; font-size:.68rem; font-weight:700; }
.user-badge { align-items:center; gap:.5rem; padding:.55rem .85rem; border:1px solid #eeeaf2; border-radius:99px; background:#fff; color:var(--muted); white-space:nowrap; }
.mobile-nav-link { color:var(--ink); }
.mobile-nav-link.is-disabled { color:var(--muted); }
.mobile-nav-link.is-active { background:#f0e9fa; color:var(--kitakale-purple); font-weight:700; }
.feature-card-link { display:block; color:inherit; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.feature-card-link:hover { color:inherit; transform:translateY(-2px); box-shadow:0 .5rem 1.2rem rgba(33,20,55,.1); }
.start-label { position:absolute; top:1.4rem; right:1.2rem; color:var(--kitakale-purple); font-size:.75rem; font-weight:700; }
.start-here-page { max-width:1440px; }
.start-here-hero { max-width:760px; margin-bottom:2rem; }
.start-here-hero .lead { max-width:700px; }
.journey-context { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1rem 1.2rem; margin-bottom:2.5rem; border:1px solid #e8dff3; border-radius:1rem; background:#fff; }
.journey-context-path { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; color:var(--muted); font-size:.78rem; }
.journey-context-path i { color:var(--kitakale-purple); font-size:.65rem; }
.journey-context-current { flex:0 0 auto; padding:.5rem .75rem; border-radius:.6rem; background:#f0e9fa; color:var(--kitakale-purple); font-size:.85rem; }
.content-card,.example-card,.student-section { padding:1.5rem; border:1px solid #eeeaf2; border-radius:1rem; background:#fff; box-shadow:0 .2rem 1rem rgba(33,20,55,.04); }
.comparison { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.25rem 0; }
.comparison div { padding:1rem; border-radius:.75rem; background:#fbf9fe; }
.comparison div:first-child { border-left:3px solid #c8bdcf; }
.comparison div:last-child { border-left:3px solid var(--kitakale-yellow); }
.comparison span,.journey-label { color:var(--kitakale-purple); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.comparison p { margin:.4rem 0 0; font-weight:600; }
.principle { padding-left:1rem; border-left:4px solid var(--kitakale-yellow); color:var(--kitakale-purple); font-weight:800; }
.client-quote,.response-quote { padding:.85rem 1rem; border-radius:.7rem; font-weight:600; }
.client-quote { background:#f7f4fa; }.response-quote { background:#fff5d9; }
.journey-card { display:flex; gap:1rem; padding:1.25rem; border:1px solid #eeeaf2; border-radius:1rem; background:#fff; }
.journey-card-link { color:inherit; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }.journey-card-link:hover { color:inherit; transform:translateY(-2px); box-shadow:0 .5rem 1.2rem rgba(33,20,55,.1); }.future-item-active { color:var(--kitakale-purple); font-weight:700; }
.journey-card-number { flex:0 0 auto; display:grid; width:2.5rem; height:2.5rem; place-items:center; border-radius:.7rem; background:var(--kitakale-purple); color:#fff; font-size:.82rem; font-weight:800; }
.future-item { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.35rem; color:var(--muted); font-size:.8rem; }
.future-item small,.cta-disabled small { padding:.2rem .45rem; border-radius:99px; background:#fff4d6; color:#8a6000; font-size:.66rem; font-weight:700; }
.rule-card { padding:1.1rem; border-top:3px solid var(--kitakale-purple); border-radius:.8rem; background:#fff; box-shadow:0 .2rem 1rem rgba(33,20,55,.04); }
.rule-card > span { display:block; margin-bottom:.7rem; color:var(--kitakale-purple); font-size:.67rem; font-weight:800; letter-spacing:.09em; }
.student-flow { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.student-flow span { padding:.45rem .65rem; border-radius:.5rem; background:#f0e9fa; color:var(--kitakale-purple); font-size:.82rem; font-weight:700; }.student-flow i { color:var(--kitakale-yellow); }
.final-cta { padding:2rem; border-radius:1rem; background:var(--kitakale-purple); color:#fff; }.final-cta .eyebrow { color:var(--kitakale-yellow) !important; }.cta-disabled { display:inline-flex; flex-wrap:wrap; align-items:center; gap:.5rem; padding:.65rem .8rem; border-radius:.65rem; background:rgba(255,255,255,.14); color:#fff; font-size:.9rem; }
@media (max-width:991.98px) { .app-main { margin-left:0; } .journey-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:767.98px) { .journey-context { align-items:flex-start; flex-direction:column; }.journey-context-current { width:100%; }.comparison { grid-template-columns:1fr; }.student-flow { align-items:flex-start; flex-direction:column; }.student-flow i { transform:rotate(90deg); margin-left:1rem; } }
@media (max-width:575.98px) { .login-card { border-radius:1rem; } .login-aside { min-height:auto; } .journey-section { padding:1.2rem; } .journey-grid { grid-template-columns:repeat(2,1fr); } .journey-step { min-height:90px; } .coming-soon,.start-label { position:static; display:inline-block; margin-top:.9rem; }.feature-icon { margin-top:.5rem; }.journey-card { padding:1rem; }.final-cta { padding:1.5rem; } }
.cta-action { display:inline-flex; align-items:center; gap:.5rem; padding:.65rem .8rem; border-radius:.65rem; background:#fff; color:var(--kitakale-purple); font-size:.9rem; font-weight:800; text-decoration:none; }
.dashboard-discovery { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.4rem 1.5rem; border:1px solid #e8dff3; border-radius:1rem; background:#fff; }
.calculator-guidance { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; margin:0 0 1.5rem; border-radius:.8rem; background:#f0e9fa; }
.next-step-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border-radius:.75rem; background:#f0e9fa; }.next-step-card p { color:var(--muted); font-size:.9rem; }
.document-filters { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.5rem; }.document-filter { padding:.45rem .75rem; border:1px solid #d9cbea; border-radius:99px; background:#fff; color:var(--kitakale-purple); font-size:.85rem; font-weight:700; }.document-filter.is-active { border-color:var(--kitakale-purple); background:var(--kitakale-purple); color:#fff; }.support-filter { border-style:dashed; }.document-card { display:flex; flex-direction:column; padding:1.3rem; border:1px solid #eeeaf2; border-radius:1rem; background:#fff; box-shadow:0 .2rem 1rem rgba(33,20,55,.04); }.stage-badge { padding:.3rem .5rem; border-radius:.45rem; background:#f0e9fa; color:var(--kitakale-purple); font-size:.7rem; font-weight:800; }.format-badge { padding:.25rem .4rem; border:1px solid #e5ddef; border-radius:.35rem; color:var(--muted); font-size:.68rem; font-weight:800; }.document-when { padding:.75rem; border-radius:.6rem; background:#fbf9fe; font-size:.88rem; }.static-status { position:static; display:inline-flex; align-items:center; gap:.3rem; margin-top:0; }.legal-note { padding:.8rem; border-left:3px solid var(--kitakale-yellow); background:#fffbeb; color:#735000; font-size:.9rem; }.document-flow { padding:1.5rem; margin-top:2rem; border-radius:1rem; background:#f0e9fa; }.document-flow > div { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; font-size:.9rem; font-weight:700; }.document-flow i { color:var(--kitakale-purple); font-size:.7rem; }
.invoice-items-wrap { overflow-x:auto; }.invoice-items-table { min-width:620px; }.invoice-items-table th { color:var(--muted); font-size:.78rem; }.invoice-preview { padding:2rem; margin-top:2rem; border:1px solid #ded5e8; border-radius:1rem; background:#fff; box-shadow:0 .3rem 1.5rem rgba(33,20,55,.06); }.invoice-preview-head { display:flex; justify-content:space-between; gap:1rem; padding-bottom:1.5rem; border-bottom:3px solid var(--kitakale-purple); }.invoice-title { margin:0; color:var(--kitakale-purple); font-size:2rem; font-weight:900; letter-spacing:.05em; }.invoice-meta { text-align:right; font-size:.9rem; }.invoice-parties { padding:1.5rem 0; }.invoice-project { padding:.75rem; margin-bottom:1.25rem; border-radius:.5rem; background:#f8f5fc; font-weight:700; }.invoice-total { width:min(100%,360px); margin-left:auto; }.invoice-total > div { display:flex; justify-content:space-between; gap:1rem; padding:.5rem 0; }.invoice-total .grand { padding-top:.8rem; margin-top:.3rem; border-top:2px solid var(--ink); color:var(--kitakale-purple); font-size:1.1rem; }.invoice-extra { padding:1rem; margin-top:1rem; border-radius:.7rem; background:#fbf9fe; }.invoice-preview footer { padding-top:1.5rem; color:var(--muted); font-size:.72rem; text-align:center; }
.resource-filters { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.5rem; }.resource-filter { padding:.45rem .75rem; border:1px solid #d9cbea; border-radius:99px; background:#fff; color:var(--kitakale-purple); font-size:.85rem; font-weight:700; }.resource-filter.is-active { border-color:var(--kitakale-purple); background:var(--kitakale-purple); color:#fff; }.resource-card { display:flex; flex-direction:column; padding:1.3rem; border:1px solid #eeeaf2; border-radius:1rem; background:#fff; box-shadow:0 .2rem 1rem rgba(33,20,55,.04); }.resource-purpose { padding:.75rem; border-radius:.6rem; background:#fbf9fe; font-size:.88rem; }.resource-content-list li { margin-bottom:.45rem; }.starter-stack,.toolbox { padding:1.5rem; margin-top:2rem; border-radius:1rem; background:#f0e9fa; }.starter-stack strong,.starter-stack span { display:block; }.starter-stack span { margin-top:.25rem; color:var(--muted); font-size:.9rem; }
.calculator-intro { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; margin-bottom:1rem; border:1px solid #e8dff3; border-radius:.8rem; background:#fff; }.calculator-intro span { display:block; color:var(--muted); font-size:.87rem; }.calculator-intro a { color:var(--kitakale-purple); font-weight:700; text-decoration:none; }.calculator-disclaimer { padding:.9rem 1rem; border-left:3px solid var(--kitakale-yellow); border-radius:.5rem; background:#fffbeb; color:#735000; font-size:.9rem; }.calculator-tabs { display:flex; gap:.5rem; padding:.35rem; margin-bottom:1rem; border-radius:.9rem; background:#eee8f4; }.calculator-tab { flex:1; padding:.7rem 1rem; border:0; border-radius:.65rem; background:transparent; color:var(--muted); font-weight:800; text-align:left; }.calculator-tab small { display:block; font-weight:500; }.calculator-tab.is-active { background:#fff; color:var(--kitakale-purple); box-shadow:0 .15rem .6rem rgba(33,20,55,.1); }.estimate-panel { position:sticky; top:1.5rem; padding:1.5rem; border-radius:1rem; background:#fff; box-shadow:0 .3rem 1.5rem rgba(33,20,55,.08); }.estimated-price { margin:.25rem 0; color:var(--kitakale-purple); font-size:2rem; font-weight:900; }.financial-list { margin:1.5rem 0; }.financial-list div { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-bottom:1px solid #eeeaf2; }.financial-list dt { color:var(--muted); font-weight:500; }.financial-list dd { margin:0; font-weight:800; text-align:right; }.breakdown-wrap { padding-top:1rem; }.effort-breakdown { padding:0; margin:0; list-style:none; }.effort-breakdown li { display:flex; justify-content:space-between; gap:.75rem; padding:.35rem 0; font-size:.88rem; }.pricing-lesson { padding:1.5rem; margin-top:2rem; border-radius:1rem; background:#f0e9fa; }.summary-row { display:flex; justify-content:space-between; gap:1rem; padding:.65rem 0; border-bottom:1px solid #eeeaf2; }.summary-row span { text-align:right; }
.discovery-page .container-fluid { max-width:1160px; }.privacy-note { display:flex; gap:.65rem; padding:.9rem 1rem; border-radius:.75rem; background:#fff5d9; color:#735000; font-size:.9rem; }.privacy-note i { margin-top:.15rem; }
.discovery-section { padding:1.5rem; margin-bottom:1rem; border:1px solid #eeeaf2; border-radius:1rem; background:#fff; box-shadow:0 .2rem 1rem rgba(33,20,55,.04); }.section-heading { display:flex; align-items:center; gap:.85rem; margin-bottom:1.4rem; }.section-heading > span { display:grid; width:2.25rem; height:2.25rem; place-items:center; border-radius:.65rem; background:var(--kitakale-purple); color:#fff; font-size:.8rem; font-weight:800; }.form-label,.form-check-label { font-weight:650; }.form-label span { color:#b42318; }.form-check-input:checked { background-color:var(--kitakale-purple); border-color:var(--kitakale-purple); }.check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem 1rem; }.educational-note { padding:.65rem .85rem; border-left:3px solid var(--kitakale-yellow); background:#fffbeb; color:#735000; font-size:.88rem; }.internal-notes { border-color:#ded0ef; background:#fbf9fe; }.discovery-actions { padding:1rem 0 2rem; }.discovery-summary { padding:1.75rem; border:2px solid var(--kitakale-purple); border-radius:1rem; background:#fff; }.summary-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1rem; margin-bottom:1.5rem; border-bottom:1px solid #e9e3ed; }.summary-section { padding:1rem 0; border-bottom:1px solid #eeeaf2; }.summary-section:last-child { border-bottom:0; }.summary-section h3 { margin:0 0 .75rem; color:var(--kitakale-purple); font-size:1.05rem; font-weight:800; }.summary-section div { margin-bottom:.7rem; }.summary-section p { margin:.15rem 0 0; color:#4f475a; }.summary-actions { display:flex; justify-content:flex-end; }
@media (max-width:767.98px) { .check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dashboard-discovery { align-items:flex-start; flex-direction:column; }.dashboard-discovery .btn { width:100%; } }
@media (max-width:767.98px) { .calculator-intro,.calculator-guidance { align-items:flex-start; flex-direction:column; }.estimate-panel { position:static; }.summary-row { align-items:flex-start; flex-direction:column; gap:.2rem; }.summary-row span { text-align:left; } }
@media (max-width:767.98px) { .next-step-card { align-items:flex-start; flex-direction:column; }.next-step-card .btn { width:100%; } }
@media (max-width:575.98px) { .final-cta,.discovery-section,.discovery-summary { padding:1.2rem; }.check-grid { grid-template-columns:1fr; }.summary-head { flex-direction:column; }.summary-actions .btn,.discovery-actions .btn { width:100%; } }
@media (max-width:575.98px) { .invoice-preview { padding:1.2rem; }.invoice-preview-head { flex-direction:column; }.invoice-meta { text-align:left; } }
@media print { @page { size:A4; margin:15mm; } body { background:#fff; font-size:11pt; }.sidebar,.topbar,.offcanvas,.journey-context,.privacy-note,#discoveryForm,#calculatorForm,#invoiceForm,.calculator-intro,.calculator-page header,.calculator-page > .container-fluid > .row,.invoice-page header,.invoice-page .calculator-disclaimer,.invoice-page .pricing-lesson,.pricing-lesson,.summary-actions { display:none !important; }.app-main { margin:0; }.discovery-page .container-fluid,.calculator-page .container-fluid,.invoice-page .container-fluid { max-width:none; padding:0 !important; }.discovery-page header { display:none; }.discovery-summary { display:block !important; padding:0; border:0; box-shadow:none; }.summary-section { break-inside:avoid; }.summary-section h3 { color:#241b32; }.invoice-preview { display:block !important; padding:0; margin:0; border:0; box-shadow:none; }.invoice-print-table { font-size:10pt; }.invoice-print-table tr { break-inside:avoid; } }
