@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,700&display=swap";:root{color-scheme:light;--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f8fafc;--line: #e4e7ec;--line-strong: #cfd6de;--ink: #161d29;--ink-soft: #3d4a5d;--ink-muted: #6d7b90;--accent: #b7ce23;--accent-strong: #8fa80f;--accent-soft: rgba(183, 206, 35, .16);--danger: #c0392b;--danger-soft: #fde8e5;--radius-xl: 24px;--radius-lg: 18px;--radius-md: 12px;--radius-sm: 10px;--shadow-soft: 0 8px 26px rgba(16, 24, 40, .07);--shadow-strong: 0 18px 42px rgba(16, 24, 40, .12);--transition-fast: .18s ease;--focus-ring: 0 0 0 3px rgba(183, 206, 35, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-strong);box-shadow:var(--focus-ring)}.page{min-height:100vh;position:relative;overflow:hidden;background:var(--bg)}.page:before,.page:after{content:"";position:absolute;pointer-events:none;border-radius:999px;filter:blur(70px);opacity:.55}.page:before{width:360px;height:360px;top:-120px;left:-120px;background:#b7ce2338}.page:after{width:420px;height:420px;right:-150px;bottom:-180px;background:#43a4ff24}.reveal{animation:fade-up .8s ease var(--delay, 0ms) both}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.reveal{animation:none}}.brand-inline{display:flex;align-items:center;gap:14px}.logo-placeholder{width:132px;height:52px;border-radius:12px;border:1px solid rgba(22,29,41,.12);background:var(--surface);display:grid;place-items:center;padding:.32rem .5rem;box-shadow:inset 0 0 0 2px #b7ce2324}.logo-placeholder.small{width:112px;height:42px;border-radius:10px}.logo-image{width:100%;height:100%;object-fit:contain;object-position:center}.brand-kicker{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted)}.brand-title{font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:600}.primary-button,.ghost-button,.sidebar-button,.cookie-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;padding:.58rem 1.05rem;font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}.primary-button{background:var(--accent);color:#0c1205;box-shadow:0 8px 18px #8fa80f4d}.primary-button:hover{background:var(--accent-strong);color:#f9fff2}.primary-button:disabled{opacity:.65;cursor:not-allowed}.primary-button:focus-visible,.ghost-button:focus-visible,.sidebar-button:focus-visible,.cookie-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ghost-button,.sidebar-button,.cookie-btn--ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink-soft)}.ghost-button:hover,.sidebar-button:hover,.cookie-btn--ghost:hover{border-color:var(--accent-strong);color:var(--ink);background:#f5f9e8}.ghost-button--active{border-color:#8fa80f80;color:#334006;background:#f3f9e1fa}.ghost-button:disabled,.sidebar-button:disabled,.cookie-btn--ghost:disabled{opacity:.6;cursor:not-allowed;border-color:var(--line);color:var(--ink-soft);background:var(--surface)}.cookie-btn--primary{background:var(--accent);color:#121a08}.login-error,.admin-alert{font-size:.86rem;color:var(--danger);background:var(--danger-soft);border:1px solid #f1c5be;border-radius:var(--radius-md);padding:.7rem .86rem}.login-notice{font-size:.86rem;color:#4f640d;background:#f3f9e1;border:1px solid #dbe9a6;border-radius:var(--radius-md);padding:.7rem .86rem}.app-error-shell{position:relative;z-index:1;min-height:100vh;max-width:1120px;margin:0 auto;padding:2.5rem 1.2rem;display:grid;place-items:center}.app-error-card{width:100%;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);background:linear-gradient(135deg,#b7ce2324,#fffffff5 42%);border:1px solid rgba(22,29,41,.09);border-radius:30px;box-shadow:var(--shadow-strong);overflow:hidden}.app-error-copy,.app-error-panel{padding:2rem}.app-error-copy{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}.app-error-heading{display:grid;gap:.9rem}.app-error-heading h1{max-width:12ch;font-family:Fraunces,serif;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.03em}.app-error-heading>p:last-child{max-width:58ch;color:var(--ink-soft);line-height:1.7}.app-error-badge{width:fit-content;padding:.45rem .8rem;border-radius:999px;border:1px solid rgba(192,57,43,.14);background:#ffffffd6;color:#92513f;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.app-error-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.app-error-notes article,.app-error-summary,.app-error-details{border:1px solid rgba(22,29,41,.09);border-radius:22px;background:#ffffffd6;box-shadow:var(--shadow-soft)}.app-error-notes article{padding:1rem;color:var(--ink-soft);line-height:1.6}.app-error-note-kicker{margin-bottom:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted)}.app-error-panel{display:flex;flex-direction:column;justify-content:center;gap:1rem;background:#ffffffad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-error-summary{padding:1.35rem}.app-error-summary h2{margin:.65rem 0 .7rem;font-size:1.45rem;line-height:1.15}.app-error-summary p:last-child{color:var(--ink-soft);line-height:1.7}.app-error-actions{display:flex;flex-wrap:wrap;gap:.8rem}.app-error-details{padding:1rem 1.1rem}.app-error-details summary{cursor:pointer;font-weight:600}.app-error-details pre{margin:.9rem 0 0;padding:.9rem 1rem;border-radius:16px;background:#161d29;color:#f8fafc;white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.65}.login-grid{position:relative;z-index:1;min-height:100vh;max-width:1120px;margin:0 auto;padding:2.5rem 1.2rem;display:grid;grid-template-columns:1fr 460px;gap:1.5rem;align-items:center}.login-brand-panel,.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.login-brand-panel{padding:clamp(1.4rem,2vw,2.4rem);display:grid;gap:1rem}.login-brand-kicker{width:fit-content;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--line);padding:.34rem .66rem;border-radius:999px}.login-brand-title{font-size:clamp(1.6rem,3.1vw,2.5rem);line-height:1.08}.login-brand-copy{color:var(--ink-soft);max-width:42ch}.login-brand-list{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}.login-brand-list li{position:relative;padding-left:1.25rem;color:var(--ink-soft)}.login-brand-list li:before{content:"";position:absolute;width:.52rem;height:.52rem;border-radius:999px;background:var(--accent);left:0;top:.4rem}.login-card{padding:1.6rem;display:grid;gap:1.2rem}.brand-block{display:flex;align-items:center;gap:.9rem}.brand-name{font-size:1.8rem;line-height:1;font-weight:600;letter-spacing:-.02em}.login-subtitle{color:var(--ink-muted);font-size:.9rem}.login-form{display:grid;gap:.64rem}.login-label{font-size:.79rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.09em;margin-top:.5rem}.login-input{width:100%;padding:.72rem .82rem;font-size:.93rem;border-radius:var(--radius-sm)}.login-support{color:var(--ink-muted);font-size:.78rem;line-height:1.45}.legal-gate-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#1118278f;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain}.legal-gate{width:min(960px,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-strong);padding:1rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.85rem;overflow:hidden;margin:auto}.legal-gate__header{display:grid;gap:.25rem}.legal-gate__header h2{font-size:clamp(1.1rem,2.8vw,1.35rem)}.legal-gate__header p{color:var(--ink-soft);font-size:.84rem;line-height:1.45}.legal-gate__version{font-size:.78rem;color:var(--ink-muted)}.legal-gate__content{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);padding:.9rem;display:grid;gap:.68rem;font-size:.86rem;line-height:1.42;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.legal-gate__content p{margin:0}.legal-gate__status{margin:0;color:var(--ink-soft)}.legal-gate__status--error{color:#b42318}.legal-gate__footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding-top:.75rem;padding-bottom:max(.1rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.legal-gate__hint{font-size:.81rem;color:var(--ink-muted)}.legal-gate__hint--error{color:#b42318}.legal-gate__actions{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.dashboard-topbar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#ffffffeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dashboard-topbar--caes{justify-content:flex-end}.dashboard-topbar__actions{display:flex;gap:.5rem;align-items:center}.dashboard-layout{position:relative;z-index:1;display:grid;grid-template-columns:250px 1fr;gap:1rem;max-width:1320px;margin:0 auto;padding:1rem}.dashboard-layout--client{grid-template-columns:1fr;max-width:1120px}.dashboard-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1rem;height:fit-content;position:sticky;top:84px}.sidebar-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-muted);margin-bottom:.85rem}.sidebar-nav{display:grid;gap:.45rem}.sidebar-link,.sidebar-button{width:100%;text-align:left;border-radius:var(--radius-sm);border:1px solid transparent;padding:.63rem .72rem;font-size:.9rem;color:var(--ink-soft);background:transparent}.sidebar-link:hover,.sidebar-button:hover{background:var(--surface-2);border-color:var(--line)}.sidebar-link--active{background:var(--accent-soft);border-color:#8fa80f59;color:#2c3604;font-weight:600}.dashboard-main{display:grid;gap:1rem;align-content:start}.dashboard-hero,.dashboard-section,.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.dashboard-hero{padding:clamp(1rem,2vw,1.5rem);display:grid;gap:.45rem}.dashboard-hero h2{font-size:clamp(1.3rem,2.5vw,1.8rem)}.dashboard-hero p{color:var(--ink-soft);max-width:56ch}.dashboard-hero__kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted)}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem}.dashboard-kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:1rem;min-height:108px}.dashboard-kpi-label{font-size:.75rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.11em}.dashboard-kpi-value{margin-top:.46rem;font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:700;letter-spacing:-.01em}.dashboard-section,.admin-panel{padding:1rem;display:grid;gap:.9rem}.dashboard-section__header,.admin-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.dashboard-section__header h3,.admin-panel__header h2{font-size:1.05rem}.dashboard-empty,.admin-empty{color:var(--ink-muted);font-size:.9rem;padding:.6rem 0}.dashboard-loading,.admin-loading{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;color:var(--ink-soft);font-weight:500}.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.hub-category-card,.hub-tool-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hub-category-card:hover,.hub-tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.hub-category-card__link,.hub-tool-card__content{min-height:100%;display:flex;flex-direction:column;gap:.8rem;padding:1.1rem}.hub-category-card h3,.hub-tool-card__title{font-size:1.08rem}.hub-category-card p,.hub-tool-card__desc{color:var(--ink-soft);font-size:.9rem;line-height:1.45}.hub-category-card p{min-height:2.9em}.hub-category-card__cta,.hub-tool-card__cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.35rem .68rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2);font-size:.77rem;font-weight:600}.hub-tool-card__icon{width:42px;height:42px;border-radius:12px;background:var(--tone-soft, var(--surface-2));border:1px solid var(--tone-line, var(--line));display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.hub-tool-card__icon--with-image{background:#fff}.hub-tool-card__icon-image{display:block;width:78%;height:78%;object-fit:contain}.hub-tool-card__icon-image--clima{width:84%;height:84%}.hub-tool-card__icon-image--frigo{width:72%;height:72%}.hub-tool-card__icon-image--edificacion{width:82%;height:82%}.hub-tool-card__content.is-disabled{opacity:.6}.hub-pill{width:fit-content;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.3rem .54rem;color:var(--tone-strong, var(--ink-soft));background:var(--tone-soft, var(--surface-2));border:1px solid var(--tone-line, var(--line))}.hub-business-logo{width:100%;height:118px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:0}.hub-business-logo__image{width:100%;height:auto;max-width:none;display:block;transform-origin:center center;transform:scale(2.25)}.hub-business-logo__image.logo-caes{transform:scale(1.85)}.hub-business-logo__image.logo-deducciones{transform:scale(2.1)}.hub-business-logo__image.logo-gestion-energetica{transform:scale(2.15)}.hub-business-logo__image.logo-ayudas{transform:scale(2.25)}.hub-business-logo__image.logo-electrointensivos{transform:scale(2.9)}.tone-mint{--tone-soft: #e7f9f1;--tone-line: #b8ebd2;--tone-strong: #1a7b58}.tone-sky{--tone-soft: #e9f3ff;--tone-line: #bddcff;--tone-strong: #2468ae}.tone-sea{--tone-soft: #e8f7fa;--tone-line: #b9e7ef;--tone-strong: #146c7d}.tone-sand{--tone-soft: #fdf5e8;--tone-line: #f0ddbd;--tone-strong: #90611d}.tone-slate{--tone-soft: #eef1f8;--tone-line: #cdd7ea;--tone-strong: #41587f}.category-shell{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:1rem;display:grid;gap:1rem}.category-hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.category-hero h2{font-size:clamp(1.2rem,2.4vw,1.7rem);margin-bottom:.4rem}.category-hero p{color:var(--ink-soft)}.category-meta{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:.45rem .8rem;color:var(--ink-soft);font-size:.82rem;white-space:nowrap}.caes-workspace{display:grid;gap:1rem}.caes-workspace__hero,.caes-panel,.caes-filters-card,.caes-project-table-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffffffa,#fff 62%);border:1px solid rgba(240,221,189,.82);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.caes-workspace__hero:after,.caes-panel:after,.caes-filters-card:after,.caes-project-table-card:after{content:"";position:absolute;inset:auto auto -90px -40px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,#8fa80f1f,#8fa80f00);pointer-events:none}.caes-workspace__hero{padding:1.2rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.caes-workspace__copy{display:grid;gap:.62rem}.caes-kicker,.caes-action-card__eyebrow,.caes-issue-card__eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#7b8f14}.caes-workspace__hero h2,.caes-panel h2,.caes-panel h3{font-size:clamp(1.25rem,2.4vw,1.85rem);letter-spacing:-.02em}.caes-workspace__hero p,.caes-panel p,.caes-action-card p,.caes-issue-card p,.caes-available-line p{color:var(--ink-soft);line-height:1.55}.caes-workspace__summary{display:grid;gap:.65rem}.caes-summary-card{display:grid;gap:.2rem;padding:.85rem .95rem;border-radius:var(--radius-md);background:#fdf5e8e6;border:1px solid rgba(240,221,189,.92)}.caes-summary-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.caes-summary-card strong{font-size:1.3rem;color:#7b8f14}.caes-action-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.caes-primary-action{position:relative;overflow:hidden;min-height:120px;width:100%;padding:1.35rem 1.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-soft);font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-.02em;color:var(--ink);text-align:center;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.caes-primary-action:after{content:"";position:absolute;inset:auto auto -55px -20px;width:180px;height:180px;border-radius:999px;opacity:.5}.caes-primary-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.caes-primary-action--projects{background:linear-gradient(145deg,#fff7e6f5,#fffffffa 60%),#fff;border-color:#e1cc9be0}.caes-primary-action--projects:after{background:radial-gradient(circle,#f4c64952,#f4c64900)}.caes-primary-action--new{background:linear-gradient(145deg,#f3f9e1fa,#fffffffa 58%),#fff;border-color:#c7da7de0}.caes-primary-action--new:after{background:radial-gradient(circle,#8fa80f47,#8fa80f00)}.caes-action-card__button,.caes-doc-button{min-height:42px;width:fit-content;padding:.72rem 1rem;border-radius:999px;border:1px solid rgba(143,168,15,.38);background:#8fa80f;color:#fff;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.caes-action-card__button:hover,.caes-doc-button:hover{transform:translateY(-1px);box-shadow:0 18px 32px -22px #8fa80fbf;background:#7b9210}.caes-action-card__button:disabled,.caes-doc-button:disabled{cursor:default;transform:none;box-shadow:none;background:#d4dcc1;border-color:#c6cfb0;color:#667085}.caes-panel,.caes-filters-card,.caes-project-table-card,.caes-phase-selector,.caes-selection-toolbar{padding:1rem}.caes-panel__head,.caes-filters-card__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.caes-panel__actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.caes-inline-note{display:grid;gap:.2rem;margin-top:.95rem;padding:.85rem .95rem;border-radius:var(--radius-md);border:1px solid rgba(225,204,155,.85);background:#fdf5e8d9}.caes-inline-note strong{color:#7b8f14}.caes-inline-copy{margin:0;color:var(--ink-muted);font-size:.84rem}.caes-inline-copy--error{color:#b42318}.caes-available-lines{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.caes-available-line{display:grid;grid-template-columns:48px 1fr;gap:.75rem;align-items:flex-start;padding:.95rem;border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffffe0}.caes-available-line__icon{width:48px;height:48px;border-radius:15px;border:1px solid rgba(240,221,189,.92);background:linear-gradient(180deg,#fdf5e8eb,#f3f9e1eb)}.caes-available-line strong{display:block;margin-bottom:.24rem}.caes-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}.caes-filter-field{display:grid;gap:.32rem}.caes-filter-field span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.caes-filter-field input,.caes-filter-field select{width:100%;min-height:42px;padding:.7rem .78rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff}.caes-filters-card__footer{margin-top:.95rem;align-items:center}.caes-selection-toolbar{display:grid;gap:.9rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffeb;box-shadow:var(--shadow-soft)}.caes-phase-selector{position:relative;overflow:hidden;border:1px solid rgba(240,221,189,.82);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffffffa,#fff 62%);box-shadow:var(--shadow-soft)}.caes-phase-selector:after{content:"";position:absolute;inset:auto auto -90px -40px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,#8fa80f1f,#8fa80f00);pointer-events:none}.caes-phase-selector__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.95rem}.caes-phase-selector__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.caes-phase-selector__tab{display:grid;gap:.22rem;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(215,223,208,.98);background:#edf0f5f5;color:#394b63;text-align:left;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.caes-phase-selector__tab span{font-size:.92rem;font-weight:700;line-height:1.25}.caes-phase-selector__tab strong{font-size:1.25rem}.caes-phase-selector__tab:hover{transform:translateY(-1px);border-color:#8fa80f6b;box-shadow:0 14px 22px -18px #10182859}.caes-phase-selector__tab--active{color:#fff;border-color:#27c65a;background:linear-gradient(135deg,#27c65a,#22b452)}.caes-selection-toolbar__summary{display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap}.caes-export-builder{display:grid;gap:.9rem;padding:.95rem;border-radius:var(--radius-md);border:1px solid rgba(207,218,232,.95);background:linear-gradient(180deg,#f8fbfffa,#fffffffa)}.caes-export-builder__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;flex-wrap:wrap}.caes-export-builder__head strong{display:block;margin-bottom:.2rem;color:var(--ink);font-size:.98rem}.caes-export-builder__head p{margin:0;color:var(--ink-muted);font-size:.84rem}.caes-export-builder__groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.caes-export-builder__group{display:grid;gap:.65rem;min-width:0;margin:0;padding:.78rem;border-radius:var(--radius-sm);border:1px solid rgba(221,227,235,.95);background:#ffffffe6}.caes-export-builder__group legend{padding:0 .35rem;color:#526279;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.caes-export-builder__field-list{display:grid;gap:.5rem}.caes-export-builder__field{display:flex;align-items:flex-start;gap:.55rem;color:var(--ink);font-size:.86rem;line-height:1.25}.caes-export-builder__field input{flex:0 0 auto;width:1rem;height:1rem;margin-top:.04rem;accent-color:#8fa80f}.caes-pagination{display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap}.caes-pagination__summary{display:inline-flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.84rem;color:var(--ink-soft)}.caes-select-all{display:inline-flex;align-items:center;gap:.55rem;font-size:.84rem;color:var(--ink-soft)}.caes-select-all input,.caes-table-checkbox input{width:1rem;height:1rem;accent-color:#8fa80f}.caes-filter-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.caes-filter-chip{display:inline-flex;align-items:center;gap:.42rem;padding:.35rem .62rem;border-radius:999px;background:#f3f9e1fa;border:1px solid rgba(199,218,125,.9);color:#5b6e0f;font-size:.78rem;font-weight:600}.caes-filter-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;padding:0;border:0;border-radius:999px;background:#5b6e0f1f;color:#4f6210;font-family:Arial,sans-serif;font-weight:700;font-size:.74rem;line-height:1.15rem;cursor:pointer}.caes-filter-chip__remove:hover,.caes-filter-chip__remove:focus-visible{background:#5b6e0f38;outline:none}.caes-issues-list{display:grid;gap:.75rem}.caes-issue-card{padding:.95rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(254,205,170,.92);background:linear-gradient(180deg,#fff7edfa,#fffbf5fa)}.caes-issue-card h4{margin-bottom:.26rem}.caes-project-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.caes-project-table-shell{display:grid;gap:.7rem}.caes-project-table-scrollbar{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:999px;background:#f7f9f2fa;scrollbar-gutter:stable}.caes-project-table-scrollbar__content{height:12px}.caes-project-table{width:100%;min-width:1180px;border-collapse:collapse}.caes-table-action-column{width:188px;min-width:188px}.caes-table-action-column--wide{width:238px;min-width:238px}.caes-table-notifications-column{width:86px;min-width:86px}.caes-project-table thead{background:#f7f9f2fa}.caes-project-table th{padding:.82rem .88rem;text-align:left;font-size:.73rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--line)}.caes-project-table td{padding:.88rem;vertical-align:top;border-bottom:1px solid var(--line)}.caes-project-table tbody tr:hover{background:#fafcf5fa}.caes-project-row--clickable{cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.caes-project-row--clickable:focus-visible{outline:2px solid rgba(143,168,15,.42);outline-offset:-2px;background:#fafcf5fa}.caes-table-select-column,.caes-table-select-cell{width:68px;text-align:center}.caes-table-checkbox{display:inline-flex;align-items:center;justify-content:center}.caes-report-button{display:inline-flex;align-items:center;justify-content:center;min-width:9.4rem;padding:.42rem .78rem;font-size:.78rem;line-height:1.1;text-align:center;white-space:nowrap}.caes-report-button--internal{border-color:#a7c02075;background:#f8f9f3fa;color:#56680b}.caes-report-button--detailed{border-color:#2563eb47;background:#eff6fff5;color:#1d4ed8}.caes-report-button--commercial{border-color:#d977064d;background:#fff7edf5;color:#a16207}.caes-report-button--internal:hover{border-color:#8fa80f99;background:#f3f9e1fa;color:#334006}.caes-report-button--detailed:hover{border-color:#2563eb7a;background:#dbeafefa;color:#1e3a8a}.caes-report-button--commercial:hover{border-color:#d977067a;background:#fef3c7fa;color:#78350f}.caes-project-title{display:grid;gap:.26rem}.caes-project-title strong,.caes-project-title__link,.caes-location-stack strong,.caes-date-stack strong,.caes-amount-stack strong{color:var(--ink)}.caes-project-title strong,.caes-project-title__link,.caes-project-title__meta span,.caes-project-title__meta small,.caes-location-stack strong{overflow-wrap:anywhere;word-break:break-word}.caes-project-title__link{width:fit-content;font-weight:700;text-decoration:none}.caes-project-title__link:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:.18em}.caes-project-title__meta,.caes-location-stack,.caes-sector-stack,.caes-date-stack,.caes-amount-stack,.caes-actions-cell,.caes-table-management,.caes-ficha-stack{display:grid;gap:.22rem}.caes-amount-stack{min-width:124px}.caes-notification-cell{display:flex;align-items:center;justify-content:center;min-width:48px}.caes-notification-cell>div{display:grid;min-width:0;gap:.12rem}.caes-notification-cell strong{color:var(--ink);font-size:.83rem;line-height:1.25}.caes-notification-cell small{color:var(--ink-muted);font-size:.75rem;line-height:1.25;overflow-wrap:anywhere}.caes-notification-button{position:relative;width:34px;height:34px;border:1px solid rgba(215,223,208,.98);border-radius:8px;background:#fff;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.caes-notification-button svg{width:17px;height:17px}.caes-notification-button:hover,.caes-notification-button:focus-visible{border-color:#8fa80f70;background:#fafcf5fa;color:var(--ink);box-shadow:0 12px 22px -18px #10182873;outline:none}.caes-notification-button--active{border-color:#b453095c;background:#fffbebf5;color:#92400e}.caes-notification-button--quiet{color:#98a2b3;background:#fff}.caes-notification-button span{position:absolute;top:-7px;right:-8px;min-width:20px;height:20px;padding:0 .28rem;border-radius:999px;border:2px solid white;background:#d92d20;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;line-height:1}.caes-notification-button:disabled{cursor:default;color:#98a2b3;background:#f8fafc;border-color:#d0d5ddf2;box-shadow:none}.caes-project-title__meta span,.caes-project-title__meta small,.caes-location-stack span,.caes-location-stack small,.caes-sector-stack small,.caes-date-stack span,.caes-amount-stack span,.caes-table-management small,.caes-actions-cell small,.caes-ficha-stack small,.caes-progress-stack small,.caes-table-placeholder{color:var(--ink-muted);font-size:.79rem}.caes-table-management{min-width:172px}.caes-table-management__button{min-height:40px;width:100%;padding:.68rem .92rem;border-radius:14px;border:1px solid rgba(143,168,15,.34);background:linear-gradient(135deg,#8fa80f29,#8fa80f0f),#fffffff2;color:#516611;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.caes-table-management__button:hover{transform:translateY(-1px);border-color:#8fa80f7a;box-shadow:0 16px 28px -24px #8fa80fe0;background:linear-gradient(135deg,#8fa80f3d,#8fa80f1f),#fffffffa;color:#46580f}.caes-table-management__button:focus-visible{outline:2px solid rgba(143,168,15,.38);outline-offset:2px}.caes-line-badge,.caes-ficha-badge,.caes-doc-status-badge,.caes-delete-request-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:30px;padding:.28rem .62rem;border-radius:999px;font-size:.76rem;font-weight:700}.caes-line-badge{color:#7b5a1c;background:#fdf5e8f2;border:1px solid rgba(240,221,189,.95)}.caes-ficha-badge{color:#5f6f12;background:#f3f9e1fa;border:1px solid rgba(199,218,125,.9)}.caes-doc-status-badge{white-space:nowrap}.caes-doc-status-badge--pending{color:#7b5a1c;background:#fdf5e8f2;border:1px solid rgba(240,221,189,.95)}.caes-doc-status-badge--in-progress{color:#8c5d07;background:#fff4d6f5;border:1px solid rgba(242,211,132,.95)}.caes-doc-status-badge--submitted{color:#2d6a42;background:#e4f6e9f5;border:1px solid rgba(173,221,188,.95)}.caes-delete-request-badge{color:#8c5d07;background:#fff4d6f5;border:1px solid rgba(242,211,132,.95)}.caes-project-detail__summary{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.caes-project-detail__general-card,.caes-project-detail__context-card{display:grid;gap:.9rem;padding:1rem 1.1rem;border-radius:1.5rem;border:1px solid rgba(240,221,189,.92);background:radial-gradient(circle at top left,#c1ff7214,#fffffffa 72%),#fffffff5}.caes-project-detail__general-card{margin-top:1rem}.caes-project-detail__general-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.caes-project-detail__general-head h3{margin:0}.caes-project-detail__general-head p{margin:.2rem 0 0;color:var(--ink-muted)}.caes-project-detail__general-content{display:grid;gap:.75rem}.caes-project-detail__general-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.55rem;min-width:fit-content}.caes-project-detail__context-head{display:grid;gap:.22rem}.caes-project-detail__context-head h3{margin:0}.caes-project-detail__context-head p{margin:0;color:var(--ink-muted)}.caes-project-detail__layout{display:grid;gap:1rem;align-items:start}.caes-project-detail__phases-panel{grid-column:1 / -1}.caes-project-detail__main{display:grid;gap:1rem;min-width:0}.caes-project-detail__phases-wrap{display:grid;gap:.75rem}.caes-project-detail__phases{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;align-items:stretch}.caes-project-detail__phases--workspace{grid-template-columns:repeat(4,minmax(0,1fr))}.caes-phase-tab{--phase-tab-bg: #eef2f5;--phase-tab-border: rgba(215, 223, 208, .98);--phase-tab-border-size: 1px;--phase-tab-shape: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%);position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:74px;width:100%;padding:.9rem 1rem .9rem 1.55rem;border:0;background:var(--phase-tab-border);color:#536271;font-weight:700;font-size:clamp(.82rem,.75rem + .18vw,.98rem);line-height:1.2;text-align:center;cursor:pointer;clip-path:var(--phase-tab-shape);isolation:isolate;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.caes-phase-tab:before{content:"";position:absolute;inset:var(--phase-tab-border-size);z-index:0;background:var(--phase-tab-bg);clip-path:var(--phase-tab-shape);transition:background var(--transition-fast)}.caes-phase-tab>*{position:relative;z-index:1}.caes-project-detail__phases--workspace .caes-phase-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem}.caes-phase-tab__label{display:block}.caes-phase-tab__status{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:999px;background:#27c65a29;color:#1f8d45;font-size:.74rem;line-height:1;flex:0 0 auto}.caes-phase-tab__count{display:block;font-size:.9rem;opacity:.86}.caes-phase-tab:hover{transform:translateY(-1px);--phase-tab-border: rgba(143, 168, 15, .38);box-shadow:0 14px 22px -18px #10182859}.caes-phase-tab--first{--phase-tab-shape: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 12px 50%);padding-left:1.15rem}.caes-phase-tab--last{--phase-tab-shape: polygon(0 0, 100% 0, 100% 100%, 0 100%, 18px 50%)}.caes-phase-tab--completed{--phase-tab-bg: #eaf8ee;--phase-tab-border: #a8dfba;color:#20633b}.caes-phase-tab--completed:hover{--phase-tab-bg: #ddf4e4;--phase-tab-border: #7bc893}.caes-phase-tab--current,.caes-phase-tab--active{--phase-tab-bg: #27c65a;--phase-tab-border: #27c65a;color:#fff}.caes-phase-tab--current .caes-phase-tab__status,.caes-phase-tab--active .caes-phase-tab__status{background:#ffffff38;color:#fff}.caes-phase-tab--current:hover,.caes-phase-tab--active:hover{--phase-tab-bg: #22b452;--phase-tab-border: #22b452}.caes-phase-tab--current.caes-phase-tab--selected{--phase-tab-border: #93d5ff;--phase-tab-border-size: 2px;box-shadow:0 14px 22px -20px #0ea5e98c}.caes-phase-tab--current.caes-phase-tab--selected:hover{--phase-tab-bg: #27c65a;--phase-tab-border: #7cccff}.caes-phase-tab--viewing{--phase-tab-bg: #eaf3ff;--phase-tab-border: #93c5fd;color:#1f5d94}.caes-phase-tab--viewing .caes-phase-tab__status{background:#3b82f621;color:#1f5d94}.caes-phase-tab--viewing:hover{--phase-tab-bg: #dcecff;--phase-tab-border: #60a5fa}.caes-phase-tab--future{--phase-tab-bg: #eef2f5;--phase-tab-border: #d8dee6;color:#667587}.caes-phase-tab--future:hover{--phase-tab-bg: #e7edf3;--phase-tab-border: #c6d0da}.caes-phase-tab--disabled,.caes-phase-tab:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.caes-phase-tab--disabled:hover,.caes-phase-tab:disabled:hover{--phase-tab-bg: #eef2f5;--phase-tab-border: #d8dee6}.caes-detail-button-row{margin-top:.2rem}.caes-tool-embed{margin-top:1rem;padding:.9rem;border-radius:1.6rem;border:1px solid rgba(222,230,213,.95);background:radial-gradient(circle at top left,#c1ff721f,#fffffff5 42%),#fffffff0;overflow:hidden}.caes-tool-embed--loading{box-shadow:inset 0 0 0 1px #f0ddbd47}.caes-tool-embed__loading{display:flex;align-items:center;gap:.5rem;padding:0 0 .75rem;color:var(--ink-muted);font-size:.92rem}.caes-tool-embed__frame{display:block;width:100%;border:0;border-radius:1rem;background:transparent}.caes-detail-status-line{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:.95rem}.caes-detail-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.caes-detail-data-grid--general{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.caes-detail-data-item{display:grid;gap:.24rem;min-width:0;padding:.85rem .95rem;border-radius:var(--radius-md);border:1px solid rgba(240,221,189,.82);background:#ffffffe6}.caes-detail-data-item--wide{grid-column:span 2}.caes-detail-data-item span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.caes-detail-data-item strong{color:var(--ink);line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.caes-detail-danger-button{border-color:#d92d2038;color:#b42318}.caes-detail-danger-button:hover{border-color:#d92d2061;background:#fef2f2e0}.caes-actions-cell{min-width:164px}.caes-actions-cell--grouped{min-width:214px;gap:.48rem}.caes-progress-stack{display:grid;gap:.34rem;min-width:132px}.caes-progress-stack strong{color:var(--ink)}.caes-progress-bar{position:relative;width:100%;height:8px;overflow:hidden;border-radius:999px;background:#e2e8f0f2}.caes-progress-bar__fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#8fa80f,#27c65a)}.caes-phase-action-button{width:100%;min-width:0;min-height:40px;padding:.54rem .72rem;border-radius:8px;justify-content:center;line-height:1.18;white-space:normal}.caes-actions-row{display:flex;align-items:flex-start;gap:.58rem}.caes-action-item{position:relative;display:inline-flex}.caes-action-icon{width:38px;height:38px;border:1px solid rgba(215,223,208,.98);border-radius:12px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.caes-action-icon svg{width:18px;height:18px}.caes-action-item:hover .caes-action-icon,.caes-action-item:focus-within .caes-action-icon{transform:translateY(-1px);border-color:#8fa80f6b;box-shadow:0 14px 22px -18px #10182873;background:#fafcf5fa}.caes-action-icon:disabled{cursor:default;color:#98a2b3;background:#f8fafc;border-color:#d0d5ddf2;box-shadow:none;transform:none}.caes-action-tooltip{position:absolute;top:calc(100% + .42rem);left:50%;transform:translate(-50%,4px);padding:.32rem .54rem;border-radius:999px;background:#475467e0;color:#fff;font-size:.72rem;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast)}.caes-action-item:hover .caes-action-tooltip,.caes-action-item:focus-within .caes-action-tooltip{opacity:1;transform:translate(-50%)}.caes-doc-cell__error{color:#b42318}.caes-empty-state--compact{min-height:140px}.caes-chat-hero-meta{display:flex;flex-wrap:wrap;gap:.45rem .75rem;margin-top:.45rem}.caes-chat-hero-meta span{font-size:.84rem;color:var(--ink-muted)}.caes-chat-thread{display:grid;gap:.8rem;min-height:280px;max-height:56vh;overflow-y:auto;padding-right:.2rem}.caes-chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.9rem;margin-bottom:.9rem}.caes-chat-toolbar__stats{display:flex;flex-wrap:wrap;gap:.55rem .85rem}.caes-chat-toolbar__stats span{font-size:.8rem;color:var(--ink-muted)}.caes-chat-sync-error{margin:0 0 .95rem;padding:.75rem .9rem;border-radius:14px;border:1px solid rgba(253,184,19,.35);background:#fffadceb;color:#8a5a00;font-size:.84rem}.caes-chat-day-separator{display:flex;align-items:center;gap:.85rem;margin:.15rem 0;color:var(--ink-muted)}.caes-chat-day-separator:before,.caes-chat-day-separator:after{content:"";flex:1;height:1px;background:#0f172a14}.caes-chat-day-separator span{font-size:.76rem;text-transform:capitalize;letter-spacing:.04em}.caes-chat-message{max-width:min(680px,92%);padding:.88rem .95rem;border-radius:18px 18px 18px 8px;background:#fff7e6f5;border:1px solid rgba(240,221,189,.92);box-shadow:var(--shadow-soft)}.caes-chat-message--mine{margin-left:auto;border-radius:18px 18px 8px;background:#f3f9e1fa;border-color:#c7da7de6}.caes-chat-message__meta{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-bottom:.35rem}.caes-chat-message__meta strong{color:var(--ink)}.caes-chat-message__meta span{font-size:.76rem;color:var(--ink-muted);white-space:nowrap}.caes-chat-message__author{margin-bottom:.3rem;font-size:.74rem;color:var(--ink-muted)}.caes-chat-message p{margin:0;color:var(--ink);line-height:1.58;white-space:pre-wrap;word-break:break-word}.caes-chat-composer{display:grid;gap:.85rem}.caes-chat-emoji-row{display:flex;flex-wrap:wrap;gap:.45rem}.caes-emoji-chip{min-width:42px;min-height:38px;padding:.32rem .55rem;border-radius:999px;border:1px solid rgba(215,223,208,.98);background:#fff;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.caes-emoji-chip:hover{transform:translateY(-1px);border-color:#8fa80f6b;box-shadow:0 14px 20px -20px #10182873}.caes-chat-field{display:grid;gap:.38rem}.caes-chat-field span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.caes-chat-field textarea{width:100%;min-height:136px;padding:.85rem .9rem;border-radius:var(--radius-md);border:1px solid var(--line);resize:vertical;font:inherit;background:#fff}.caes-chat-composer__footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.caes-chat-composer__meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem}.caes-chat-composer__footer span{min-height:1.2rem;color:var(--ink-muted);font-size:.8rem}.caes-chat-composer__error{margin:0;color:#b42318;font-size:.82rem}.caes-empty-state{min-height:220px;display:grid;place-content:center;gap:.35rem;text-align:center}.caes-empty-state h3{font-size:1.08rem}.admin-main{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:1rem;display:grid;gap:.9rem}.admin-filter-row{display:grid;grid-template-columns:minmax(240px,1fr) 180px 180px 210px;gap:.55rem}.admin-search,.admin-select{width:100%;padding:.63rem .72rem}.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.55rem;align-items:start;padding:.8rem;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-md)}.admin-form>*{min-width:0}.admin-form input,.admin-form select{width:100%;padding:.6rem .66rem}.admin-form__label{grid-column:1 / -1;color:var(--ink-muted);font-size:.8rem}.admin-form__hint{grid-column:1 / -1;margin:0;color:var(--ink-muted);font-size:.78rem}.admin-branding-field{display:grid;gap:.45rem;align-content:start;grid-column:1 / -1}.admin-branding-preview{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);align-items:center;gap:.75rem;min-height:72px;border:1px dashed var(--line);border-radius:var(--radius-sm);background:#fff;padding:.7rem}.admin-branding-preview img{display:block;width:100%;max-width:120px;height:52px;object-fit:contain;justify-self:start}.admin-branding-preview span{min-width:0;color:var(--ink-soft);font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}.admin-file-input{width:100%;padding:.35rem 0;color:var(--ink-soft);font-size:.82rem}.admin-form__submit{align-self:start;justify-self:start;min-height:44px}.admin-form__actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.profile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.profile-summary__item{display:grid;gap:.24rem;padding:.8rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.profile-summary__label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.profile-summary__value{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.profile-banner{margin:0;padding:.7rem .85rem;border-radius:var(--radius-sm);font-size:.84rem}.profile-banner--success{color:#166534;background:#ecfdf3;border:1px solid #abefc6}.profile-banner--error{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.admin-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md)}.admin-table{width:100%;border-collapse:collapse;min-width:980px;font-size:.9rem}.admin-table thead{background:var(--surface-2)}.admin-table th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-muted);padding:.76rem .82rem;border-bottom:1px solid var(--line)}.admin-table td{color:var(--ink-soft);padding:.72rem .82rem;border-bottom:1px solid var(--line);vertical-align:top}.admin-table tbody tr:hover{background:#f7faef}.admin-table tbody tr.row-selected{background:#eef6d5}.admin-table tbody tr.row-inactive td{opacity:.58}.admin-table__actions,.admin-table__actions-header{width:72px;text-align:center}.admin-row-menu{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:top}.admin-row-menu__trigger{width:36px;height:36px;padding:0;border-radius:12px;border:1px solid rgba(15,23,42,.1);background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.admin-row-menu__trigger svg{width:16px;height:16px}.admin-row-menu__trigger:hover,.admin-row-menu__trigger.is-open{border-color:#8fa80f6b;box-shadow:0 14px 20px -22px #10182873}.admin-row-menu__trigger:focus-visible{outline:2px solid rgba(143,168,15,.45);outline-offset:2px}.admin-row-menu__list{position:absolute;top:calc(100% + .35rem);right:0;z-index:6;min-width:180px;display:grid;gap:.18rem;padding:.35rem;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#fffffffa;box-shadow:0 24px 36px -28px #0f172a73;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-row-menu__item{width:100%;min-height:38px;padding:.58rem .72rem;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:.82rem;text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.admin-row-menu__item:hover,.admin-row-menu__item:focus-visible{background:#f3f8df;color:var(--ink);outline:none}.admin-row-menu__item--danger{color:#b42318}.admin-row-menu__item--danger:hover,.admin-row-menu__item--danger:focus-visible{background:#fef3f2;color:#b42318}.admin-table__stack{display:grid;gap:.22rem}.admin-table__meta{font-size:.75rem;color:var(--ink-muted)}.admin-table__date{white-space:nowrap}.admin-table__detail-row td{padding:0;background:#fbfcf7}.admin-inline-panel{display:grid;gap:.95rem;padding:.95rem;background:linear-gradient(180deg,#f4f9e7e6,#fffffff5)}.admin-inline-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.admin-inline-panel__header h3{margin:0;font-size:1rem;color:var(--ink)}.admin-inline-panel__lead{margin:.24rem 0 0;color:var(--ink-muted);font-size:.82rem}.admin-form--inline{margin-top:.1rem}.role-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.2rem .56rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.role-admin{color:#9f2a1f;background:#ffe6e2}.role-superadmin{color:#5c2a00;background:#ffe8c7}.role-member{color:#126a42;background:#e6f6ef}.role-client,.role-viewer{color:#235896;background:#e6f0fb}.agreement-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;padding:.2rem .56rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.agreement-accepted{color:#126a42;background:#e6f6ef}.agreement-pending{color:#9f2a1f;background:#ffe6e2}.admin-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.55rem}.admin-tool-card{display:flex;align-items:center;gap:.68rem;border:1px solid var(--line);border-radius:var(--radius-md);padding:.72rem .76rem;background:var(--surface-2);transition:border-color var(--transition-fast),background var(--transition-fast)}.admin-tool-card:hover{border-color:var(--accent-strong)}.admin-tool-card.is-active{border-color:#8fa80f73;background:#f2f9da}.admin-tool-card input[type=checkbox]{accent-color:var(--accent-strong)}.admin-tool-card strong{display:block;color:var(--ink);font-size:.9rem}.admin-tool-slug{display:block;margin-top:.12rem;color:var(--ink-muted);font-size:.76rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;border:1px solid var(--line-strong);background:#fffffff7;box-shadow:var(--shadow-strong);border-radius:var(--radius-md);padding:.8rem;display:flex;gap:.8rem;align-items:flex-end;justify-content:space-between}.cookie-banner__text{display:grid;gap:.32rem}.cookie-banner__text strong{font-size:.9rem}.cookie-banner__text p{font-size:.82rem;color:var(--ink-muted);line-height:1.45}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.cookie-preferences-toggle{position:fixed;right:16px;bottom:16px;z-index:50;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink-soft);border-radius:999px;padding:.45rem .7rem;font-size:.79rem;cursor:pointer}.cookie-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118276b;z-index:80;display:grid;place-items:center;padding:1rem}.cookie-modal{width:min(560px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong);padding:1rem;display:grid;gap:.62rem}.cookie-modal h3{font-size:1.1rem}.cookie-modal__hint,.cookie-modal__sync,.cookie-row small{color:var(--ink-muted)}.cookie-modal__hint,.cookie-modal__sync{font-size:.8rem}.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);padding:.56rem .66rem}.cookie-row span{display:grid;gap:.12rem}.cookie-row strong{font-size:.88rem}.cookie-row small{font-size:.75rem}.cookie-modal__actions{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.18rem}.app-confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#1118276b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-confirm-dialog{width:min(100%,30rem);border:1px solid rgba(214,223,182,.95);border-radius:1.5rem;background:radial-gradient(circle at top left,#f3f9e1f5,#fffffffa 55%);box-shadow:0 28px 80px #0f172a2e;padding:1.5rem}.app-confirm-dialog__content{display:grid;gap:.75rem}.app-confirm-dialog__eyebrow{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#7a8652}.app-confirm-dialog h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--ink)}.app-confirm-dialog p{margin:0;color:var(--ink-soft);line-height:1.6}.app-confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.85rem;margin-top:1.5rem}.app-confirm-dialog__confirm{min-width:10.5rem}@media (max-width: 1040px){.login-grid,.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{position:static}}@media (max-width: 760px){.app-error-card{grid-template-columns:1fr}.app-error-copy,.app-error-panel{padding:1.4rem}.app-error-notes,.portal-grid{grid-template-columns:1fr}.hub-business-logo{height:102px;padding:0}.hub-business-logo__image{transform:scale(1.95)}.hub-business-logo__image.logo-caes{transform:scale(1.65)}.hub-business-logo__image.logo-deducciones{transform:scale(1.9)}.hub-business-logo__image.logo-gestion-energetica{transform:scale(1.95)}.hub-business-logo__image.logo-ayudas{transform:scale(2.05)}.hub-business-logo__image.logo-electrointensivos{transform:scale(2.45)}.dashboard-topbar{flex-direction:column;align-items:flex-start}.dashboard-topbar__actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.admin-filter-row{grid-template-columns:1fr}.admin-row-menu{align-items:center}.admin-row-menu__list{left:0;right:auto;min-width:min(220px,calc(100vw - 3rem))}.admin-inline-panel__header{flex-direction:column;align-items:flex-start}.category-hero{flex-direction:column}.caes-workspace__hero,.caes-action-grid{grid-template-columns:1fr}.caes-panel__head,.caes-phase-selector__header,.caes-filters-card__footer,.caes-selection-toolbar__summary{flex-direction:column}.caes-phase-selector__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.caes-project-detail__layout{grid-template-columns:minmax(0,1fr)}.caes-project-detail__general-head{flex-direction:column}.caes-project-detail__general-actions{justify-content:flex-start;width:100%}.caes-project-detail__phases{grid-template-columns:repeat(2,minmax(0,1fr))}.caes-chat-message{max-width:100%}.caes-chat-message__meta,.caes-chat-toolbar,.caes-chat-composer__footer{flex-direction:column;align-items:flex-start}.cookie-banner{flex-direction:column;align-items:stretch}.cookie-banner__actions{justify-content:flex-start}.legal-gate-backdrop{align-items:start;padding:max(.6rem,env(safe-area-inset-top)) max(.6rem,env(safe-area-inset-right)) max(.6rem,env(safe-area-inset-bottom)) max(.6rem,env(safe-area-inset-left))}.legal-gate{width:100%;max-height:calc(100vh - 1.2rem);max-height:calc(100dvh - 1.2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:.85rem}.legal-gate__footer{flex-direction:column;align-items:stretch}.legal-gate__actions{width:100%;display:grid;gap:.6rem}.legal-gate__actions .ghost-button,.legal-gate__footer .primary-button{width:100%}}@media (max-width: 640px){.caes-detail-data-item--wide{grid-column:auto}.caes-phase-selector__grid,.caes-project-detail__phases{grid-template-columns:minmax(0,1fr)}.caes-tool-embed__frame{min-height:440px}.caes-phase-tab,.caes-phase-tab--first,.caes-phase-tab--last{clip-path:none;padding-left:1rem}}
