/* BBAPP Software Factory — Perla y violeta. Shared across every customer and manager page. */
:root{color-scheme:light;--bg:#f8f7fc;--panel:#fff;--ink:#29233b;--muted:#6e667f;--purple:#7651cf;--deep:#5634a5;--line:#e5e0ee;--radius:20px}
html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 77% 4%,#e9dffc80,transparent 38%),#f8f7fc;color:var(--ink);font-size:15px}body:before,body:after{opacity:.15;pointer-events:none}
::selection{background:#dccbff;color:#302050}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}:focus-visible{outline:3px solid #8462d8}button:disabled{opacity:.5;cursor:not-allowed}label{color:#4f4661}p,li{line-height:1.65}
input:not([type=checkbox]):not([type=radio]),select,textarea,.request select{background:#fff;color:#302840;border:1px solid #d9d1e7;border-radius:11px;box-shadow:0 1px 2px #372b5304;min-height:42px;padding:11px 13px}input::placeholder,textarea::placeholder{color:#82788f}input:focus,textarea:focus,select:focus{border-color:#8f6cda;box-shadow:0 0 0 3px #956ddd14}input[type=checkbox]{accent-color:#7651cf}select option{color:#302840;background:white}
.nav-wrap{background:#ffffffdb;border-bottom:1px solid #e8e1f0;backdrop-filter:blur(18px);box-shadow:0 5px 25px #30204604}.nav{color:#302840}.nav-links a,.nav-actions a,.client-access-link{color:#5b526b}.nav-links a:hover,.nav-actions a:hover{color:#6941bc}.brand{color:#3e275f}.brand-wordmark small{color:#76648b}.language select{background:#f8f5ff;color:#58476f;border-color:#e4dced}.nav .button{white-space:nowrap}
.button{border-radius:11px;font-weight:650;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{transform:translateY(-1px)}.button.primary,.add-module{background:linear-gradient(125deg,#8661dc,#6943bd);color:#fff;border:1px solid #7950c8;box-shadow:0 6px 16px #7751cf25}.button.primary:hover{background:#6840b9;box-shadow:0 8px 22px #7751cf35}.button.outline{background:#fff;border:1px solid #d9cee9;color:#624194;box-shadow:0 2px 4px #35214304}.button.outline:hover{background:#f4eefe;border-color:#ba9be8}.button.text,.link-button{color:#7046b7}.gradient-text{background:linear-gradient(105deg,#7552c8,#ac6fc7);background-clip:text;-webkit-background-clip:text;color:transparent}
.eyebrow{color:#7753ae;letter-spacing:1.7px}.signal{background:#9372d7;box-shadow:0 0 0 5px #ae8cea18}.hero{padding-block:70px 64px}.hero-copy h1{color:#30263f;letter-spacing:-2.3px;font-size:clamp(39px,4.7vw,67px);line-height:1.08}.hero-copy p,.hero-support,.hero-note{color:#74677e}.hero-scene{filter:none;background:radial-gradient(ellipse,#e5d8ff75,transparent 68%)}.scene-grid{opacity:.1}.orb-glow{opacity:.32;background:#af8fea;filter:blur(55px)}.orbit{border-color:#bda3df55}.core-glass{background:linear-gradient(130deg,#ffffffd9,#bda0e8b0 48%,#eee4ffda);border:1px solid #fff;box-shadow:inset 2px 2px 12px #fff,20px 30px 65px #7c5bad2b;color:#6845a0}.core-shine{opacity:.65}.module-float{background:linear-gradient(125deg,#ffffffed,#f7f0ffea);border:1px solid white;box-shadow:0 14px 35px #6d468821;color:#5b397e}.float-icon{background:#ede2fe;color:#8055bc}.hero-scene img{filter:drop-shadow(0 6px 9px #8764a433)}
.trust-row,.trust-bar,.metrics-strip{border-color:#e5deef;color:#776982}.trust-row strong,.trust-bar strong{color:#4d3c64}.section-intro p,.section-heading p,.section-head p,.subtle,.muted{color:var(--muted)}.section-intro h2,.section-heading h2,.section-head h2{color:#302840}
.module-card,.care-card,.solution-card,.project-card,.process-grid article,.process-card,.access-card,.client-project,.empty-panel,.request,.commerce-card,.billing-card{background:#fff;border:1px solid #e5dfed;box-shadow:0 8px 32px #382a5207;color:var(--ink)}.module-card:hover,.solution-card:hover{border-color:#bca4e3;box-shadow:0 12px 36px #73529c10}.module-card.selected,.module-card.is-selected{background:#faf6ff;border-color:#9c79da}.module-card p,.module-card small,.module-card li,.care-card p,.solution-card p,.solution-card li,.request ul,.request .meta{color:#756881}.category-label{color:#896d9f}.module-icon,.float-icon,.solution-icon{background:#f0e7fc;color:#8157b7}.module-card .card-price,.solution-card .solution-price,.project-card strong{color:#36254e}.details-button,.solution-more{color:#7650a6}.filters button,.filter-chip{background:#fff;color:#6c5c7c;border:1px solid #e3d9ed}.filters button.active,.filter-chip.active{background:#ede3fa;color:#623e9e;border-color:#c3abe4}.filters [data-category=finance]{border-color:#c6afe5}
.search-box,.catalog-search{background:#fff;border-color:#e2d9ec}.project-card{background:linear-gradient(160deg,#fff,#faf7ff);border-color:#d6c5ed;box-shadow:0 16px 40px #67459a0c}.selection-row{border-color:#e9e0f2;color:#584767}.selection-info,.selection-info small,.price-lines{color:#6c5b7b}.price-lines .total{color:#38294b;border-color:#e0d4ed}.split-payment,.estimate-note{background:#f0e9fa;color:#6c4f89;border-color:#dfd0ef}.quantity-control button,.quantity-control input{color:#644483;background:#fff;border-color:#dbceea}.quantity-control .quantity-label,.selection-info .quantity-control .quantity-label{color:#776184}
.assistant-banner,.fit-note,.final-cta{background:linear-gradient(115deg,#f0e7fc,#f9f6fe);border-color:#ddccec;color:#4c356a;box-shadow:0 10px 30px #80579a07}.assistant-banner p,.fit-note p,.final-cta p{color:#796485}.care-card.featured{background:linear-gradient(145deg,#fff,#f2e9fd);border-color:#bba0dd}.care-price,.process-number{color:#7750aa}.process-grid p{color:#796985}.process-grid article:before{background:#b69bd3}.company-contact{border-color:#e4daed}.company-contact a{color:#7041a4}footer{color:#7d6b8b;border-color:#e5dded}
.modal,.assistant-panel{background:#fff;color:#302840;border:1px solid #dfd5eb;box-shadow:0 25px 90px #38234f2e}.modal::backdrop{background:#3c2b5548;backdrop-filter:blur(5px)}.modal p,.modal label{color:#665473}.modal label.consent{color:#70617d}.modal .close-dialog,.close-assistant{color:#766080;background:#f3edf9}.assistant-header,.assistant-input{background:#faf7ff;border-color:#e7ddee}.assistant-message{background:#f4eefb;color:#554068}.assistant-message.user{background:#7b54c8;color:#fff}#toast{background:#fff;color:#4d366b;border:1px solid #cfb9e5;box-shadow:0 8px 30px #4f326e24}
.client-main{padding-top:28px}.workspace-head{margin-bottom:24px}.workspace-head h1,.admin-head h1{font-size:30px;letter-spacing:-.7px}.workspace-head p{color:#7a6b87}.tabs{background:#efe9f7;border:1px solid #e2d6ee;padding:5px;border-radius:13px;gap:4px}.tabs button{color:#7b678c;border-radius:9px;background:transparent;padding:10px 15px}.tabs button.active{background:#fff;color:#7046ae;box-shadow:0 2px 7px #50357110}.access-copy h1{font-size:clamp(36px,5vw,59px)}.access-copy p,.access-copy li,.access-card p,.client-project p{color:#786a84}.access-card{border-radius:22px}.status.error,.error-status{color:#a32950}.status:empty{display:none}.section-title h2{font-size:24px}.project-module,.progress-update,.update-card{background:#f7f2fc;border-color:#e2d7ec;color:#665375}.project-state,.badge{background:#ede4fa;color:#745098}.project-progress,.progress-track{background:#ede5f7}.project-progress>span,.progress-fill{background:linear-gradient(90deg,#b18de7,#7750c7)}
.client-main.chat-mode .chat-layout,.chat-layout{display:grid;grid-template-columns:240px minmax(0,1fr);background:white;border:1px solid #e3d8ee;border-radius:20px;overflow:hidden;box-shadow:0 15px 50px #4d2d720a;min-height:540px}.room-sidebar{background:#fbf8ff;border:0;border-inline-end:1px solid #e8dff1;padding:18px;max-height:none;display:flex;flex-direction:column;gap:10px}.room-sidebar-title h2{font-size:15px;color:#6c4d8e}#room-list{display:flex;flex-direction:column;gap:7px;overflow-y:auto;flex:1;min-height:100px}.room-item,.room-button{background:transparent;color:#655174;border:1px solid transparent}.room-item.active,.room-button.active{background:#eee3fb;border-color:#dac4f1}.room-item small{color:#887090}.chat-view{background:#fff;min-width:0}.chat-head{background:#fff;border-color:#eee5f5}.chat-head h2{font-size:18px;color:#513866}.chat-head small{color:#85728f}.retention-controls,.chat-tools,.chat-voice-tools{background:#faf7fd;border-color:#e9dff2;color:#83708e}.client-messages{background:linear-gradient(#fcfaff,#f8f4fd)}.client-message{background:#fff;color:#4b3b5a;border:1px solid #e9dff2;box-shadow:0 3px 8px #4e2a5c06;border-radius:15px}.client-message.mine{background:#efe4fc;color:#503768;border-color:#decbf2}.client-message .message-meta,.client-message small,.message-meta{color:#887492}.client-message blockquote{background:#f3ecfa;border-color:#bb95dd;color:#786184}.message-form{background:white;border-top:1px solid #e9dff1;padding:15px}.message-form textarea{background:#faf7ff;border:1px solid #e5d9f0;color:#433050}.icon-button{color:#865c9f;background:#f5eefb}.reply-preview,.attachment-preview{background:#eee4f9;color:#685077;border-color:#d4bfe5}.emoji-picker{background:#fff;border-color:#dfcfef}.unread{background:#7d50c5;color:white}.chat-tools input{font-size:13px}
.commerce-main{padding-top:38px}.commerce-card,.invoice-card{border-color:#e5d8ed;background:#fff}.commerce-card small,.doc-copy,.digest{color:#7b6987}.commerce-totals,.admin-info,.admin-payment-row{background:#f8f3fd;border-color:#e3d3ef}.admin-line{background:#f8f3fd}.commerce-table th,.commerce-table td,.contract-terms{border-color:#e9dff2}.invoice-card.paid{border-color:#c7e7da;background:#fbfefa}.admin-main{padding-top:32px}.admin-list{margin-top:20px}.admin-login{box-shadow:0 12px 45px #6d468615}.admin-head{gap:16px}.admin-shell{display:grid;grid-template-columns:206px minmax(0,1fr);gap:24px;margin-top:25px}.admin-sidebar{display:flex;flex-direction:column;gap:7px;position:sticky;top:95px;align-self:start;padding:14px;background:#fff;border:1px solid #e5dbee;border-radius:18px}.admin-sidebar button,.admin-sidebar a{display:block;text-align:start;padding:12px;border:0;border-radius:10px;background:transparent;color:#7b6889;font-size:14px;text-decoration:none}.admin-sidebar .active{background:#ede2fc;color:#6e42b0;font-weight:700}.admin-canvas{min-width:0}.admin-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-block:18px}.stat-card{padding:20px;border-radius:16px;background:#fff;border:1px solid #e3d8ee}.stat-card small{display:block;color:#897496;font-size:12px}.stat-card strong{display:block;font-size:26px;letter-spacing:-.8px;margin:9px 0;color:#573679}.stat-card:first-child{background:linear-gradient(120deg,#835bcf,#a477dd);color:white;border:0}.stat-card:first-child small,.stat-card:first-child strong{color:white}.admin-toolbar{display:flex;gap:12px;flex-wrap:wrap}.admin-toolbar input{flex:1;min-width:170px}.admin-section-title{font-size:23px;margin:10px 0}.admin-card-list{display:grid;gap:15px}.admin-empty{padding:30px;text-align:center;background:white;border:1px dashed #d4c2e5;border-radius:18px;color:#8b7896}
.billing-main{max-width:940px;padding-block:40px 70px}.billing-main h1{font-size:36px}.billing-card{padding:28px;border-radius:20px}.billing-card h2{font-size:23px;margin-block:20px}.billing-card p{font-size:13px;color:#7c6a88}.billing-card label{display:flex;flex-direction:column;gap:8px;margin:12px 0}.billing-card .consent{display:flex;flex-direction:row;align-items:flex-start;line-height:1.6;font-size:13px}.billing-card input[type=checkbox]{flex:0 0 17px;margin-top:5px}.billing-card .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.journey-notice{background:#eee3fd;border:1px solid #d4bdec;padding:18px 22px;border-radius:16px;margin-block:15px;color:#60467a}.journey-notice h2{font-size:21px;margin:0 0 6px}.journey-notice p{margin:0}.journey-steps{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#8a739d;margin-top:10px}.journey-steps span{padding:7px 10px;background:#fff8;border-radius:20px}.journey-steps .current{color:#7042ad;background:#fff}.quote-mini{display:flex;justify-content:space-between;gap:18px;padding:16px 20px;background:white;border:1px solid #e4d7ef;border-radius:13px;margin:10px 0}.quote-mini small{display:block;color:#8a7496}.client-quotes{margin:0 0 28px}.client-quotes h2{font-size:23px}
.client-main p,.client-main label,.client-main .access-copy li{color:#72617e}.client-main input:not([type=checkbox]):not([type=file]),.client-main textarea,.client-main select,#progress-form select{background:#fff;color:#493454;border-color:#dacbe6}.client-main .status{color:#78538f!important}.client-main .error{color:#a12951!important}.client-main .subtle{color:#81708d!important}.client-message p,.client-main .client-message p{color:#493850}.client-message.mine p{color:#513367}.room-button span,.room-button small{color:#816d8b}.room-button span.unread{display:inline-block;width:auto;color:white}.room-sidebar{flex-wrap:nowrap;align-items:stretch}.room-sidebar #room-list{order:0;flex-direction:column;min-width:0}.room-sidebar .room-button{min-width:0;width:100%}.room-sidebar>#lock-chat{margin:0}.client-main .retention-controls label{color:#74617f}.client-main .retention-controls p{color:#87708f}.client-message .file-download{background:#f7eefc;color:#67437b;border-color:#d8bce8}.message-quote{background:#f6eefb;color:#7e658c}.composer-actions .file-button{color:#785294}.fingerprint{background:#f2eaf9;color:#5e4076}.paid-badge{color:#298060}.request p,.request ul{font-size:14px}.hero-copy .hero-support,.hero-copy .hero-note,.hero-copy .hero-proof{color:#7b6d88}.hero-scene .core-glass small{color:#775396}
[hidden]{display:none!important}
@media(min-width:1100px){.nav{gap:20px}.nav-links{gap:19px;font-size:12px}.nav-actions{gap:14px}.nav .client-access-link{font-size:13px}}
@media(max-width:1000px){.admin-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:170px minmax(0,1fr)}.nav-links{flex-wrap:wrap;justify-content:center;gap:12px}.hero{padding-block:45px}}
@media(max-width:760px){.admin-shell{display:block}.admin-sidebar{position:static;display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap;margin-bottom:20px}.admin-sidebar>*{flex-shrink:0}.admin-dashboard{gap:9px}.stat-card{padding:15px}.stat-card strong{font-size:24px}.client-main.chat-mode .chat-layout,.chat-layout{grid-template-columns:1fr;min-height:560px;height:auto}.room-sidebar{border-inline-end:0;border-bottom:1px solid #e9ddf3;padding:12px;display:block}.room-sidebar-title{display:flex;justify-content:space-between}.room-sidebar #room-list{display:flex;flex-direction:row;overflow-x:auto;min-height:0}.room-sidebar #room-list>*{flex:0 0 auto}.room-sidebar>.button{margin:7px 4px 0 0}.chat-view{min-height:440px}.client-messages{min-height:230px;max-height:50vh}.chat-head{padding:14px}.workspace-head{align-items:flex-start;flex-direction:column}.billing-card{padding:20px}.billing-card .form-grid{grid-template-columns:1fr}.billing-main h1{font-size:29px}.admin-main{padding-block:25px}.nav:has(.nav-actions){height:auto}.nav-links{font-size:12px}.composer-actions{gap:6px}.composer-actions .button{padding:8px;font-size:11px}.access-copy h1{font-size:40px}.hero-scene{transform:scale(.9);margin-block:-20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.room-sidebar #room-list{flex-direction:row}.room-sidebar .room-button{min-width:170px;width:auto}}

.chat-options{margin:8px 0 14px;color:#7f6692;font-size:12px}.chat-options summary{cursor:pointer;text-align:end;padding:8px}.chat-options[open]{background:#f4ecfb;padding:10px;border-radius:12px}.chat-options .chat-voice-tools{margin:8px 0 0}.chat-options:not([open])~.chat-layout{height:calc(100dvh - 265px)}
@media(max-width:760px){.chat-mode .workspace-head>.tabs{gap:0;padding:4px}.chat-mode .workspace-head>.tabs button,.chat-mode .workspace-head>.tabs a{font-size:10px;padding:8px}.chat-mode .workspace-head p{margin:0}.chat-mode .room-sidebar-title h2{font-size:14px}.chat-mode .room-sidebar{padding:10px}.chat-mode .room-button{padding:8px}.chat-mode .room-sidebar>.button{padding:7px 9px;font-size:10px}.chat-mode .chat-options{margin-block:0 7px}.chat-options:not([open])~.chat-layout{height:auto}.chat-mode .client-messages{min-height:230px;max-height:50vh}.chat-mode .retention-controls{padding:8px 12px}.chat-mode .chat-tools{padding:8px 12px}}
