:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color:#1a1a1a;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;font-size:18px}h1{font-size:2.5rem;line-height:1.2;font-weight:700;color:#1a1a1a;margin-bottom:1rem}h2{font-size:2rem;line-height:1.3;font-weight:600;color:#2c2c2c;margin-bottom:1rem}h3{font-size:1.5rem;line-height:1.4;font-weight:600;color:#2c2c2c;margin-bottom:.75rem}p{font-size:1.1rem;line-height:1.6;margin-bottom:.75rem}button{font-family:inherit;font-size:1.1rem;font-weight:600;padding:1rem 2rem;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s ease;min-height:50px}button:disabled{opacity:.6;cursor:not-allowed}button:focus-visible{outline:3px solid #0066cc;outline-offset:2px}input,textarea{font-family:inherit;font-size:1.1rem;padding:.875rem 1rem;border:2px solid #ccc;border-radius:6px;width:100%;transition:border-color .2s ease}input:focus,textarea:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}input:disabled,textarea:disabled{background-color:#f0f0f0;cursor:not-allowed}label{font-size:1.1rem;font-weight:600;display:block;margin-bottom:.5rem;color:#2c2c2c}a{color:#06c;text-decoration:none;font-weight:500}a:hover{text-decoration:underline}.landing-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#06c,#004c99);gap:24px}.landing-card{background:#fff;border-radius:12px;padding:3rem;width:100%;max-width:600px;box-shadow:0 8px 24px #00000026;z-index:1}.landing-card h1{text-align:center;margin-bottom:2rem;color:#1a1a1a}.redemption-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column}.error-message{background-color:#fee;border:2px solid #c00;color:#c00;padding:1rem;border-radius:6px;font-size:1.1rem;font-weight:600;text-align:center}.submit-button{background-color:#06c;color:#fff;border:none;margin-top:1rem;font-size:1.2rem;padding:1.25rem 2rem}.submit-button:hover:not(:disabled){background-color:#0052a3;transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.submit-button:active:not(:disabled){transform:translateY(0)}@media(max-width:640px){.landing-card{padding:2rem}.landing-card h1{font-size:2rem}}.login-alternative{margin-top:20px;text-align:center}.login-alternative p{margin:0 0 8px;color:#666}.link-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;padding:0;text-decoration:underline}.link-button:hover{color:#0056b3}.back-button{margin-top:16px}.landing-footer{margin-top:0;padding:24px;background:#fff;text-align:center;color:#555;font-size:13px;border-radius:8px;box-shadow:0 2px 6px #0000000d;max-width:600px;width:100%}.footer-logo img{margin-bottom:10px;opacity:.95}.footer-links{margin:10px 0}.footer-links a{color:#0073aa;text-decoration:none;margin:0 10px;font-weight:500;transition:color .2s}.footer-links a:hover{color:#005a87;text-decoration:underline}.footer-copyright{margin-top:8px;color:#888}.landing-card p{text-align:center;color:#666;margin-bottom:24px;font-size:16px}*{box-sizing:border-box}.dashboard-page{min-height:100vh;background:radial-gradient(circle at top right,rgba(25,118,210,.08),transparent 34rem),#f5f8fc;color:#172033;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}.dashboard-loading,.dashboard-error-page{min-height:100vh;display:grid;place-content:center;gap:1rem;padding:2rem;text-align:center;background:#f5f8fc;color:#42526b}.dashboard-error-page button{justify-self:center;border:0;border-radius:8px;padding:.8rem 1.2rem;background:#0868c9;color:#fff;font-weight:700;cursor:pointer}.dashboard-topbar{width:min(1180px,calc(100% - 2rem));margin:0 auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:2px solid #0b6fd3}.dashboard-brand{display:flex;align-items:center;gap:1rem;min-width:0;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:800}.dashboard-datanovisen-logo{width:150px;max-height:56px;object-fit:contain}.organization-dashboard-brand{gap:1.1rem}.dashboard-organization-logo{width:auto;max-width:230px;max-height:64px;object-fit:contain}.dashboard-organization-name{max-width:360px;overflow-wrap:anywhere;color:#172033;font-size:clamp(1.05rem,2.2vw,1.45rem);line-height:1.2}.dashboard-header-title{color:#172033;line-height:1.25}.organization-topbar{border-bottom-color:#9eacbd}.logout-button{border:1px solid #d5dce7;border-radius:8px;padding:.72rem 1rem;background:#fff;color:#364152;font-size:.98rem;cursor:pointer}.logout-button:hover,.logout-button:focus-visible{border-color:#0b6fd3;color:#0b6fd3}.dashboard-main{width:min(1120px,calc(100% - 2rem));margin:2rem auto 4rem;display:grid;gap:1.5rem}.dashboard-message{border-radius:10px;padding:.9rem 1rem;font-weight:650}.dashboard-message.success{background:#eaf7ef;border:1px solid #9bd5ae;color:#176b34}.dashboard-message.error{background:#fff0f0;border:1px solid #efaaaa;color:#a62626}.welcome-card,.modules-section,.guide-card,.purchases-section,.additional-courses-section,.profile-card{background:#fff;border:1px solid #e4e9f1;border-radius:18px;box-shadow:0 10px 30px #1b324f12}.welcome-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:2rem;padding:clamp(1.5rem,4vw,2.5rem);overflow:hidden}.eyebrow{margin:0 0 .45rem;color:#0b6fd3;font-size:.79rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.welcome-card h1{margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.12}.company-access{margin:.8rem 0 0;color:#354258}.welcome-text{max-width:720px;margin:1rem 0 0;color:#4e5c70;font-size:1.08rem;line-height:1.7;white-space:pre-line}.welcome-actions,.form-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.primary-action,.secondary-action,.course-action,.disabled-action{min-height:46px;border-radius:9px;padding:.78rem 1.15rem;font:inherit;font-weight:750}.primary-action,.course-action{border:1px solid #0b6fd3;background:#0b6fd3;color:#fff;cursor:pointer}.primary-action:hover,.primary-action:focus-visible,.course-action:hover,.course-action:focus-visible{background:#075caf}.secondary-action{border:1px solid #b9c4d3;background:#fff;color:#203047;cursor:pointer}.secondary-action:hover,.secondary-action:focus-visible{border-color:#0b6fd3;color:#0b6fd3}.continue-note{margin:1rem 0 0;color:#5e6b7d;font-size:.93rem}.welcome-course-summary{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;border-radius:16px;padding:1.4rem;background:linear-gradient(145deg,#eaf4ff,#f6fbff);border:1px solid #cfe5fb;text-align:center;color:#28405d}.course-icon{font-size:3.25rem}.welcome-course-summary strong{color:#0b5fb5;font-size:1.18rem}.welcome-course-summary span:last-child{color:#5d6b7e}.section-intro{max-width:720px;margin:.55rem 0 0;color:#5c697b;line-height:1.6}.compact-action{flex:0 0 auto;align-self:center}.module-list{display:grid;gap:.8rem}.module-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid #dfe5ed;border-radius:13px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.module-card:hover{border-color:#b7d4ef;box-shadow:0 6px 16px #1b324f12}.module-card.current{border-color:#86bce9;background:linear-gradient(90deg,#f2f8ff,#fff)}.module-number{display:grid;place-content:center;width:42px;height:42px;border-radius:50%;background:#edf5fd;color:#0868c9;font-size:1.03rem;font-weight:850}.module-card.current .module-number{background:#0b6fd3;color:#fff}.module-copy{min-width:0}.module-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.module-title-row h3{margin:0;color:#1d2a3d;font-size:1.08rem}.module-copy p{margin:.35rem 0 0;color:#5f6c7e;line-height:1.5}.module-status{display:inline-flex;align-items:center;min-height:24px;padding:.18rem .55rem;border-radius:999px;background:#ddecfb;color:#075aa9;font-size:.76rem;font-weight:800}.module-status.start-status{background:#e5f5e9;color:#267340}.module-action{min-width:92px;min-height:42px;border:1px solid #aebaca;border-radius:8px;padding:.62rem .85rem;background:#fff;color:#203047;font:inherit;font-weight:750;cursor:pointer}.module-action:hover,.module-action:focus-visible{border-color:#0b6fd3;color:#0b6fd3}.primary-module-action{border-color:#0b6fd3;background:#0b6fd3;color:#fff}.primary-module-action:hover,.primary-module-action:focus-visible{background:#075caf;color:#fff}.additional-courses-section .courses-grid{max-width:560px}.additional-courses-section .course-card{min-height:230px}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.overview-card{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.35rem;background:#fff;border:1px solid #e4e9f1;border-radius:15px;box-shadow:0 6px 18px #1b324f0d}.overview-icon{display:grid;place-content:center;width:44px;height:44px;border-radius:12px;background:#edf6ff;font-size:1.35rem}.overview-card h2{margin:0 0 .45rem;font-size:1.08rem}.overview-card p{margin:0;color:#59677a;line-height:1.55}.large-value{margin-bottom:.3rem!important;color:#0b6fd3!important;font-size:2rem;font-weight:850;line-height:1}.credit-balance-breakdown{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 .75rem!important}.credit-balance-breakdown span{display:inline-flex;align-items:center;min-height:28px;padding:.2rem .65rem;border-radius:999px;background:#edf5fd;color:#31506f;font-size:.85rem;font-weight:750}.purchase-list{display:grid;gap:1rem}.purchase-card{padding:1.25rem;border:1px solid #dfe5ed;border-radius:13px;background:#fff}.purchase-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.purchase-main h3{margin:0;color:#1d2a3d;font-size:1.12rem}.purchase-main p{margin:.35rem 0 0;color:#667386}.purchase-status{flex:0 0 auto;display:inline-flex;padding:.28rem .68rem;border-radius:999px;font-size:.8rem;font-weight:800}.purchase-status.unused{background:#e7f6ec;color:#176b34}.purchase-status.partly_used{background:#fff5d8;color:#7a5700}.purchase-status.used,.purchase-status.not_allocated{background:#eef1f5;color:#4e5968}.purchase-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 0}.purchase-details>div{padding:.85rem;border-radius:9px;background:#f7f9fc}.purchase-details dt{color:#667386;font-size:.78rem;font-weight:750;text-transform:uppercase}.purchase-details dd{margin:.25rem 0 0;color:#26364c;font-weight:700}.purchase-withdrawal{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid #b9d8f4;border-radius:10px;background:#f1f8ff}.purchase-withdrawal p{margin:0;color:#35516f}.withdrawal-button{flex:0 0 auto;border:1px solid #a71919;border-radius:8px;padding:.65rem .9rem;background:#fff;color:#a71919;font:inherit;font-weight:750;cursor:pointer}.withdrawal-button:hover,.withdrawal-button:focus-visible{background:#fff0f0}.withdrawal-button:disabled{opacity:.65;cursor:wait}.withdrawal-pending-note{margin:1rem 0 0;padding:.85rem 1rem;border-radius:9px;background:#fff5d8;color:#6d5207;font-weight:650}.contact-card address{display:flex;flex-direction:column;gap:.25rem;margin-top:.8rem;font-style:normal}.contact-card address a,.text-link{color:#075fb9;overflow-wrap:anywhere}.muted{color:#6b7788!important}.modules-section,.guide-card,.purchases-section,.additional-courses-section,.profile-card{padding:clamp(1.35rem,3vw,2rem)}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.section-heading-row h2{margin:0;font-size:clamp(1.55rem,3vw,2rem)}.text-button{border:0;padding:.35rem;background:transparent;color:#0767c5;font:inherit;font-weight:700;cursor:pointer}.text-button:hover,.text-button:focus-visible{text-decoration:underline}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.step{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:1.1rem;border-radius:12px;background:#f7f9fc;border:1px solid #e3e8f0}.step>span{display:grid;place-content:center;width:34px;height:34px;border-radius:50%;background:#0b6fd3;color:#fff;font-weight:850}.step h3{margin:0 0 .4rem;font-size:1.02rem}.step p{margin:0;color:#5c697b;line-height:1.55}.courses-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.course-card{display:flex;flex-direction:column;min-height:270px;padding:1.35rem;border-radius:14px;border:1px solid #dfe5ed;background:#fff}.course-card.coming-soon{background:#f8f9fb}.course-card-heading{display:flex;align-items:flex-start;gap:.85rem}.course-card-icon{font-size:2rem}.course-card h3{margin:0;color:#0b63bc;font-size:1.3rem}.course-card-heading p{margin:.3rem 0 0;color:#697487;font-size:.9rem}.course-description{flex:1;margin:1rem 0;color:#5a687a;line-height:1.6}.course-state{margin:0 0 .9rem;color:#3d5068;font-size:.92rem;font-weight:650}.course-action,.disabled-action{width:100%}.disabled-action{border:1px solid #c7cdd5;background:#dfe3e8;color:#687384;cursor:not-allowed}.profile-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0}.profile-details>div{padding:1rem;border-radius:10px;background:#f7f9fc}.profile-details dt{color:#667386;font-size:.82rem;font-weight:750;text-transform:uppercase}.profile-details dd{margin:.35rem 0 0;overflow-wrap:anywhere;font-weight:650}.profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{color:#3d4a5e;font-weight:700}.form-group input{width:100%;min-height:46px;border:1px solid #bac4d1;border-radius:8px;padding:.75rem .85rem;font:inherit}.form-group input:focus{outline:3px solid rgba(11,111,211,.16);border-color:#0b6fd3}.profile-form .form-actions{grid-column:1 / -1;margin-top:0}.dashboard-footer{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #dce3ec;color:#667386;font-size:.9rem}.dashboard-footer img{width:105px}.platform-credit{margin:0;color:#667386;font-size:.9rem;font-weight:650}.organization-dashboard-footer{border-top-color:#d5dce6}.dashboard-footer nav{display:flex;flex-wrap:wrap;gap:1rem}.dashboard-footer a{color:#4a5a70}button:focus-visible,a:focus-visible{outline:3px solid rgba(11,111,211,.28);outline-offset:2px}@media(max-width:900px){.overview-grid,.steps-grid{grid-template-columns:1fr}.module-card{grid-template-columns:auto minmax(0,1fr)}.module-action{grid-column:1 / -1;width:100%}.profile-details,.purchase-details{grid-template-columns:1fr}.purchase-withdrawal{align-items:stretch;flex-direction:column}.withdrawal-button{width:100%}}@media(max-width:700px){.dashboard-topbar{min-height:76px}.dashboard-header-title{display:none}.dashboard-datanovisen-logo{width:130px}.dashboard-organization-logo{max-width:170px;max-height:54px}.dashboard-organization-name{display:block;max-width:210px;font-size:1rem}.welcome-card{grid-template-columns:1fr}.welcome-course-summary{flex-direction:row;justify-content:flex-start;text-align:left}.course-icon{font-size:2.25rem}.courses-grid,.profile-form{grid-template-columns:1fr}.section-heading-row,.dashboard-footer{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.dashboard-main,.dashboard-topbar,.dashboard-footer{width:min(100% - 1rem,1120px)}.dashboard-main{margin-top:1rem}.welcome-card,.modules-section,.guide-card,.purchases-section,.additional-courses-section,.profile-card{border-radius:12px}.welcome-actions,.form-actions{flex-direction:column}.welcome-actions button,.form-actions button{width:100%}.overview-card{grid-template-columns:1fr}}.buy-credits-button{margin-top:.9rem;min-height:40px;border:1px solid #0b6fd3;border-radius:8px;padding:.58rem .85rem;background:#fff;color:#0b63bc;font:inherit;font-size:.88rem;font-weight:750;cursor:pointer}.buy-credits-button:hover,.buy-credits-button:focus-visible{background:#eef6ff}.credit-modal-backdrop{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:1rem;overflow-y:auto;background:#0f1a2b94}.credit-modal{width:min(820px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;border:1px solid #dce4ee;border-radius:18px;padding:clamp(1.25rem,3vw,2rem);background:#fff;box-shadow:0 24px 70px #0f1a2b4d}.credit-modal-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.credit-modal-heading-row h2{margin:0;color:#172033;font-size:clamp(1.6rem,4vw,2.1rem)}.credit-modal-heading-row p:not(.eyebrow){margin:.55rem 0 0;color:#5d6a7d}.credit-modal-close{width:42px;height:42px;flex:0 0 auto;display:grid;place-content:center;border:1px solid #cad3df;border-radius:10px;background:#fff;color:#39485e;font-size:1.5rem;cursor:pointer}.credit-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.credit-package-card{display:flex;flex-direction:column;min-height:270px;border:1px solid #dce3ec;border-radius:14px;padding:1.25rem;background:#fff}.credit-package-card.recommended{border:2px solid #0b6fd3;background:linear-gradient(180deg,#f2f8ff,#fff 52%)}.credit-package-label{align-self:flex-start;margin-bottom:.7rem;border-radius:999px;padding:.25rem .6rem;background:#0b6fd3;color:#fff;font-size:.73rem;font-weight:800}.credit-package-card h3{margin:0;color:#27364b;font-size:1.12rem}.credit-package-amount{margin:1rem 0 0!important;color:#0b63bc!important;font-size:2rem;font-weight:850;line-height:1}.credit-package-amount span{font-size:.82rem;font-weight:700}.credit-package-price{margin:1rem 0 0!important;color:#1f2c3f!important;font-size:1.5rem;font-weight:850}.credit-package-tax{margin:.25rem 0 1.2rem!important;color:#6a7687!important;font-size:.78rem}.credit-package-card button{width:100%;min-height:44px;margin-top:auto;border:1px solid #0b6fd3;border-radius:8px;padding:.7rem .85rem;background:#0b6fd3;color:#fff;font:inherit;font-weight:750;cursor:pointer}.credit-package-card button:hover:not(:disabled),.credit-package-card button:focus-visible:not(:disabled){background:#075caf}.credit-package-card button:disabled,.credit-modal-close:disabled{cursor:wait;opacity:.6}.credit-modal-note{margin:1.2rem 0 0;color:#647185;font-size:.84rem;line-height:1.55}@media(max-width:760px){.credit-package-grid{grid-template-columns:1fr}.credit-package-card{min-height:0}}.purchase-group+.purchase-group{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #dfe5ed}.purchase-group-heading{margin:0 0 1rem;color:#1f4f7a;font-size:1.12rem}.purchase-status.refunded{background:#eee8ff;color:#5d35a8}.withdrawal-error-note,.withdrawal-refunded-note{margin:1rem 0 0;padding:.85rem 1rem;border-radius:9px;font-weight:650}.withdrawal-error-note{background:#fff0ef;color:#8f1d15}.withdrawal-refunded-note{background:#edf9f1;color:#175c31}.purchase-status.pending_start{background:#e8f3ff;color:#075aa9}.course-card-pending{border-color:#9cc7ef;background:#f8fbff}.purchase-action-row{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.course-decision-modal{width:min(680px,calc(100vw - 2rem))}.course-legal-info{margin:1rem 0;border:1px solid #b9d8f5;border-radius:10px;padding:1rem 1.1rem;background:#f4f9ff;color:#263b52;line-height:1.6}.course-legal-info p{margin:0}.course-legal-info p+p{margin-top:.75rem}.course-consent-option{display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:.8rem;margin:1rem 0;border:1px solid #cfd8e5;border-radius:10px;padding:1rem;background:#fff;color:#1f2c3f;font-weight:650;line-height:1.55;cursor:pointer}.course-consent-option input,.withdrawal-reason-list input{width:1.1rem;height:1.1rem;margin:.18rem 0 0;accent-color:#0b6fd3}.course-decision-note{margin:.8rem 0 0;color:#647185;font-size:.86rem;line-height:1.55}.course-decision-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.4rem;flex-wrap:wrap}.withdrawal-reason-list{display:grid;gap:.65rem;margin:1.1rem 0;border:0;padding:0}.withdrawal-reason-list legend{margin-bottom:.75rem;color:#1f2c3f;font-weight:800}.withdrawal-reason-list legend span{color:#647185;font-size:.84rem;font-weight:500}.withdrawal-reason-list label{display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:.7rem;border:1px solid #d8e0ea;border-radius:9px;padding:.78rem .9rem;background:#fff;cursor:pointer}.withdrawal-reason-list label:has(input:checked){border-color:#78b2e8;background:#f3f9ff}.course-help-note{margin:1rem 0;border-left:4px solid #0b6fd3;border-radius:8px;padding:.85rem 1rem;background:#eef7ff;color:#24445f;line-height:1.55}.withdrawal-message-field{display:grid;gap:.35rem;color:#1f2c3f;font-weight:750}.withdrawal-message-field span{color:#647185;font-size:.82rem;font-weight:500}.withdrawal-message-field textarea{min-height:115px;border:1px solid #cfd8e5;border-radius:9px;padding:.8rem;font:inherit;resize:vertical}.withdrawal-message-field textarea:focus{outline:3px solid rgba(11,111,211,.14);border-color:#0b6fd3}@media(max-width:620px){.purchase-action-row,.course-decision-actions{align-items:stretch;flex-direction:column}.purchase-action-row button,.course-decision-actions button{width:100%}}.company-logo-wrap{display:flex;align-items:center;min-height:54px;margin-bottom:1rem}.company-logo{display:block;max-width:240px;max-height:76px;object-fit:contain}.company-welcome-title{max-width:760px;margin:.85rem 0 0;color:#163b66;font-size:clamp(1.2rem,2.7vw,1.65rem);line-height:1.35}.organization-info-card{grid-column:span 2}.organization-information{white-space:pre-line;margin-bottom:.8rem!important}@media(max-width:820px){.organization-info-card{grid-column:auto}.company-logo{max-width:200px;max-height:66px}}.ai-panel{--ai-primary: #5f67d8;--ai-primary-dark: #4a50bb;--ai-text: #243046;--ai-muted: #657287;--ai-border: #dfe5ee;--ai-soft: #f5f7fb;--ai-success: #267542;width:420px;height:min(620px,calc(100vh - 40px));max-width:calc(100vw - 40px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(37,48,70,.12);border-radius:15px 15px 0 0;background:#fff;box-shadow:0 14px 42px #19243a3d;color:var(--ai-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;transition:width .2s ease,height .2s ease}.ai-panel-expanded{width:min(660px,calc(100vw - 40px));height:min(780px,calc(100vh - 40px))}.ai-panel-header{min-height:68px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#667eea,#6d4aa1);color:#fff}.ai-panel-header h2{margin:0;color:inherit;font-size:1.08rem}.ai-panel-header p{margin:3px 0 0;font-size:.82rem;opacity:.9}.ai-panel-header-actions{display:flex;align-items:center;gap:7px}.ai-credit-badge{padding:5px 9px;border-radius:999px;background:#ffffff2e;font-size:.79rem;font-weight:750;white-space:nowrap}.ai-icon-button{width:34px;height:34px;display:grid;place-content:center;border:0;border-radius:8px;background:#ffffff29;color:#fff;font:inherit;font-size:1rem;cursor:pointer}.ai-icon-button:hover,.ai-icon-button:focus-visible{background:#ffffff47}.ai-close-button{font-size:1.45rem}.ai-price-line{padding:8px 13px;border-bottom:1px solid #eadca7;background:#fff8dd;color:#5b5030;font-size:.76rem;line-height:1.45}.ai-messages{flex:1;min-height:0;padding:14px;overflow-y:auto;background:#fff}.ai-message-row{display:flex;margin-bottom:12px}.ai-message-user{justify-content:flex-end}.ai-message-assistant{justify-content:flex-start}.ai-message{max-width:88%;padding:9px 12px;border-radius:14px;background:#eef1f5;color:#28354a;font-size:.94rem;line-height:1.52;overflow-wrap:anywhere}.ai-message-user .ai-message{border-bottom-right-radius:5px;background:var(--ai-primary);color:#fff}.ai-message-assistant .ai-message{border-bottom-left-radius:5px}.ai-message p{margin:0;white-space:pre-wrap}.ai-message small{display:block;margin-top:7px;opacity:.72;font-size:.7rem}.ai-message-type-clarification{border:1px solid #b9d3ec;background:#edf7ff;color:#244b70}.ai-message-type-error{border:1px solid #edb6b6;background:#fff0f0;color:#9e2f2f}.ai-message-image{width:100%;max-height:380px;display:block;object-fit:contain;margin-bottom:9px;border-radius:9px;background:#e8ebf0}.ai-user-image{max-height:210px}.ai-image-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.ai-image-actions button{min-height:40px;border:1px solid #aebaca;border-radius:8px;padding:7px 8px;background:#fff;color:#26354a;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.ai-image-actions button:last-child{border-color:#93c5a4;color:var(--ai-success)}.ai-loading-message{display:flex;align-items:center;gap:8px;color:#5d6878}.ai-loading-dots{display:inline-flex;gap:3px}.ai-loading-dots i{width:5px;height:5px;border-radius:50%;background:var(--ai-primary);animation:ai-pulse 1s infinite ease-in-out}.ai-loading-dots i:nth-child(2){animation-delay:.16s}.ai-loading-dots i:nth-child(3){animation-delay:.32s}@keyframes ai-pulse{0%,70%,to{opacity:.28;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.ai-attachment-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid #cfe0f0;background:#f0f7ff}.ai-attachment-preview img{width:52px;height:52px;object-fit:cover;border-radius:8px}.ai-attachment-preview div{min-width:0;display:flex;flex-direction:column;gap:2px}.ai-attachment-preview strong{font-size:.83rem}.ai-attachment-preview span{color:var(--ai-muted);font-size:.74rem}.ai-attachment-preview button{border:0;background:transparent;color:#a52f2f;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.ai-composer{padding:11px 12px 9px;border-top:1px solid var(--ai-border);background:#fff}.ai-composer-row{display:flex;align-items:flex-end;gap:8px}.ai-composer textarea{flex:1;min-width:0;min-height:66px;max-height:150px;resize:vertical;border:1px solid #bbc5d2;border-radius:9px;padding:9px 10px;color:var(--ai-text);font:inherit;font-size:.9rem;line-height:1.4}.ai-composer textarea:focus{outline:3px solid rgba(95,103,216,.16);border-color:var(--ai-primary)}.ai-composer textarea:disabled{background:#f3f4f6}.ai-attachment-button,.ai-send-button{min-height:42px;border:0;border-radius:8px;padding:8px 11px;font:inherit;font-size:.83rem;font-weight:750;cursor:pointer}.ai-attachment-button{border:1px solid #b7c1ce;background:#fff;color:#344258}.ai-send-button{background:var(--ai-primary);color:#fff}.ai-send-button:hover:not(:disabled),.ai-send-button:focus-visible:not(:disabled){background:var(--ai-primary-dark)}.ai-attachment-button:disabled,.ai-send-button:disabled{cursor:not-allowed;opacity:.55}.ai-composer-help{min-height:20px;margin-top:6px;display:flex;justify-content:space-between;gap:8px;color:var(--ai-muted);font-size:.68rem}.ai-composer-help strong{color:#b12d2d}.ai-panel button:focus-visible{outline:3px solid rgba(95,103,216,.28);outline-offset:2px}@media(max-width:600px){.ai-panel,.ai-panel-expanded{position:fixed;inset:8px;width:auto;height:auto;max-width:none;max-height:none;border-radius:14px}.ai-credit-badge{max-width:105px;overflow:hidden;text-overflow:ellipsis}.ai-panel-header-actions .ai-icon-button:first-of-type{display:none}.ai-composer-row{display:grid;grid-template-columns:auto 1fr}.ai-composer textarea{grid-column:1 / -1;grid-row:1}.ai-attachment-button{grid-column:1;grid-row:2}.ai-send-button{grid-column:2;grid-row:2}.ai-image-actions{grid-template-columns:1fr}}#root{width:100%;min-height:100vh}
