:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f0f0f0;background:linear-gradient(180deg,#ffffff03,#fff0 20%),radial-gradient(120% 90% at 50% 0%,rgba(255,17,53,.035),transparent 42%),#0d0d0d;line-height:1.5;font-weight:400;color-scheme:dark;--color-black: #f0f0f0;--color-red: #ff1135;--color-red-dark: #d10f2f;--color-white: #ffffff;--color-surface: #1c1c1e;--color-surface-2: #171717;--color-surface-3: #2a2a2e;--color-surface-4: #333338;--color-border: #2e2e2e;--color-border-soft: rgba(255, 255, 255, .06);--color-muted: #888888;--color-sidebar: #111111;--color-shadow: rgba(0, 0, 0, .28)}html{font-size:14px}*{box-sizing:border-box}body{margin:0;min-width:320px;color:var(--color-black);background:linear-gradient(180deg,#ffffff03,#fff0 20%),radial-gradient(120% 90% at 50% 0%,rgba(255,17,53,.035),transparent 42%),#0d0d0d}button,input,textarea,select{font:inherit}button{border:1px solid rgba(255,17,53,.3);border-radius:9px;padding:.62rem .9rem;background:var(--color-red);color:var(--color-white);cursor:pointer;transition:background-color .14s ease,transform .14s ease,box-shadow .14s ease}button:hover{background:var(--color-red-dark);transform:translateY(-1px);box-shadow:0 10px 18px #ff11352e}button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.secondary-button{background:var(--color-surface-2);color:var(--color-black);border:1px solid var(--color-border);box-shadow:none}.secondary-button:hover{background:#27272a;color:var(--color-black);border-color:var(--color-surface-4);box-shadow:none}.link-button{display:inline-flex;align-items:center;text-decoration:none}input,textarea,select{width:100%;margin-top:.4rem;padding:.62rem .8rem;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-2);color:var(--color-black);transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}input:focus,textarea:focus,select:focus{outline:2px solid rgba(212,24,36,.18);border-color:var(--color-red);box-shadow:0 0 0 3px #ff11351f}textarea{min-height:120px}.shell{display:grid;grid-template-rows:auto 1fr;min-height:100vh;background:#0d0d0d}.topbar{display:flex;align-items:center;gap:.9rem;padding:0 18px;min-height:50px;background:#171717f5;color:var(--color-white);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.brand-logo{width:auto;height:28px;object-fit:contain;padding:0;flex-shrink:0}.brand-copy{display:grid;gap:.1rem}.brand-copy span{font-size:.94rem;font-weight:750;letter-spacing:-.03em}.brand-copy small{color:#ffffff94;letter-spacing:.04em;font-size:.74rem}.topbar-nav{display:inline-flex;align-items:center;justify-content:flex-start;gap:.35rem;min-width:0;flex:0 1 auto}.topbar-switcher{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:nowrap;white-space:nowrap}.topbar-nav-sep{display:inline-flex;align-items:center;flex-shrink:0;width:1px;height:18px;background:var(--color-border);margin:0 2px;align-self:center}.topbar-switcher-link{display:inline-flex;align-items:center;min-height:32px;padding:.4rem .72rem;color:#8a8a8a;text-decoration:none;background:transparent;border:1px solid transparent;font-size:13px;font-weight:600;white-space:nowrap;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.topbar-switcher-link:hover{color:var(--color-white);background:transparent;border-color:transparent}.topbar-switcher-active{display:inline-flex;align-items:center;min-height:32px;padding:.4rem .72rem;color:var(--color-white);font-size:13px;font-weight:600;white-space:nowrap;border-bottom:3px solid var(--color-red);cursor:default}.topbar-logout-btn{display:inline-flex;align-items:center;min-height:32px;padding:.4rem .72rem;border-radius:7px;color:#ffffff9e;background:transparent;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.topbar-logout-btn:hover{background:transparent;border-color:transparent;color:var(--color-white);transform:none;box-shadow:none}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-left:auto;min-width:0}.topbar-nav a{display:inline-flex;align-items:center;min-height:32px;padding:.4rem .78rem;border-radius:7px;color:#ffffffc7;text-decoration:none;font-size:13px;font-weight:600;background:transparent;border:1px solid transparent;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.topbar-nav a:hover{background:transparent;border-color:transparent;color:var(--color-white)}.topbar-nav a.active{background:var(--color-red);color:var(--color-white);border-color:#ff113559}.content{padding:.95rem 1.1rem 1.1rem;background:linear-gradient(180deg,#ffffff03,#fff0 24%),#0d0d0d}.login-shell{min-height:100vh;position:relative;overflow:hidden;background:#0d0d0d;color:var(--color-white)}.login-hero-media,.login-hero-overlay{position:absolute;inset:0;width:100%;height:100%}.login-hero-media{z-index:0;object-fit:cover;object-position:center top}.login-hero-overlay{z-index:1;background:linear-gradient(to bottom,#0d0d0d29,#0d0d0d7a 46%,#0d0d0de6)}.login-header{position:relative;z-index:2;display:flex;align-items:center;min-height:48px;padding:0 1rem;background:#171717f5;border-bottom:1px solid rgba(255,255,255,.1)}.login-brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--color-white)}.login-brand img{width:20px;height:30px;object-fit:contain}.login-brand span{display:grid;line-height:1}.login-brand strong{font-size:.86rem}.login-brand small{margin-top:.15rem;color:var(--color-muted);font-size:.65rem}.login-main{position:relative;z-index:2;display:grid;min-height:calc(100vh - 48px);place-items:center;padding:2rem 1.1rem}.login-card{width:min(530px,100%);display:grid;justify-items:center;gap:.85rem;padding:1.7rem;border-radius:16px;background:#171717f0;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 42px #0000006b}.login-mark{width:74px;height:118px;object-fit:contain}.login-card h1{display:grid;margin:0;color:var(--color-white);font-size:1.45rem;line-height:1.12;text-align:center}.login-card h1 span{color:var(--color-red)}.login-copy{margin:0;color:var(--color-muted);line-height:1.45;font-size:.95rem;text-align:center}.login-form{display:grid;width:min(100%,410px);gap:.75rem}.login-form label{display:grid;gap:.35rem;color:var(--color-muted);font-size:.78rem;font-weight:700}.login-form input{min-height:42px;background:#0d0d0dbd;color:var(--color-white)}.login-form button{width:100%;min-height:42px}.login-reassurance,.login-security-note{margin:0;text-align:center}.login-reassurance{margin-top:.4rem;font-size:.86rem;font-weight:700}.login-security-note{color:var(--color-muted);font-size:.75rem}@media(max-width:768px){.login-hero-media{object-position:center top}.login-card{padding:1.35rem}}@media(prefers-reduced-motion:reduce){.login-hero-media{display:none}}.page{display:grid;gap:.9rem}.page-header,.section-header,.toolbar,.actions,.path-row,.path-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;color:var(--color-red);font-size:.72rem}.back-link{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.45rem;color:var(--color-muted);font-size:.92rem}.back-link-icon{font-size:.8rem}.back-link:hover{color:var(--color-red-dark)}.page-header h1,.section-header h3,.client-card h3{margin:.2rem 0 0}h1{margin:0;font-size:1.45rem;line-height:1.15;letter-spacing:-.03em}h2{margin:0;font-size:1.2rem;line-height:1.2;letter-spacing:-.02em}h3{margin:0;font-size:1rem;line-height:1.2;letter-spacing:-.015em}p{margin-top:0}.card{padding:.9rem;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 12px 24px var(--color-shadow)}.muted{color:var(--color-muted)}.section-stack,.sync-stats,.sync-review-list,.review-controls{display:grid;gap:.75rem}.sync-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));color:var(--color-muted);font-size:.88rem}.audit-summary,.audit-list{display:grid;gap:.5rem}.audit-list ul{margin:0;padding-left:1.2rem;color:var(--color-muted)}.warning{color:#ff8ea0;font-weight:600}.form-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-row-5{display:grid;gap:.75rem;grid-template-columns:repeat(5,minmax(0,1fr))}.settings-form,.settings-group,.settings-group-header{display:grid;gap:.75rem}.settings-group-header h3,.settings-group-header p{margin:0}.settings-group-header p{color:var(--color-muted)}.settings-actions{margin-top:.15rem}.form-row{display:grid;gap:.75rem}.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.full-width{grid-column:1 / -1}.checkbox-row{display:flex;align-items:center;gap:.6rem}.checkbox-row input{width:auto;margin:0}.integration-key-row{display:grid;gap:.6rem}.integration-key-actions{display:flex;gap:.6rem;flex-wrap:wrap}.path-list{display:grid;gap:.65rem}.path-row{padding-top:.65rem;border-top:1px solid var(--color-border-soft)}.path-row p{margin:.25rem 0 0;color:var(--color-muted);word-break:break-all}.badge{padding:.28rem .6rem;border-radius:999px;font-size:.74rem}.badge.ok{background:#2ecc711f;color:#7fe2a7}.badge.muted{background:#ffffff0f;color:#a8a8a8}.badge.warning{background:#ff113524;color:#ff8ea0}.review-card{display:grid;gap:.75rem;padding:.75rem 0 0;border-top:1px solid var(--color-border-soft)}.review-card p{margin:.3rem 0 0;color:var(--color-muted)}.portal-contacts-page{gap:.85rem}.portal-contacts-page-header{align-items:stretch}.portal-contacts-title{width:100%;display:grid;grid-template-columns:minmax(280px,1fr) minmax(520px,auto);gap:1rem;align-items:center}.portal-contact-tools{display:grid;grid-template-columns:minmax(280px,480px) minmax(132px,max-content) minmax(118px,max-content) auto;gap:.45rem;align-items:center;justify-content:end}.portal-contact-tools input,.portal-contact-tools select{margin-top:0}.portal-contact-tools .link-button{min-height:38px;justify-content:center;white-space:nowrap;padding-inline:.8rem}.portal-contacts-panel{gap:.7rem;padding:.75rem}.portal-contacts-summary{display:flex;justify-content:flex-end;gap:.45rem}.contact-admin-layout{display:grid;grid-template-columns:minmax(260px,34%) minmax(560px,66%);gap:.95rem;align-items:start}.contact-directory,.contact-editor-pane,.contact-form,.contact-list,.contact-editor,.form-section,.project-grants-editor,.project-grant-pills,.client-scope-cards{display:grid;gap:.6rem}.contact-directory,.contact-editor{min-width:0}.contact-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.contact-directory-heading h3{margin:0}.contact-editor{padding:.95rem;border-radius:12px;border:1px solid var(--color-border-soft);background:#ffffff04}.compact-contact-list{max-height:calc(100vh - 225px);min-height:320px;overflow:auto;padding-right:.2rem;align-content:start;align-items:start}.contact-row{width:100%;display:grid;gap:.22rem;min-height:0;padding:.48rem .55rem;align-self:start;text-align:left;border-radius:8px;border:1px solid var(--color-border-soft);background:#ffffff05;color:var(--color-black);box-shadow:none;line-height:1.15}.contact-row:hover,.contact-row.active{background:#ffffff07;border-color:#ff113561;transform:none;box-shadow:none}.contact-row-topline,.contact-row-meta{display:flex;justify-content:space-between;gap:.5rem;align-items:center;min-width:0}.contact-row-topline strong,.contact-row-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-row-meta{color:var(--color-muted);font-size:.78rem}.contact-row .contact-tags{min-width:0;overflow:hidden;margin-top:.1rem}.contact-tags{display:flex;gap:.25rem;flex-wrap:nowrap;align-items:center}.contact-tag-chip{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;padding:.16rem .34rem;border-radius:999px;border:1px solid var(--color-border-soft);background:#ffffff05}.contact-tag-chip strong,.contact-tag-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-tag-chip strong{font-size:.76rem}.contact-tag-chip small{color:var(--color-muted);font-size:.72rem}.contact-editor-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.contact-editor-heading h4{margin:0;font-size:1.02rem}.form-section{padding:.82rem 0 0;border:0;border-top:1px solid var(--color-border-soft);background:transparent}.form-section legend{padding:0 .45rem 0 0;color:var(--color-black);font-size:.88rem;font-weight:700}.client-picker,.selected-client-tags,.project-grant-add{display:grid;gap:.55rem}.client-scope-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.55rem}.client-scope-card{display:grid;gap:.35rem;padding:.55rem .65rem;border-radius:10px;border:1px solid var(--color-border-soft);background:#ffffff05}.client-scope-header{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.client-scope-header strong{font-size:.9rem}.client-scope-header small{color:var(--color-muted);font-size:.78rem}.selected-client-tags,.project-grant-pills{grid-template-columns:repeat(auto-fit,minmax(180px,min(100%,280px)));gap:.35rem}.selected-client-pill,.project-grant-pill{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:.38rem;padding:.32rem .34rem .32rem .52rem;border-radius:14px;border:1px solid var(--color-border-soft);background:#ffffff05}.selected-client-pill.scope{border-color:#ff113542;background:#ff113514}.selected-client-pill span,.project-grant-pill span{min-width:0;display:grid;gap:.02rem}.selected-client-pill strong,.project-grant-pill strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-client-pill small,.project-grant-pill small{color:var(--color-muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-remove{width:20px;height:20px;padding:0;flex:0 0 auto;border-radius:999px;background:#ffffff0f;border:1px solid var(--color-border-soft);color:var(--color-black);line-height:1}.pill-remove:hover{transform:none;box-shadow:none}.compact-help{color:var(--color-muted)}.contact-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.sticky-actions{position:sticky;bottom:0;padding-top:.7rem;background:linear-gradient(180deg,rgba(28,28,30,0),var(--color-surface) 35%)}.project-grant-add{grid-template-columns:minmax(120px,.6fr) minmax(190px,1fr) minmax(260px,1fr) auto;align-items:center}.project-rights{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.right-chip{display:inline-flex;align-items:center;gap:.25rem;margin:0;padding:.34rem .48rem;border-radius:999px;border:1px solid var(--color-border-soft);background:#ffffff05;color:var(--color-muted);font-size:.82rem;cursor:pointer}.right-chip input{width:auto;margin:0}.advanced-projects{border-top:1px solid var(--color-border-soft);padding-top:.55rem}.advanced-projects summary{cursor:pointer;color:var(--color-muted);font-size:.88rem}.card details summary{cursor:pointer;color:var(--color-muted);font-size:.92rem;padding:6px 0;font-weight:600}.card details summary:hover{color:var(--color-red-dark)}.card details[open] summary{margin-bottom:8px}.contact-form textarea,.advanced-projects textarea{min-height:84px}.compact-empty,.empty-state{display:grid;gap:.25rem;padding:1.25rem 1rem;border-radius:12px;border:1px dashed var(--color-border);background:#ffffff05;color:var(--color-muted);font-size:.88rem;text-align:center;place-items:center;min-height:80px}.empty-state p{margin:0;color:var(--color-muted)}.table-card{padding:0;overflow:hidden}.table-card>h3{margin:0;padding:14px 16px 8px;font-size:.95rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.table-card:has(.productions-table-wrap:empty)>h3,.table-card>h3:only-child{padding-bottom:14px}.archived-section{display:grid;gap:1rem}.archived-section>h3{margin:0;padding:0 4px;font-size:.95rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.deletion-card{display:grid;gap:1rem}.archived-toggle{justify-self:start}.archived-empty{margin:0;color:var(--color-muted)}.clients-table-wrap{overflow-x:auto}.clients-table{width:100%;border-collapse:collapse}.clients-table th,.clients-table td{padding:.72rem .85rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border-soft)}.clients-table th:last-child,.clients-table td:last-child{width:1%;white-space:nowrap}.clients-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);background:#ffffff05}.clients-table tbody tr:last-child td{border-bottom:none}.clients-table td p{margin:.15rem 0 0;color:var(--color-muted)}.table-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap;white-space:nowrap}.row-actions-menu{position:relative;display:inline-flex}.row-actions-trigger{display:inline-flex;align-items:center;gap:.35rem}.row-actions-caret{font-size:.75rem;line-height:1}.row-actions-dropdown{position:absolute;top:calc(100% + .4rem);right:0;z-index:20;min-width:240px;display:grid;padding:.35rem;gap:.2rem;border-radius:14px;border:1px solid var(--color-border);background:#1c1c1e;box-shadow:0 18px 32px var(--color-shadow)}.row-actions-dropdown button{width:100%;justify-content:flex-start;background:transparent;color:var(--color-black);box-shadow:none}.row-actions-dropdown button:hover{background:#ff113514;color:#ff8ea0;transform:none;box-shadow:none}.table-actions a,.table-actions button{white-space:nowrap}.table-actions a{padding:.55rem .8rem;border-radius:10px;background:#ffffff0d;color:var(--color-black)}.table-actions a:hover{background:#ff11351a;color:#ff8ea0}.table-actions button{padding:.55rem .8rem}.qonto-cell{display:flex;align-items:center;gap:.6rem}.inline-toggle{padding:.35rem .7rem;background:#ffffff0d;color:var(--color-black);box-shadow:none}.inline-toggle:hover{background:#ff11351a;color:#ff8ea0;box-shadow:none}.sync-inline-row td{background:#ffffff05}.sync-inline-panel{display:grid;gap:.85rem}.sync-inline-meta{margin:0;color:var(--color-muted)}.sync-inline-item p{margin:.25rem 0 0;color:var(--color-muted)}.sync-report-list{display:grid;gap:.65rem}.sync-report-row{padding:.85rem 1rem;border-radius:14px;background:#ffffff08;border:1px solid var(--color-border-soft)}.sync-report-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sync-report-row p{margin:.35rem 0 0;color:var(--color-muted)}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1.5rem;background:#000000b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{width:min(620px,100%);display:grid;gap:1rem;padding:1.4rem;border-radius:18px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 24px 64px var(--color-shadow)}.modal-description{margin:0;color:var(--color-muted)}a{color:var(--color-red);text-decoration:none}a:hover{color:var(--color-red-dark)}.error{margin:0;padding:.9rem 1rem;border-radius:12px;background:#ff11351a;color:#ff8ea0;border:1px solid rgba(255,17,53,.16)}.success{margin:0;padding:.9rem 1rem;border-radius:12px;background:#ffffff0d;color:var(--color-black);border:1px solid var(--color-border-soft)}@media(max-width:900px){.shell,.contact-admin-layout,.project-grant-add,.portal-contacts-title,.portal-contact-tools{grid-template-columns:1fr}.compact-contact-list{max-height:none;min-height:auto}.topbar{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem .9rem;min-height:50px}.topbar-nav{flex-wrap:wrap;justify-content:flex-start}.topbar-actions{margin-left:0;justify-content:flex-start;width:100%}.brand-logo{height:26px}.content{padding:1rem}.form-row-2,.form-row-3,.form-row-4,.form-row-5{grid-template-columns:1fr}}.topbar-mobile-btn{display:none;cursor:pointer;appearance:none;font:inherit;background:transparent;border:none;color:#f0f0f0;width:28px;height:28px;padding:0;margin:0;line-height:1;flex-shrink:0;align-items:center;justify-content:center}#mobile-studio-menu{display:none;position:fixed;top:46px;right:8px;z-index:500;background:#171717;border:1px solid #2e2e2e;border-radius:10px;padding:6px;min-width:180px;box-shadow:0 8px 32px #000000a6;flex-direction:column;gap:2px}#mobile-studio-menu.open{display:flex}#mobile-studio-menu .topbar-switcher-link,#mobile-studio-menu .topbar-switcher-active{display:flex;width:100%;justify-content:flex-start;padding:8px 10px;border-radius:6px;font-size:13px;color:#888;text-decoration:none}#mobile-studio-menu .topbar-switcher-active{border-bottom:none;border-radius:6px;background:#ff11351f;cursor:default;color:#f0f0f0}#mobile-studio-menu .topbar-logout-btn{width:100%;background:none;border:none;color:#888;font-size:13px;text-align:left;padding:8px 10px;cursor:pointer;border-radius:6px}@media(max-width:900px){.topbar{flex-wrap:nowrap;padding:0 8px;min-height:46px;gap:6px;position:sticky;top:0;z-index:1000}.topbar-nav,.topbar-actions{display:none}.topbar-mobile-btn{display:inline-flex}#mobile-studio-btn{margin-left:auto}.brand-logo{height:22px!important}.brand-copy small{display:none}#mobile-sidebar-btn{display:inline-flex}input,select,textarea{font-size:16px!important}input::placeholder,textarea::placeholder{font-size:16px!important}}:root{--app-header-height: 46px}#mobile-app-drawer{display:none;position:fixed;top:var(--app-header-height);left:0;bottom:0;z-index:900;width:220px;background:#171717;border-right:1px solid #2e2e2e;padding:16px 8px 8px;overflow-y:auto;flex-direction:column;gap:2px}#mobile-app-drawer.open{display:flex}#mobile-app-drawer .drawer-link{display:flex;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:600;color:#888;text-decoration:none;transition:background .1s}#mobile-app-drawer .drawer-link:hover,#mobile-app-drawer .drawer-link.active{background:#232326;color:#f0f0f0}#app-drawer-backdrop{display:none;position:fixed;top:var(--app-header-height);left:0;right:0;bottom:0;z-index:800;background:#0000008c}#app-drawer-backdrop.open{display:block}.enrichment-block{margin-bottom:4px}.enrichment-title{margin:0 0 2px;font-size:1rem;font-weight:700;letter-spacing:-.015em;color:var(--color-black)}.enrichment-help{margin:0 0 10px;color:var(--color-muted);font-size:.82rem;line-height:1.4}.enrichment-search-wrapper{position:relative}.enrichment-search-wrapper input{padding-right:36px}.enrichment-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--color-muted);animation:enrichment-spin .8s linear infinite;pointer-events:none}@keyframes enrichment-spin{to{transform:translateY(-50%) rotate(360deg)}}.enrichment-results{position:absolute;left:0;right:0;z-index:30;margin-top:4px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 14px 32px var(--color-shadow);max-height:280px;overflow-y:auto}.enrichment-result-row{display:grid;gap:2px;width:100%;text-align:left;padding:.6rem .85rem;border:none;border-bottom:1px solid var(--color-border-soft);background:transparent;cursor:pointer;color:inherit;font-size:.88rem;transition:background .12s ease}.enrichment-result-row:last-child{border-bottom:none}.enrichment-result-row:hover{background:#ff11350f}.enrichment-result-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.enrichment-result-topline strong{font-size:.94rem;letter-spacing:-.01em}.enrichment-result-meta{font-size:.78rem;color:var(--color-muted)}.enrichment-est-picker{margin-top:10px;padding:.8rem .85rem;border:1px solid var(--color-border-soft);border-radius:12px;background:#ffffff04}.enrichment-picker-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.enrichment-picker-header strong{font-size:.94rem;letter-spacing:-.01em}.enrichment-est-row{display:grid;gap:3px;width:100%;text-align:left;padding:.5rem .65rem;border:1px solid var(--color-border-soft);border-radius:9px;background:transparent;color:inherit;cursor:pointer;font-size:.88rem;transition:background .12s ease}.enrichment-est-row+.enrichment-est-row{margin-top:4px}.enrichment-est-row:hover{background:#ff11350d}.enrichment-est-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.enrichment-diff{margin-top:12px;padding:.7rem .85rem;border:1px solid var(--color-border-soft);border-radius:12px;background:#ffffff04}.enrichment-diff-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.enrichment-diff-header strong{font-size:.94rem;letter-spacing:-.01em}.enrichment-diff-table-wrap{overflow-x:auto;margin:0 -.3rem}.enrichment-diff-table{width:100%;border-collapse:collapse;font-size:.84rem}.enrichment-diff-table th{text-align:left;padding:.4rem .55rem;border-bottom:1px solid var(--color-border-soft);color:var(--color-muted);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.enrichment-diff-table td{padding:.38rem .55rem;border-bottom:1px solid var(--color-border-soft);vertical-align:middle}.enrichment-diff-table tbody tr:last-child td{border-bottom:none}.diff-row-replace{background:#ff11350a}.diff-row-keep{opacity:.55}.diff-cell-label{font-weight:700;font-size:.84rem;white-space:nowrap}.diff-cell-current{color:var(--color-muted)}.diff-cell-proposed{color:var(--color-black);font-weight:500}.diff-cell-action{width:1%;white-space:nowrap}.enrichment-toggle-btn{cursor:pointer;border:none;font-size:.72rem;padding:.22rem .55rem;transition:opacity .1s ease}.enrichment-toggle-btn:hover{opacity:.8}.enrichment-diff-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.productions-table-wrap{overflow-x:auto}.productions-table{width:100%;border-collapse:collapse}.productions-table th{text-align:left;padding:8px 10px;font:600 .82rem/1.2 inherit;color:var(--color-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.productions-table td{padding:7px 10px;border-bottom:1px solid var(--color-border-soft);font-size:.85rem}.productions-table tr:hover{background:var(--color-surface-3)}.productions-table .row-overdue{border-left:3px solid var(--color-red)}.productions-table .text-overdue{color:var(--color-red);font-weight:600}.productions-table .actions-cell{display:flex;gap:4px}.productions-table .actions-cell button{padding:2px 6px;font-size:.8rem;line-height:1}.production-form .production-section{margin-bottom:2px;padding:0}.production-form .section-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border:none;background:transparent;cursor:pointer;color:var(--color-black);text-align:left}.production-form .section-toggle:hover{background:var(--color-surface-3);border-radius:8px}.production-form .section-toggle h3{margin:0;font-size:.95rem}.production-form .toggle-icon{font-size:.9rem;color:var(--color-muted)}.production-form .section-body{padding:0 18px 16px}.deadline-dashboard{margin-bottom:16px}.deadline-dashboard h3{margin-bottom:10px}.deadline-group{margin-bottom:14px}.deadline-group-title{font-size:.82rem;font-weight:600;margin:0 0 6px;padding:4px 0;border-bottom:1px solid var(--color-border-soft)}.deadline-group-title.overdue-title{color:var(--color-red)}.deadline-group-title.awaiting-title{color:#f59e0b}.deadline-group-title.week-title{color:var(--color-muted)}.deadline-row{padding:6px 8px;margin-bottom:3px;border-radius:6px;background:var(--color-surface-2)}.deadline-row.overdue{border-left:3px solid var(--color-red);background:#ff11350f}.deadline-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.deadline-name{font-weight:500;font-size:.88rem}.deadline-meta{display:flex;gap:12px;font-size:.78rem;color:var(--color-muted);margin-top:2px}.deadline-kind{text-transform:uppercase;font-size:.7rem;letter-spacing:.03em}.deadline-status{font-weight:500}.badge.info{background:#1d4ed8;color:#fff;border-radius:999px;padding:2px 9px;font-size:.72rem;font-weight:600}button.small,.secondary-button.small{padding:4px 8px;font-size:.82rem;line-height:1}.progress-bar{position:relative;height:18px;background:var(--color-surface-3);border-radius:9px;overflow:hidden}.progress-bar.small{height:6px;border-radius:3px}.progress-bar .progress-fill{height:100%;background:var(--color-red);border-radius:inherit;transition:width .3s ease}.progress-bar .progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.72rem;font-weight:600;color:var(--color-black)}.progress-bar.small .progress-text{display:none}.progress-cell{min-width:50px}.progress-cell .progress-bar{height:14px}.progress-cell .progress-text{font-size:.68rem}.deadline-progress{font-weight:600;color:var(--color-red);font-size:.78rem}.production-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:10px}.production-card{background:var(--color-surface-2);border:1px solid var(--color-border-soft);border-radius:8px;padding:12px 14px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.production-card:hover{border-color:var(--color-red);background:var(--color-surface-3)}.production-card.card-overdue{border-left:3px solid var(--color-red)}.production-card .production-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.production-card .production-card-name{font-weight:600;font-size:.92rem}.production-card .production-card-meta{display:flex;gap:10px;font-size:.78rem;color:var(--color-muted);margin-bottom:8px}.production-card .production-card-meta .text-overdue{color:var(--color-red);font-weight:600}.history-list{margin-top:10px;max-height:400px;overflow-y:auto}.history-entry{padding:8px 12px;border-bottom:1px solid var(--color-border-soft)}.history-entry:last-child{border-bottom:none}.history-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.history-event{font-weight:600;font-size:.88rem}.history-date{font-size:.78rem;color:var(--color-muted)}.history-message{margin:2px 0 0;font-size:.82rem;color:var(--color-muted)}.history-diff{margin:2px 0 0;font-size:.8rem;color:#a0a0a0}.history-author{margin:2px 0 0;font-size:.76rem;color:var(--color-muted);font-style:italic}.active-productions-summary h3{margin:0 0 4px;padding:0;font-size:.95rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.production-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.production-section .section-header h3{margin:0}.production-section .section-header .secondary-button{font-size:.82rem}.reminder-config-card .global-toggle{margin-bottom:16px;font-weight:600}.reminder-thresholds{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:16px}.threshold-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--color-surface-2)}.threshold-row:has(input:disabled){opacity:.5}.threshold-label{font-weight:600;min-width:60px}.threshold-desc{color:var(--color-muted);font-size:.78rem}.portal-productions-page{max-width:960px;margin:0 auto;padding:24px 16px}.portal-page-title{font-size:1.4rem;font-weight:700;margin:0 0 16px}.portal-page-header{margin-bottom:20px}.portal-loading{color:var(--color-muted);text-align:center;padding:40px 0}.portal-error{color:var(--color-red);text-align:center;padding:12px}.portal-retry-button{display:block;margin:12px auto;padding:8px 20px;background:var(--color-red);color:var(--color-white, #fff);border:none;border-radius:6px;cursor:pointer}.portal-retry-button:hover{opacity:.9}.portal-back-button{background:none;border:none;color:var(--color-red);font-size:.92rem;cursor:pointer;padding:8px 0;margin-bottom:12px}.portal-back-button:hover{text-decoration:underline}.portal-empty-state{color:var(--color-muted);text-align:center;padding:32px 0;font-size:.92rem}.portal-production-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.portal-production-card{display:flex;flex-direction:column;gap:8px;background:var(--color-surface-2);border:1px solid var(--color-border-soft);border-radius:8px;padding:14px 16px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.portal-production-card:hover{border-color:var(--color-red);background:var(--color-surface-3)}.portal-production-card.card-overdue{border-left:3px solid var(--color-red)}.portal-production-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.portal-production-card-name{font-weight:600;font-size:.95rem}.portal-production-card-meta{display:flex;gap:10px;font-size:.78rem;color:var(--color-muted)}.portal-production-card-meta .text-overdue{color:var(--color-red);font-weight:600}.portal-production-card-progress{display:flex;align-items:center;gap:8px}.portal-production-card-progress .progress-bar{flex:1}.portal-production-card-progress .progress-label{font-size:.78rem;font-weight:600;min-width:32px}.portal-section-active h2{margin:0 0 12px;font-size:1.1rem}.portal-section-archives{margin-top:20px}.portal-archives-toggle{background:none;border:1px solid var(--color-border);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.88rem;color:var(--color-muted)}.portal-archives-toggle:hover{border-color:var(--color-red);color:var(--color-red)}.portal-production-detail{display:flex;flex-direction:column;gap:16px}.portal-production-detail-header{display:flex;align-items:center;gap:12px}.portal-production-detail-header h2{margin:0;font-size:1.3rem}.portal-production-detail-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:.88rem;color:var(--color-muted)}.portal-production-detail-meta .text-overdue{color:var(--color-red);font-weight:600}.portal-production-detail-progress{margin:4px 0}.portal-section{padding:12px 16px!important}.portal-section button.section-toggle{background:none;border:none;cursor:pointer;padding:0;width:100%;text-align:left}.portal-section button.section-toggle h3{margin:0;font-size:.95rem;font-weight:600}.portal-section-content p{margin:6px 0;font-size:.88rem}.portal-section-content p strong{color:var(--color-muted);font-weight:600;font-size:.82rem}.portal-section-questions{background:var(--color-surface-3);border-color:var(--color-red)}.portal-section-questions h3{color:var(--color-red-dark, var(--color-red))}.portal-empty-field{color:var(--color-muted);font-style:italic;font-size:.85rem}.portal-last-activity{color:var(--color-muted);font-size:.78rem;text-align:right;margin-top:12px}@media(max-width:640px){.portal-production-grid{grid-template-columns:1fr}.portal-production-detail-meta{flex-direction:column;gap:4px}}.health-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 6px;border-radius:10px;margin-left:6px;white-space:nowrap}.health-badge.health-green{background:#22c55e1f;color:#16a34a}.health-badge.health-orange{background:#f5a6231f;color:#b45309}.health-badge.health-red{background:#ef44441f;color:#dc2626}.health-badge.health-gray{background:#8080801a;color:#888}.export-summary{margin-top:8px}.export-unavailable{margin-top:8px;padding:16px;border:1px dashed rgba(128,128,128,.3);border-radius:8px;background:#ffc1070a;text-align:center}.export-unavailable .muted{font-size:.85em;color:var(--color-muted, #888)}.export-summary-stats{display:flex;flex-direction:column;gap:12px}.export-production-card{border:1px solid rgba(128,128,128,.15);border-radius:8px;overflow:hidden}.export-production-card summary{cursor:pointer;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;background:var(--color-surface, #fafafa);font-weight:600}.export-production-card summary:hover{background:var(--color-surface-alt, #f0f0f0)}.export-production-body{padding:8px 12px;border-top:1px solid rgba(128,128,128,.1)}.export-production-name{font-weight:600}.export-stats-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.export-stat{font-size:13px;color:var(--color-muted, #888)}.export-stat strong{color:var(--color-text, #333)}.export-sub-title{display:block;font-size:11px;font-weight:600;color:var(--color-muted, #888);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.export-deliverables,.export-sessions{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.export-deliverables .chip,.export-sessions .chip{font-size:11px;padding:2px 8px;border-radius:12px;background:#80808014;color:var(--color-text, #333);border:1px solid rgba(128,128,128,.15)}.export-deliverables .chip.delivered,.export-sessions .chip.done{background:#22c55e1a;color:#16a34a;border-color:#22c55e4d}.session-create-form{padding:14px 16px;display:grid;gap:8px;background:var(--color-surface-3);border:1px solid var(--color-border-soft);border-radius:8px;margin-bottom:12px}.session-form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.session-form-input,.session-form-textarea{padding:8px 12px;border:1px solid var(--color-border-soft);border-radius:6px;background:var(--color-surface);color:var(--color-white);font-size:.88rem;font-family:inherit;min-height:36px}.session-form-input:focus,.session-form-textarea:focus{outline:none;border-color:var(--color-red);box-shadow:0 0 0 2px #ff113526}.session-form-textarea{resize:vertical;min-height:44px}.session-form-actions{display:flex;gap:8px;margin-top:4px}.session-confirm-panel{padding:16px 18px;background:var(--color-surface-3);border:1px solid var(--color-border-soft);border-radius:8px}.session-confirm-panel h4{margin:0 0 4px;font-size:.95rem;color:var(--color-white)}.session-confirm-desc{margin:0 0 12px;font-size:.85rem;color:var(--color-muted)}.session-confirm-fields{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.session-confirm-label{display:grid;gap:4px;font-size:.82rem;color:var(--color-muted);font-weight:500}.session-confirm-preview{margin:12px 0;padding:10px 14px;background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:6px;font-size:.88rem;display:flex;gap:16px;align-items:center}.session-confirm-amount{color:var(--color-white);font-weight:600}.session-confirm-unit{color:var(--color-muted);font-size:.82rem}.session-table th{font-size:.82rem;color:var(--color-muted)}.session-col-title{max-width:220px}.session-title-text{font-weight:500;color:var(--color-white)}.session-desc-hint{font-size:.82rem;margin-left:4px;cursor:help;opacity:.7}.session-col-duration,.session-col-billing{font-size:.85rem;white-space:nowrap;color:var(--color-white)}.session-col-actions{white-space:nowrap}.session-actions{display:flex;gap:4px;align-items:center}.session-compta-link{color:#22c55e;font-weight:600;font-size:.82rem}.session-readonly-label{font-size:.82rem;color:var(--color-muted);font-weight:500}.session-row-done{background:#22c55e0f}.session-row-cancelled{opacity:.65}.session-actions .chip{font-size:.82rem;padding:3px 8px;border-radius:4px;cursor:pointer;border:1px solid rgba(255,255,255,.15);background:var(--color-surface-3);color:var(--color-white);transition:background .15s,border-color .15s}.session-actions .chip:hover{background:var(--color-surface-4);border-color:#ffffff40}.session-actions .chip.danger{color:#f87171;border-color:#f871714d;background:#f8717114}.session-actions .chip.danger:hover{background:#f8717126}.session-actions .chip.btn-validate{color:#4ade80;border-color:#4ade804d;background:#4ade8014}.session-actions .chip.btn-validate:hover{background:#4ade8026}.session-actions .chip.btn-edit{color:#60a5fa;border-color:#60a5fa4d;background:#60a5fa14}.session-actions .chip.btn-edit:hover{background:#60a5fa26}.detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:16px}.detail-tab{padding:10px 20px;font-size:.9rem;font-weight:500;color:var(--color-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;font-family:inherit;display:flex;align-items:center;gap:6px}.detail-tab:hover{color:var(--color-white);background:#ffffff08}.detail-tab.active{color:var(--color-white);border-bottom-color:var(--color-red)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:600;color:var(--color-white);background:var(--color-red);border-radius:9px;margin-left:4px}.billing-badge{font-size:.75rem;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap}.billing-badge.billing-pending{color:#fbbf24;border-color:#fbbf244d;background:#fbbf2414}.billing-badge.billing-validated{color:#4ade80;border-color:#4ade804d;background:#4ade8014}.billing-badge.billing-blocked{color:#f87171;border-color:#f871714d;background:#f8717114}.billing-badge.billing-skipped{color:#a0a0a0;border-color:#a0a0a04d;background:#a0a0a014}.billing-na{color:var(--color-muted);font-size:.82rem}.session-billing-actions{padding:12px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--color-surface-3);border:1px solid var(--color-border-soft);border-radius:8px;margin-bottom:4px}.session-billing-confirm{padding:14px 16px;background:var(--color-surface-3);border:1px solid var(--color-border-soft);border-radius:8px;margin-bottom:4px}.session-billing-confirm-text{margin:0 0 10px;font-size:.88rem;color:var(--color-white)}.session-actions .chip.billing-validate-btn{color:#4ade80;border-color:#4ade804d;background:#4ade8014}.session-actions .chip.billing-validate-btn:hover{background:#4ade8026}.session-actions .chip.billing-block-btn{color:#fbbf24;border-color:#fbbf244d;background:#fbbf2414}.session-actions .chip.billing-block-btn:hover{background:#fbbf2426}.session-actions .chip.billing-skip-btn{color:#a0a0a0;border-color:#a0a0a04d;background:#a0a0a014}.session-actions .chip.billing-skip-btn:hover{background:#a0a0a026}.cockpit-overview{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}.cockpit-layout-main,.cockpit-layout-side{display:grid;gap:16px}.cockpit-layout-full{grid-column:1 / -1}.cockpit-block{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:10px;padding:18px 20px}.cockpit-block-title{margin:0 0 14px;font-size:.92rem;font-weight:600;color:var(--color-white);letter-spacing:.01em}.cockpit-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.cockpit-block-header .cockpit-block-title{margin-bottom:0}.cockpit-block-link{background:none;border:none;color:var(--color-red);font-size:.82rem;cursor:pointer;padding:2px 6px;border-radius:4px;font-family:inherit}.cockpit-block-link:hover{text-decoration:underline;background:#ff113514}.cockpit-identity-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.cockpit-title{margin:0;font-size:1.3rem;font-weight:700;color:var(--color-white)}.cockpit-identity-tags{display:flex;gap:6px;align-items:center}.cockpit-identity-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:.85rem}.cockpit-meta-row{display:contents}.cockpit-meta-label{color:var(--color-muted);font-weight:500}.cockpit-meta-value{color:var(--color-white)}.cockpit-progress-bar-container{display:flex;align-items:center;gap:10px;margin-bottom:14px}.cockpit-progress-bar{flex:1;height:8px;background:var(--color-surface-3);border-radius:4px;overflow:hidden}.cockpit-progress-fill{height:100%;background:var(--color-red);border-radius:4px;transition:width .3s ease;min-width:2px}.cockpit-progress-pct{font-size:.9rem;font-weight:700;color:var(--color-white);min-width:40px;text-align:right}.cockpit-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cockpit-stat{text-align:center;padding:10px 6px;background:var(--color-surface-2);border-radius:8px;border:1px solid var(--color-border-soft)}.cockpit-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--color-white);line-height:1.2}.cockpit-stat-label{display:block;font-size:.75rem;color:var(--color-muted);margin-top:4px;line-height:1.3}.cockpit-stat-sub{display:block;font-size:.7rem;color:var(--color-muted);margin-top:2px;opacity:.7}.cockpit-stat-warn{color:#fbbf24}.cockpit-stat-ok{color:#4ade80}.cockpit-stat-danger{color:#f87171}.cockpit-stat-muted{color:#888}.cockpit-billing-total{margin-top:14px;padding:12px 16px;background:#4ade8014;border:1px solid rgba(74,222,128,.2);border-radius:8px;display:flex;justify-content:space-between;align-items:center}.cockpit-billing-total-label{font-size:.85rem;color:var(--color-white);font-weight:500}.cockpit-billing-total-amount{font-size:1.1rem;font-weight:700;color:#4ade80}.cockpit-empty-hint{color:var(--color-muted);font-size:.85rem;margin:0;padding:4px 0}.cockpit-alert-list{display:grid;gap:8px}.cockpit-alert-item{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;font-size:.85rem;line-height:1.4}.cockpit-alert-danger{background:#f8717114;border:1px solid rgba(248,113,113,.2);color:#fca5a5}.cockpit-alert-warning{background:#fbbf2414;border:1px solid rgba(251,191,36,.2);color:#fde68a}.cockpit-alert-info{background:#60a5fa14;border:1px solid rgba(96,165,250,.2);color:#93c5fd}.cockpit-alert-icon{font-size:1rem;flex-shrink:0;margin-top:1px}.cockpit-alert-text{flex:1}.cockpit-action-list{display:grid;gap:8px}.cockpit-action-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface-2);border-radius:8px;border:1px solid var(--color-border-soft);font-size:.85rem;line-height:1.4}.cockpit-action-icon{font-size:1rem;flex-shrink:0}.cockpit-action-text{color:var(--color-white);flex:1}.cockpit-action-link{background:none;border:none;color:var(--color-red);cursor:pointer;padding:0;font-size:.85rem;text-align:left;font-family:inherit;line-height:1.4;flex:1}.cockpit-action-link:hover{text-decoration:underline}.cockpit-history-list{display:grid;gap:6px}.cockpit-history-entry{padding:8px 12px;border-radius:6px;border-left:3px solid var(--color-border);background:var(--color-surface-2)}.cockpit-history-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.cockpit-history-event{font-size:.82rem;font-weight:600;color:var(--color-white)}.cockpit-history-date{font-size:.75rem;color:var(--color-muted);white-space:nowrap}.cockpit-history-message{margin:4px 0 0;font-size:.8rem;color:var(--color-muted);line-height:1.3}@media(max-width:900px){.cockpit-overview{grid-template-columns:1fr}.cockpit-stat-grid{grid-template-columns:repeat(2,1fr)}}.studio-shell{display:flex;min-height:100vh;background:var(--color-surface-2)}.studio-sidebar-wrapper{width:220px;flex-shrink:0;display:flex;flex-direction:column}.studio-sidebar{width:220px;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--color-sidebar);border-right:1px solid var(--color-border);overflow:hidden}.studio-sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 16px 16px;text-decoration:none;border-bottom:1px solid var(--color-border-soft);flex-shrink:0}.studio-sidebar-logo{width:28px;height:28px;border-radius:6px}.studio-sidebar-brand-name{font-size:1rem;font-weight:700;color:var(--color-white);letter-spacing:.02em}.studio-sidebar-nav{flex:1;overflow-y:auto;padding:10px 8px;scrollbar-width:thin;scrollbar-color:var(--color-surface-4) transparent}.studio-sidebar-nav::-webkit-scrollbar{width:4px}.studio-sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-surface-4);border-radius:4px}.studio-sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--color-muted);font-size:.88rem;font-weight:500;transition:background .12s,color .12s;cursor:pointer;margin-bottom:2px;border:none;background:transparent;width:100%;text-align:left;font-family:inherit}.studio-sidebar-item:hover{background:var(--color-surface-3);color:var(--color-white)}.studio-sidebar-item-active{background:#ff11351f;color:var(--color-white)}.studio-sidebar-item-active:hover{background:#ff11352e}.studio-sidebar-icon{font-size:1rem;width:22px;text-align:center;flex-shrink:0}.studio-sidebar-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-sidebar-footer{padding:12px 8px 16px;border-top:1px solid var(--color-border-soft);flex-shrink:0}.studio-sidebar-user{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:.82rem;color:var(--color-muted)}.studio-sidebar-user-icon{font-size:.95rem}.studio-sidebar-user-name{font-weight:500;color:var(--color-white)}.studio-sidebar-logout{display:block;width:100%;margin-top:8px;padding:8px 12px;font-size:.8rem;border:1px solid var(--color-border-soft);border-radius:6px;background:var(--color-surface-2);color:var(--color-muted);cursor:pointer;transition:background .12s,color .12s;text-align:center;font-family:inherit}.studio-sidebar-logout:hover{background:var(--color-surface-3);color:var(--color-white)}.studio-content{flex:1;overflow-y:auto;min-height:100vh}.studio-home-page{display:grid;gap:18px;max-width:1240px;padding:24px}.studio-home-hero,.studio-home-panel,.studio-home-kpi,.studio-home-modules{border:1px solid var(--color-border-soft);background:linear-gradient(180deg,#ffffff09,#ffffff03),var(--color-surface);box-shadow:0 18px 42px #00000038}.studio-home-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:230px;padding:28px;border-radius:24px;overflow:hidden;background:linear-gradient(115deg,#0d0d0ddb,#0d0d0d99),radial-gradient(70% 90% at 88% 14%,rgba(255,17,53,.22),transparent 54%),var(--color-surface)}.studio-home-hero-copy{max-width:720px}.studio-home-hero h1{max-width:760px;margin:.35rem 0 .8rem;color:var(--color-white);font-size:clamp(2rem,4.5vw,4.2rem);line-height:.96;letter-spacing:-.065em}.studio-home-hero p{margin:0;max-width:620px;color:#ffffffad;font-size:1rem}.studio-home-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;flex-shrink:0}.studio-home-primary-action,.studio-home-secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.7rem 1rem;border-radius:999px;text-decoration:none;font-weight:750}.studio-home-primary-action{color:var(--color-white);background:var(--color-red)}.studio-home-secondary-action{color:var(--color-white);border:1px solid var(--color-border-soft);background:#ffffff0f}.studio-home-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.studio-home-kpi{display:grid;gap:.25rem;padding:18px;border-radius:18px;text-decoration:none}.studio-home-kpi span{color:var(--color-white);font-size:2rem;font-weight:800;letter-spacing:-.04em}.studio-home-kpi small{color:var(--color-muted);font-weight:700}.studio-home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px}.studio-home-panel{display:grid;gap:14px;padding:18px;border-radius:20px}.studio-home-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.studio-home-panel-header h2{color:var(--color-white)}.studio-home-panel-header a,.studio-home-modules a{color:var(--color-red);font-weight:750;text-decoration:none}.studio-home-production-list,.studio-home-deadlines{display:grid;gap:8px}.studio-home-production,.studio-home-deadline{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--color-border-soft);border-radius:14px;color:var(--color-white);text-decoration:none;background:#ffffff06}.studio-home-production span:first-child{display:grid;min-width:0}.studio-home-production strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-home-production small,.studio-home-deadline small,.studio-home-deadline span,.studio-home-empty{color:var(--color-muted)}.studio-home-deadline{display:grid;justify-content:stretch}.studio-home-deadline span{color:var(--color-red);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.studio-home-empty{margin:0}.studio-home-modules{display:flex;flex-wrap:wrap;gap:10px;padding:14px;border-radius:18px}.studio-home-modules a{display:inline-flex;padding:.55rem .8rem;border-radius:999px;background:#ffffff0b}.studio-home-spinner{width:20px;height:20px;border:2px solid var(--color-surface-4);border-top-color:var(--color-red);border-radius:999px;animation:client-sidebar-spin .7s linear infinite}.studio-home-error{color:#f87171}.studio-mobile-toggle{display:none;position:fixed;top:10px;left:10px;z-index:1001;width:36px;height:36px;padding:6px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-white);cursor:pointer;align-items:center;justify-content:center}.studio-sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:999}.client-sidebar-section{border-top:1px solid var(--color-border-soft);padding:8px 8px 4px;flex-shrink:0;max-height:40vh;display:flex;flex-direction:column;overflow:hidden}.client-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 6px}.client-sidebar-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.client-sidebar-all{font-size:.72rem;color:var(--color-red);text-decoration:none;font-weight:500}.client-sidebar-all:hover{text-decoration:underline}.client-sidebar-list{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-surface-4) transparent}.client-sidebar-list::-webkit-scrollbar{width:3px}.client-sidebar-list::-webkit-scrollbar-thumb{background:var(--color-surface-4);border-radius:3px}.client-sidebar-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;text-decoration:none;color:var(--color-muted);font-size:.82rem;transition:background .1s,color .1s;cursor:pointer;margin-bottom:1px}.client-sidebar-item:hover{background:var(--color-surface-3);color:var(--color-white)}.client-sidebar-item-active{background:#ff11351a;color:var(--color-white)}.client-sidebar-avatar{width:24px;height:24px;border-radius:6px;background:var(--color-surface-3);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--color-muted);flex-shrink:0}.client-sidebar-item-active .client-sidebar-avatar{background:#ff113533;color:var(--color-white)}.client-sidebar-info{display:flex;flex-direction:column;min-width:0;flex:1}.client-sidebar-name{font-weight:500;color:var(--color-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;line-height:1.3}.client-sidebar-slug{font-size:.68rem;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.client-sidebar-status{display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:.78rem;color:var(--color-muted)}.client-sidebar-error{color:#f87171}.client-sidebar-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--color-surface-4);border-top-color:var(--color-red);border-radius:50%;animation:client-sidebar-spin .6s linear infinite}@keyframes client-sidebar-spin{to{transform:rotate(360deg)}}.sso-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-surface-2)}.sso-card{text-align:center;padding:40px 48px;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;max-width:400px}.sso-card h2{margin:0 0 8px;font-size:1.1rem;color:var(--color-white)}.sso-card p{margin:0;font-size:.88rem;color:var(--color-muted)}.sso-spinner{width:32px;height:32px;margin:0 auto 16px;border:3px solid var(--color-surface-4);border-top-color:var(--color-red);border-radius:50%;animation:sso-spin .6s linear infinite}@keyframes sso-spin{to{transform:rotate(360deg)}}.sso-error{color:#f87171;margin-bottom:16px}.sso-link{display:inline-block;margin-top:12px;color:var(--color-red);text-decoration:none;font-size:.88rem}.sso-link:hover{text-decoration:underline}@media(max-width:768px){.studio-sidebar-wrapper{position:fixed;left:0;top:0;bottom:0;z-index:1000;transform:translate(-100%);transition:transform .2s ease}.studio-sidebar-wrapper.mobile-open{transform:translate(0)}.studio-mobile-toggle{display:flex}.studio-sidebar-backdrop{display:block}.studio-content{padding-top:4px}.studio-home-page{padding:56px 14px 18px}.studio-home-hero{display:grid;min-height:0;padding:22px}.studio-home-actions{justify-content:flex-start}.studio-home-kpis,.studio-home-grid{grid-template-columns:1fr}}.delivery-page{padding:24px;max-width:1200px}.delivery-header{margin-bottom:24px}.delivery-header h1{font-size:1.5rem;font-weight:600;margin:0 0 4px;color:var(--text-primary, #111)}.delivery-header-subtitle{margin:0;color:var(--text-secondary, #666);font-size:.875rem}.delivery-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;color:var(--text-secondary, #666)}.delivery-spinner{width:24px;height:24px;border:3px solid var(--border-color, #e0e0e0);border-top-color:var(--accent-color, #0066cc);border-radius:50%;animation:delivery-spin .6s linear infinite}@keyframes delivery-spin{to{transform:rotate(360deg)}}.delivery-error{text-align:center;padding:48px 24px;color:var(--text-secondary, #666)}.delivery-error-detail{font-size:.8125rem;color:var(--text-muted, #999);margin:8px 0 16px}.delivery-retry-btn{padding:8px 20px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary, #f5f5f5);cursor:pointer;font-size:.875rem}.delivery-retry-btn:hover{background:var(--bg-hover, #e8e8e8)}.delivery-empty{text-align:center;padding:48px 24px;color:var(--text-secondary, #666)}.delivery-empty-hint{font-size:.8125rem;color:var(--text-muted, #999);margin-top:8px}.delivery-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px}.delivery-summary-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px;text-align:center;display:flex;flex-direction:column;gap:4px}.delivery-summary-number{font-size:1.75rem;font-weight:700;color:var(--text-primary, #111);line-height:1}.delivery-summary-label{font-size:.75rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.05em}.delivery-client-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.delivery-client-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:20px}.delivery-client-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.delivery-client-info{display:flex;align-items:center;gap:8px}.delivery-client-name{font-size:1.0625rem;font-weight:600;margin:0;color:var(--text-primary, #111)}.delivery-client-color{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.1)}.delivery-client-stats{display:flex;gap:12px;font-size:.8125rem;color:var(--text-secondary, #666)}.delivery-stat{white-space:nowrap}.delivery-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color, #eee)}.delivery-section-empty{border-top:none;margin-top:0;padding-top:0}.delivery-section-title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #666);margin:0 0 8px}.delivery-channels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.delivery-channel-tag{display:inline-block;padding:2px 8px;background:var(--bg-secondary, #f0f0f0);border-radius:4px;font-size:.75rem;color:var(--text-secondary, #555)}.delivery-format-list{display:flex;flex-direction:column;gap:4px}.delivery-format-item{display:flex;align-items:center;gap:8px;font-size:.8125rem;padding:4px 0}.delivery-format-name{font-weight:500;color:var(--text-primary, #333)}.delivery-format-dims{color:var(--text-muted, #888);font-size:.75rem}.delivery-format-codec{color:var(--text-muted, #888);font-size:.75rem;padding:1px 5px;background:var(--bg-secondary, #f5f5f5);border-radius:3px}.delivery-campaign-list{display:flex;flex-direction:column;gap:6px}.delivery-campaign-item{display:flex;flex-direction:column;gap:2px;padding:6px 0}.delivery-campaign-name{font-weight:500;font-size:.875rem;color:var(--text-primary, #333)}.delivery-campaign-channels{font-size:.75rem;color:var(--text-muted, #888)}.delivery-campaign-objective{font-size:.75rem;color:var(--text-muted, #888);font-style:italic}.delivery-more{font-size:.75rem;color:var(--text-muted, #999);margin:4px 0 0;font-style:italic}.delivery-notice{background:var(--bg-warning, #fff8e1);border:1px solid var(--border-warning, #ffe082);border-radius:8px;padding:16px;font-size:.8125rem;color:var(--text-warning, #6d4c00);line-height:1.5}.delivery-notice p{margin:0}.delivery-notice p+p{margin-top:4px}.delivery-section-block{margin-bottom:32px}.delivery-section-block-title{font-size:1.125rem;font-weight:600;margin:0 0 16px;color:var(--text-primary, #111);display:flex;align-items:center;gap:8px}.delivery-section-block-count{font-size:.75rem;font-weight:400;color:var(--text-muted, #999)}.delivery-prod-list{display:flex;flex-direction:column;gap:12px}.delivery-prod-row{display:flex;gap:12px;align-items:stretch}.delivery-prod-card{flex:1;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.delivery-prod-main{display:flex;justify-content:space-between;gap:16px}.delivery-prod-info{flex:1;min-width:0}.delivery-prod-name{font-size:1rem;font-weight:600;margin:0 0 6px;color:var(--text-primary, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-prod-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.delivery-prod-client{font-size:.8125rem;color:var(--text-secondary, #666)}.delivery-prod-status{font-size:.75rem;padding:2px 8px;border-radius:4px;font-weight:500}.delivery-prod-status-waiting{background:#fff3e0;color:#e65100}.delivery-prod-status-delivered{background:#e8f5e9;color:#2e7d32}.delivery-prod-stats{display:flex;flex-direction:column;gap:8px;min-width:180px;text-align:right}.delivery-prod-deadline-label,.delivery-prod-progress-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #999)}.delivery-prod-deadline-value{font-size:.8125rem;color:var(--text-primary, #333);font-weight:500}.delivery-prod-overdue{color:#d32f2f;font-weight:600}.delivery-prod-progress{display:flex;align-items:center;gap:6px}.delivery-prod-progress-bar-wrap{flex:1;height:6px;background:var(--bg-secondary, #eee);border-radius:3px;overflow:hidden;min-width:60px}.delivery-prod-progress-bar{height:100%;background:var(--accent-color, #0066cc);border-radius:3px;transition:width .3s ease}.delivery-prod-progress-value{font-size:.75rem;color:var(--text-secondary, #666);min-width:28px;text-align:right}.delivery-prod-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-color, #eee)}.delivery-prod-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;text-decoration:none;border:1px solid var(--border-color, #ddd);transition:background .15s,border-color .15s}.delivery-prod-btn-view{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333)}.delivery-prod-btn-view:hover{background:var(--bg-hover, #e8e8e8);border-color:#ccc}.delivery-prod-btn-launch{background:var(--bg-secondary, #f5f5f5);color:var(--text-muted, #aaa);cursor:not-allowed;position:relative}.delivery-prod-badge{font-size:.625rem;background:var(--accent-color, #0066cc);color:#fff;padding:1px 5px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.delivery-catalog-summary{width:160px;min-width:160px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;justify-content:center}.delivery-catalog-link{display:flex;align-items:center;gap:6px;font-size:.75rem}.delivery-catalog-link-emoji{font-size:1rem;line-height:1}.delivery-catalog-link-label{color:var(--text-secondary, #666);font-weight:500}.delivery-catalog-link-linked .delivery-catalog-link-label{color:#2e7d32}.delivery-catalog-link-catalog_no_prod .delivery-catalog-link-label{color:#f57f17}.delivery-catalog-link-no_catalog .delivery-catalog-link-label{color:#c62828}.delivery-catalog-data{display:flex;gap:12px}.delivery-catalog-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.delivery-catalog-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary, #111);line-height:1}.delivery-catalog-stat-label{font-size:.625rem;color:var(--text-muted, #999);text-transform:uppercase;letter-spacing:.03em;text-align:center}@media(max-width:768px){.delivery-prod-row{flex-direction:column}.delivery-catalog-summary{width:100%;min-width:unset;flex-direction:row;align-items:center}.delivery-prod-main{flex-direction:column;gap:8px}.delivery-prod-stats{text-align:left;min-width:unset}}.finance-panel{padding:8px 0}.finance-section{margin-bottom:28px}.finance-section-title{font-size:.9375rem;font-weight:600;margin:0 0 12px;color:var(--text-primary, #111)}.finance-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:4px}.finance-summary-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:14px;text-align:center;display:flex;flex-direction:column;gap:4px}.finance-summary-value{font-size:1.375rem;font-weight:700;color:var(--text-primary, #111);line-height:1.2}.finance-summary-pending{color:var(--text-warning, #e65100)}.finance-summary-slash{font-size:.875rem;font-weight:400;color:var(--text-muted, #999)}.finance-summary-label{font-size:.6875rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.04em}.finance-table-wrap{overflow-x:auto}.finance-table{width:100%;border-collapse:collapse;font-size:.8125rem}.finance-table th{text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #888);padding:8px 12px;border-bottom:2px solid var(--border-color, #e0e0e0);white-space:nowrap}.finance-table td{padding:8px 12px;border-bottom:1px solid var(--border-color, #eee);color:var(--text-primary, #333);vertical-align:middle}.finance-table tbody tr:hover{background:var(--bg-hover, #f8f8f8)}.finance-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-cell-small{font-size:.75rem;color:var(--text-muted, #888);font-family:monospace}.finance-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;white-space:nowrap}.finance-badge-pending{background:#fff3e0;color:#e65100}.finance-badge-validated{background:#e8f5e9;color:#2e7d32}.finance-badge-blocked{background:#fce4ec;color:#c62828}.finance-badge-skipped{background:#f5f5f5;color:#757575}.finance-badge-state{background:#e3f2fd;color:#1565c0}.finance-badge-quoted{background:#e8f5e9;color:#2e7d32}.finance-billing-info{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-secondary, #f9f9f9);border-radius:8px;border:1px solid var(--border-color, #eee)}.finance-billing-row{display:flex;gap:12px;font-size:.8125rem}.finance-billing-label{min-width:130px;font-weight:500;color:var(--text-secondary, #666)}.finance-billing-value{color:var(--text-primary, #333)}.finance-loading,.finance-error,.finance-empty{padding:40px 24px;text-align:center;color:var(--text-secondary, #666)}.finance-error-detail{font-size:.8125rem;color:var(--text-muted, #999);margin:8px 0}.finance-error-hint,.finance-empty-hint{font-size:.8125rem;color:var(--text-muted, #999);margin-top:8px}.finance-loading .delivery-spinner{display:block;margin:0 auto 12px}.activity-page{padding:24px 32px;max-width:1200px}.activity-header{margin-bottom:24px}.activity-header h1{font-size:1.5rem;font-weight:600;margin:0 0 4px;color:var(--color-black)}.activity-header-subtitle{font-size:.8125rem;color:var(--color-muted);margin:0}.activity-loading{text-align:center;padding:48px 0;color:var(--color-muted)}.activity-spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-red);border-radius:50%;animation:delivery-spin .6s linear infinite;margin-bottom:12px}.activity-error{text-align:center;padding:48px 0;color:var(--color-muted)}.activity-error-detail{font-size:.8125rem;color:var(--color-red);margin:4px 0 16px}.activity-retry-btn{background:var(--color-surface-3);color:var(--color-black);border:1px solid var(--color-border);padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.8125rem}.activity-retry-btn:hover{background:var(--color-surface-4)}.activity-empty{text-align:center;padding:32px 0;color:var(--color-muted)}.activity-empty-hint{font-size:.8125rem;color:var(--color-muted);margin-top:4px}.activity-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.activity-kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px;text-align:center}.activity-kpi-number{display:block;font-size:1.5rem;font-weight:700;color:var(--color-black);margin-bottom:4px}.activity-kpi-label{display:block;font-size:.75rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.activity-layout{display:grid;grid-template-columns:340px 1fr;gap:20px;margin-bottom:24px;align-items:start}.activity-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:16px}.activity-section-title{font-size:.9375rem;font-weight:600;margin:0 0 12px;color:var(--color-black);display:flex;align-items:center;gap:8px}.activity-section-count{font-size:.75rem;font-weight:400;color:var(--color-muted);background:var(--color-surface-3);padding:1px 8px;border-radius:10px}.activity-client-list{display:flex;flex-direction:column;gap:4px}.activity-client-row{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--color-border-soft);border-radius:6px;background:transparent;color:var(--color-black);cursor:pointer;text-align:left;font:inherit;transition:background .15s,border-color .15s}.activity-client-row:hover{background:var(--color-surface-3)}.activity-client-row-selected{background:var(--color-surface-3);border-color:var(--color-red)}.activity-client-main{display:flex;justify-content:space-between;align-items:center}.activity-client-name{font-weight:600;font-size:.875rem}.activity-client-date{font-size:.75rem;color:var(--color-muted)}.activity-client-stats{display:flex;gap:12px}.activity-client-stat{font-size:.75rem;color:var(--color-muted)}.activity-detail-block{margin-bottom:20px}.activity-detail-block:last-child{margin-bottom:0}.activity-detail-title{font-size:.875rem;font-weight:600;margin:0 0 8px;color:var(--color-black);display:flex;align-items:center;gap:8px}.activity-table-wrapper{overflow-x:auto}.activity-table{width:100%;border-collapse:collapse;font-size:.8125rem}.activity-table thead{border-bottom:1px solid var(--color-border)}.activity-table th{text-align:left;padding:6px 8px;font-weight:600;color:var(--color-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.activity-table td{padding:6px 8px;border-bottom:1px solid var(--color-border-soft);color:var(--color-black)}.activity-table tbody tr:last-child td{border-bottom:none}.activity-cell-date{white-space:nowrap;color:var(--color-muted);font-size:.75rem}.activity-cell-label{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-cell-num{text-align:right;font-variant-numeric:tabular-nums}.activity-cell-unit{color:var(--color-muted);font-size:.75rem}.activity-cell-amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.activity-cell-ref{font-size:.75rem;color:var(--color-muted)}.activity-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.6875rem;font-weight:500;white-space:nowrap}.activity-badge-pending{background:#ffc10726;color:#ffc107}.activity-badge-quoted{background:#2196f326;color:#2196f3}.activity-badge-invoiced{background:#4caf5026;color:#4caf50}.activity-badge-cancelled{background:#9e9e9e26;color:#9e9e9e}.activity-ref-external{color:#4caf50;font-weight:500}.activity-ref-missing{color:var(--color-red);font-style:italic}.activity-notice{margin-top:24px;padding:12px 16px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:8px;font-size:.8125rem;color:var(--color-muted)}.activity-notice p{margin:0}@media(max-width:768px){.activity-page{padding:16px}.activity-kpis{grid-template-columns:repeat(2,1fr)}.activity-layout{grid-template-columns:1fr}}.billing-page{padding:1.5rem 2rem;max-width:1400px;margin:0 auto}.billing-page-header{margin-bottom:1.25rem}.billing-page-title{font-size:1.4rem;font-weight:600;color:var(--color-white);margin:0 0 .3rem}.billing-page-subtitle{font-size:.8rem;color:var(--color-muted);margin:0;font-style:italic}.billing-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}.billing-kpi-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;padding:.9rem 1rem;display:flex;align-items:center;gap:.75rem}.billing-kpi-card.billing-kpi-alert{border-color:#ffb30066;background:#ffb3000f}.billing-kpi-icon{font-size:1.4rem;line-height:1}.billing-kpi-body{display:flex;flex-direction:column;gap:.1rem}.billing-kpi-value{font-size:1.2rem;font-weight:700;color:var(--color-white);line-height:1.2}.billing-kpi-label{font-size:.72rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.billing-kpis-loading .billing-kpi-card{min-height:60px}.billing-tabs-bar{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem}.billing-tab-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-muted);font-size:.85rem;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.billing-tab-btn:hover{color:var(--color-white)}.billing-tab-btn-active{color:var(--color-white);border-bottom-color:var(--color-red);font-weight:600}.billing-filters{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.billing-filter-group{display:flex;align-items:center;gap:.4rem}.billing-filter-label{font-size:.78rem;color:var(--color-muted)}.billing-filter-select{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-white);border-radius:6px;padding:.3rem .6rem;font-size:.82rem;cursor:pointer}.billing-filter-select:focus{outline:none;border-color:var(--color-red)}.billing-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--color-border)}.billing-table{width:100%;border-collapse:collapse;font-size:.82rem}.billing-table thead tr{background:var(--color-surface-2);border-bottom:1px solid var(--color-border)}.billing-table th{padding:.6rem .9rem;text-align:left;font-size:.72rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.billing-table tbody tr{border-bottom:1px solid var(--color-border-soft);transition:background .1s}.billing-table tbody tr:last-child{border-bottom:none}.billing-table tbody tr:hover{background:#ffffff05}.billing-table td{padding:.6rem .9rem;color:var(--color-black);white-space:nowrap}.billing-row-overdue td{color:#ffb300}.billing-col-right{text-align:right!important}.billing-col-mono{font-family:SF Mono,Menlo,monospace;font-size:.78rem}.billing-col-wrap{white-space:normal;max-width:280px}.billing-badge{display:inline-block;padding:.2rem .55rem;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:capitalize}.billing-badge-paid,.billing-badge-source{background:#00c85326;color:#00c853}.billing-badge-unpaid{background:#ffb30026;color:#ffb300}.billing-badge-partial{background:#ff640026;color:#ff6400}.billing-badge-draft,.billing-badge-cancelled{background:#8883;color:var(--color-muted)}.billing-badge-unknown{background:var(--color-surface-3);color:var(--color-muted)}.billing-overdue-flag{color:#ffb300;font-weight:600}.billing-auto-tag{color:#00c853;font-size:.78rem}.billing-manual-tag{color:var(--color-muted);font-size:.78rem}.billing-amount-credit{color:#00c853;font-weight:600}.billing-amount-debit{color:#f44;font-weight:600}.billing-amount-neutral{color:var(--color-black)}.billing-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.6rem .9rem;border-top:1px solid var(--color-border)}.billing-page-btn{background:var(--color-surface-3);border:1px solid var(--color-border);color:var(--color-black);border-radius:6px;padding:.3rem .75rem;font-size:.78rem;cursor:pointer;transition:background .15s}.billing-page-btn:hover:not(:disabled){background:var(--color-surface-4)}.billing-page-btn:disabled{opacity:.4;cursor:not-allowed}.billing-page-info{font-size:.78rem;color:var(--color-muted)}.billing-skeleton-row{height:14px;border-radius:4px;background:linear-gradient(90deg,var(--color-surface-3) 25%,var(--color-surface-4) 50%,var(--color-surface-3) 75%);background-size:200% 100%;animation:billing-shimmer 1.2s infinite}.billing-alert-skeleton{height:90px;border-radius:10px;background:linear-gradient(90deg,var(--color-surface-3) 25%,var(--color-surface-4) 50%,var(--color-surface-3) 75%);background-size:200% 100%;animation:billing-shimmer 1.2s infinite}@keyframes billing-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.billing-empty,.billing-error{display:flex;align-items:center;gap:.6rem;padding:2rem;color:var(--color-muted);font-size:.85rem;border:1px solid var(--color-border);border-radius:10px}.billing-error{border-color:#ff44444d;color:#f44;background:#ff44440d}.billing-error-inline{margin-bottom:.75rem}.billing-alerts-wrap{display:flex;flex-direction:column;gap:.6rem}.billing-alert-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:10px;padding:.85rem 1rem}.billing-alert-critical{border-left:3px solid #ff4444}.billing-alert-warning{border-left:3px solid #ffb300}.billing-alert-info{border-left:3px solid #4488ff}.billing-alert-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}.billing-severity-tag{display:inline-block;padding:.1rem .45rem;border-radius:20px;font-size:.68rem;font-weight:700;text-transform:uppercase}.billing-severity-critical{background:#f443;color:#f44}.billing-severity-warning{background:#ffb30033;color:#ffb300}.billing-severity-info{background:#48f3;color:#48f}.billing-alert-type{font-size:.72rem;color:var(--color-muted);text-transform:capitalize}.billing-entity-tag{font-size:.68rem;color:var(--color-muted);background:var(--color-surface-3);border-radius:4px;padding:.1rem .4rem}.billing-alert-title{font-size:.85rem;font-weight:500;color:var(--color-white);margin:0 0 .2rem}.billing-alert-details{font-size:.78rem;color:var(--color-muted);margin:0 0 .4rem}.billing-alert-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.billing-alert-date{font-size:.72rem;color:var(--color-muted)}.billing-ack-btn{background:var(--color-surface-3);border:1px solid var(--color-border);color:var(--color-black);border-radius:6px;padding:.3rem .8rem;font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s}.billing-ack-btn:hover:not(:disabled){background:var(--color-surface-4);border-color:#00c853;color:#00c853}.billing-ack-btn:disabled{opacity:.5;cursor:not-allowed}.billing-acked-tag{font-size:.75rem;color:#00c853}.expenses-page{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;max-width:1400px;margin:0 auto}.expenses-page-header{margin-bottom:.25rem}.expenses-page-title{font-size:1.5rem;font-weight:700;margin:0 0 .3rem;color:var(--color-white)}.expenses-page-subtitle{font-size:.85rem;color:var(--color-muted);margin:0;max-width:720px;line-height:1.5}.expenses-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.expenses-kpi-card{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.expenses-kpi-card.expenses-kpi-alert{border-left:3px solid #ffb300}.expenses-kpi-card.skeleton{height:76px;background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:expenses-skeleton 1.4s ease-in-out infinite}@keyframes expenses-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.expenses-kpi-icon{font-size:1.5rem}.expenses-kpi-body{display:flex;flex-direction:column}.expenses-kpi-value{font-size:1.3rem;font-weight:700;color:var(--color-white)}.expenses-kpi-label{font-size:.78rem;color:var(--color-muted)}.expenses-tabs-bar{display:flex;gap:.5rem;border-bottom:1px solid var(--color-border)}.expenses-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-muted);padding:.6rem 1rem;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:color .14s ease,border-color .14s ease}.expenses-tab-btn:hover{color:var(--color-white);transform:none;box-shadow:none;background:transparent}.expenses-tab-btn-active{color:var(--color-white);border-bottom-color:var(--color-red);font-weight:600}.expenses-filters{display:flex;gap:.9rem;align-items:flex-end;flex-wrap:wrap}.expenses-filter-group{display:flex;flex-direction:column;gap:.3rem;min-width:160px}.expenses-filter-label{font-size:.72rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.expenses-filter-select,.expenses-filter-input{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;padding:.45rem .6rem;color:var(--color-black);font-size:.85rem}.expenses-filter-select:focus,.expenses-filter-input:focus{outline:none;border-color:var(--color-red)}.expenses-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.expenses-table{width:100%;border-collapse:collapse;font-size:.82rem}.expenses-table thead tr{background:var(--color-surface-2)}.expenses-table th{text-align:left;padding:.65rem .9rem;color:var(--color-muted);font-weight:500;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}.expenses-table tbody tr{border-bottom:1px solid var(--color-border-soft);transition:background .14s ease}.expenses-table tbody tr:last-child{border-bottom:none}.expenses-table tbody tr:hover{background:#ffffff05}.expenses-table td{padding:.6rem .9rem;color:var(--color-black)}.expenses-row-clickable{cursor:pointer}.expenses-row-clickable:hover{background:#ff11350d!important}.expenses-col-right{text-align:right!important}.expenses-col-mono{font-family:SF Mono,Menlo,monospace;font-size:.78rem}.expenses-tag{display:inline-block;padding:.15rem .5rem;border-radius:4px;background:var(--color-surface-3);color:var(--color-muted);font-size:.72rem}.expenses-badge{display:inline-block;padding:.18rem .55rem;border-radius:4px;font-size:.72rem;font-weight:600}.expenses-badge-validated,.expenses-badge-paid{background:#00c85326;color:#00c853}.expenses-badge-to_review,.expenses-badge-needs_review{background:#ffb30026;color:#ffb300}.expenses-badge-rejected{background:#ff444426;color:#f44}.expenses-badge-pending{background:#4488ff26;color:#48f}.expenses-badge-processed,.expenses-badge-unknown{background:var(--color-surface-3);color:var(--color-muted)}.expenses-ocr-tag{display:inline-block;padding:.18rem .5rem;border-radius:4px;font-size:.72rem;background:var(--color-surface-3)}.expenses-ocr-pending{color:#48f}.expenses-ocr-validated{color:#00c853}.expenses-ocr-rejected{color:#f44}.expenses-ocr-needs_review{color:#ffb300}.expenses-ocr-processed{color:var(--color-muted)}.expenses-muted{color:var(--color-muted);font-size:.78rem}.expenses-yes{color:#00c853;font-weight:700}.expenses-no{color:#f44;font-weight:700}.expenses-pagination{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:.7rem;border-top:1px solid var(--color-border-soft)}.expenses-page-btn{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-black);padding:.4rem .7rem;font-size:.78rem;border-radius:6px;cursor:pointer}.expenses-page-btn:hover:not(:disabled){background:var(--color-surface-4);transform:none;box-shadow:none}.expenses-page-btn:disabled{opacity:.4;cursor:not-allowed}.expenses-page-info{font-size:.78rem;color:var(--color-muted)}.expenses-skeleton-row{height:28px;background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:expenses-skeleton 1.4s ease-in-out infinite;border-radius:4px}.expenses-empty,.expenses-error{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;color:var(--color-muted);font-size:.9rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:10px}.expenses-error{color:#f44;border-color:#ff44444d}.expenses-drawer-backdrop{position:fixed;inset:0;background:#00000080;z-index:999}.expenses-drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,92vw);background:var(--color-surface);border-left:1px solid var(--color-border);z-index:1000;display:flex;flex-direction:column;box-shadow:-10px 0 30px #0006}.expenses-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;border-bottom:1px solid var(--color-border)}.expenses-drawer-title{font-size:1.05rem;font-weight:700;margin:0;color:var(--color-white)}.expenses-drawer-subtitle{font-size:.78rem;color:var(--color-muted);margin:.15rem 0 0}.expenses-drawer-close{background:transparent;border:1px solid var(--color-border);color:var(--color-muted);width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer}.expenses-drawer-close:hover{background:var(--color-surface-3);color:var(--color-white);transform:none;box-shadow:none}.expenses-drawer-body{flex:1;overflow-y:auto;padding:1rem 1.3rem;display:flex;flex-direction:column;gap:1.3rem}.expenses-drawer-loading,.expenses-drawer-error{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:var(--color-muted)}.expenses-drawer-error{color:#f44}.expenses-drawer-section{display:flex;flex-direction:column;gap:.7rem}.expenses-drawer-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;color:var(--color-muted);margin:0;letter-spacing:.05em}.expenses-drawer-sub{font-size:.72rem;color:var(--color-muted);margin:.4rem 0 .3rem;text-transform:uppercase}.expenses-drawer-grid{display:grid;grid-template-columns:max-content 1fr;gap:.4rem .9rem;margin:0;font-size:.82rem}.expenses-drawer-grid dt{color:var(--color-muted);font-weight:500}.expenses-drawer-grid dd{margin:0;color:var(--color-black)}.expenses-drawer-code,.expenses-drawer-code-mini{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;padding:.7rem;font-family:SF Mono,Menlo,monospace;font-size:.72rem;color:var(--color-black);max-height:240px;overflow:auto;margin:0;white-space:pre-wrap;word-break:break-word}.expenses-drawer-code-mini{max-height:120px}.expenses-confidence-list,.expenses-links-list,.expenses-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.expenses-confidence-list li,.expenses-link-item,.expenses-history-item{background:var(--color-surface-2);border:1px solid var(--color-border-soft);border-radius:6px;padding:.55rem .7rem;font-size:.78rem}.expenses-confidence-list{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.expenses-confidence-list li{display:flex;justify-content:space-between;align-items:center}.expenses-confidence-field{color:var(--color-muted);font-family:SF Mono,Menlo,monospace;font-size:.72rem}.expenses-confidence-value{color:var(--color-white);font-weight:600}.expenses-link-header{display:flex;gap:.6rem;align-items:center;margin-bottom:.2rem}.expenses-link-id{color:var(--color-muted);font-family:SF Mono,Menlo,monospace;font-size:.72rem}.expenses-link-note{color:var(--color-white);font-size:.78rem;font-weight:600}.expenses-link-tx{color:var(--color-muted);font-size:.72rem}.expenses-history-header{display:flex;gap:.6rem;align-items:center;margin-bottom:.3rem}.expenses-history-actor{color:var(--color-white);font-weight:600}.expenses-history-action{color:var(--color-red);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.expenses-history-time{color:var(--color-muted);font-size:.7rem;margin-left:auto}.tva-page{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;max-width:1400px;margin:0 auto}.tva-page-header{margin-bottom:.25rem}.tva-page-title{font-size:1.5rem;font-weight:700;margin:0 0 .3rem;color:var(--color-white)}.tva-page-subtitle{font-size:.85rem;color:var(--color-muted);margin:0;max-width:720px;line-height:1.5}.tva-notice{font-size:.78rem;color:var(--color-muted);background:var(--color-surface-2);border-left:3px solid var(--color-red);padding:.6rem .8rem;border-radius:6px;margin:0;max-width:900px;line-height:1.5}.tva-year-selector{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tva-year-selector-label{font-size:.72rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.tva-year-selector-select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;padding:.45rem .7rem;color:var(--color-black);font-size:.85rem;min-width:180px}.tva-year-selector-select:focus{outline:none;border-color:var(--color-red)}.tva-year-selector-error{color:#f44;font-size:.78rem}.tva-empty-large{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:3rem 1rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:10px}.tva-empty-large-icon{font-size:2.5rem}.tva-empty-large-text{color:var(--color-muted);font-size:.95rem}.tva-retry-btn{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-black);padding:.5rem .9rem;border-radius:6px;cursor:pointer}.tva-retry-btn:hover{background:var(--color-surface-4);transform:none;box-shadow:none}.tva-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.tva-kpi-card{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.tva-kpi-card.tva-kpi-alert{border-left:3px solid #ff4444}.tva-kpi-card.tva-kpi-ok{border-left:3px solid #00c853}.tva-kpi-card.tva-kpi-empty{color:var(--color-muted)}.tva-kpi-card.skeleton{height:76px;background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:tva-skeleton 1.4s ease-in-out infinite}@keyframes tva-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.tva-kpi-icon{font-size:1.5rem}.tva-kpi-body{display:flex;flex-direction:column}.tva-kpi-value{font-size:1.3rem;font-weight:700;color:var(--color-white)}.tva-kpi-label{font-size:.78rem;color:var(--color-muted)}.tva-tabs-bar{display:flex;gap:.5rem;border-bottom:1px solid var(--color-border)}.tva-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-muted);padding:.6rem 1rem;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:color .14s ease,border-color .14s ease}.tva-tab-btn:hover{color:var(--color-white);transform:none;box-shadow:none;background:transparent}.tva-tab-btn-active{color:var(--color-white);border-bottom-color:var(--color-red);font-weight:600}.tva-tab-content{display:flex;flex-direction:column;gap:1rem}.tva-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.tva-table{width:100%;border-collapse:collapse;font-size:.82rem}.tva-table thead tr{background:var(--color-surface-2)}.tva-table th{text-align:left;padding:.65rem .9rem;color:var(--color-muted);font-weight:500;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em}.tva-table tbody tr{border-bottom:1px solid var(--color-border-soft)}.tva-table tbody tr:last-child{border-bottom:none}.tva-table tbody tr:hover{background:#ffffff05}.tva-table td{padding:.6rem .9rem;color:var(--color-black)}.tva-col-right{text-align:right!important}.tva-col-mono{font-family:SF Mono,Menlo,monospace;font-size:.78rem}.tva-tag{display:inline-block;padding:.15rem .5rem;border-radius:4px;background:var(--color-surface-3);color:var(--color-muted);font-size:.72rem}.tva-tag-exempt{background:#00c85326;color:#00c853}.tva-tag-active{background:#ffb30026;color:#ffb300}.tva-tag-modulated{background:#ff640026;color:#ff6400}.tva-badge{display:inline-block;padding:.18rem .55rem;border-radius:4px;font-size:.72rem;font-weight:600}.tva-badge-prepared,.tva-badge-en_attente{background:#4488ff26;color:#48f}.tva-badge-declared,.tva-badge-valide,.tva-badge-validated,.tva-badge-paid{background:#00c85326;color:#00c853}.tva-badge-archived,.tva-badge-draft{background:#8883;color:var(--color-muted)}.tva-badge-dispense{background:#ffb30026;color:#ffb300}.tva-badge-active{background:#00c85326;color:#00c853}.tva-badge-deleted{background:#ff444426;color:#f44}.tva-amount-debit{color:#f44;font-weight:600}.tva-amount-credit{color:#00c853;font-weight:600}.tva-muted{color:var(--color-muted);font-size:.78rem}.tva-skeleton-row{height:28px;background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:tva-skeleton 1.4s ease-in-out infinite;border-radius:4px}.tva-empty,.tva-error{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;color:var(--color-muted);font-size:.9rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:10px}.tva-error{color:#f44;border-color:#ff44444d}.tva-summary-loading{display:flex;flex-direction:column;gap:.6rem;padding:1rem}.tva-summary-grid{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem;margin:0;padding:1rem 1.2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;font-size:.85rem}.tva-summary-grid dt{color:var(--color-muted);font-weight:500}.tva-summary-grid dd{margin:0;color:var(--color-black);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.urssaf-page{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0 2rem}.urssaf-page-header{margin-bottom:.25rem}.urssaf-page-title{font-size:1.5rem;font-weight:700;margin:0 0 .3rem;color:var(--color-white)}.urssaf-page-subtitle{font-size:.85rem;color:var(--color-muted);margin:0;max-width:720px;line-height:1.5}.urssaf-notice{font-size:.78rem;color:var(--color-muted);background:var(--color-surface);border-left:3px solid var(--color-red);border-radius:6px;padding:.6rem .8rem;margin:0;max-width:920px;line-height:1.5}.urssaf-year-selector{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.urssaf-year-selector-label{font-size:.85rem;color:var(--color-muted)}.urssaf-year-selector-select{background:var(--color-surface);color:var(--color-white);border:1px solid var(--color-border);border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.urssaf-year-selector-select:focus{outline:none;border-color:var(--color-red)}.urssaf-year-selector-error{color:#f44;font-size:.78rem}.urssaf-empty-large{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 1rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:12px}.urssaf-empty-large-icon{font-size:2.5rem}.urssaf-empty-large-text{color:var(--color-muted);font-size:.95rem}.urssaf-retry-btn{background:var(--color-surface-3);color:var(--color-white);border:1px solid var(--color-border);border-radius:6px;padding:.5rem 1rem;font-size:.85rem;cursor:pointer}.urssaf-retry-btn:hover{background:var(--color-surface-4)}.urssaf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:900px){.urssaf-kpis{grid-template-columns:repeat(2,1fr)}}.urssaf-kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem;min-height:78px}.urssaf-kpi-card.urssaf-kpi-alert{border-left:3px solid #ff4444}.urssaf-kpi-card.urssaf-kpi-ok{border-left:3px solid #00c853}.urssaf-kpi-card.urssaf-kpi-empty{color:var(--color-muted)}.urssaf-kpi-card.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:urssaf-shimmer 1.5s infinite}@keyframes urssaf-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.urssaf-kpi-icon{font-size:1.5rem}.urssaf-kpi-body{display:flex;flex-direction:column}.urssaf-kpi-value{font-size:1.2rem;font-weight:700;color:var(--color-white)}.urssaf-kpi-label{font-size:.78rem;color:var(--color-muted)}.urssaf-tabs-bar{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-top:.5rem}.urssaf-tab-btn{background:transparent;border:none;color:var(--color-muted);padding:.6rem 1rem;font-size:.85rem;cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;gap:.4rem}.urssaf-tab-btn:hover{color:var(--color-white)}.urssaf-tab-btn-active{color:var(--color-white);border-bottom-color:var(--color-red);font-weight:600}.urssaf-tab-content{padding:1rem 0}.urssaf-section-title{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--color-white)}.urssaf-table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--color-surface);border-radius:8px;overflow:hidden}.urssaf-table th{text-align:left;padding:.6rem .8rem;background:var(--color-surface-3);color:var(--color-muted);font-weight:600;border-bottom:1px solid var(--color-border)}.urssaf-table td{padding:.55rem .8rem;border-bottom:1px solid var(--color-border);color:var(--color-white)}.urssaf-table tr:last-child td{border-bottom:none}.urssaf-table tr:hover td{background:var(--color-surface-2)}.urssaf-period{font-size:.75rem;color:var(--color-muted)}.urssaf-amount-due{color:#ff6b6b}.urssaf-center{text-align:center}.urssaf-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.urssaf-badge-paid,.urssaf-badge-validated{background:#00c8532e;color:#00c853}.urssaf-badge-open{background:#2196f32e;color:#2196f3}.urssaf-badge-dispense{background:#ff98002e;color:#ff9800}.urssaf-annual-summary{padding:.5rem 0}.urssaf-summary-title{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--color-white)}.urssaf-summary-grid{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem;margin:0;padding:1rem 1.2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;font-size:.85rem}.urssaf-summary-grid dt{color:var(--color-muted);font-weight:500}.urssaf-summary-grid dd{margin:0;color:var(--color-white);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.urssaf-muted{color:var(--color-muted);font-style:italic}.urssaf-empty-icon{font-size:2rem;display:block;text-align:center;margin-bottom:.5rem}.urssaf-loading .urssaf-row.skeleton,.urssaf-loading .urssaf-summary-row.skeleton{height:1.6rem;background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:urssaf-shimmer 1.5s infinite;border-radius:6px;margin-bottom:.5rem}.urssaf-hint{font-size:.75rem;color:var(--color-muted);font-style:italic;margin:.4rem 0 0}.urssaf-hint-bottom{margin-top:.75rem;text-align:center}.urssaf-error-banner{background:#ff44441f;border:1px solid rgba(255,68,68,.3);border-radius:8px;padding:.6rem .8rem;margin-top:.5rem;font-size:.82rem;color:#ff6b6b;display:flex;flex-direction:column;gap:.3rem}.openreview-section{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.openreview-section-title{font-size:1rem;font-weight:600;margin:0;color:var(--color-white)}.openreview-notice{font-size:.85rem;color:var(--color-muted);margin:0;line-height:1.5}.openreview-loading{font-size:.85rem;color:var(--color-muted);padding:1rem 0}.openreview-empty{font-size:.85rem;color:var(--color-muted);padding:1rem 0;text-align:center}.openreview-error{background:#ff44441f;border:1px solid rgba(255,68,68,.3);border-radius:6px;padding:.6rem .8rem;font-size:.85rem;color:#ff6b6b;display:flex;align-items:center;gap:.75rem}.openreview-warning{font-size:.85rem;color:#ff9800;background:#ff980014;border-left:3px solid #ff9800;border-radius:4px;padding:.5rem .75rem;margin:0}.openreview-btn-primary{background:var(--color-red);color:var(--color-white);border:none;border-radius:6px;padding:.55rem 1rem;font-size:.85rem;cursor:pointer}.openreview-btn-primary:hover{filter:brightness(1.15)}.openreview-btn-primary:disabled{opacity:.5;cursor:not-allowed}.openreview-btn-secondary{background:var(--color-surface-3);color:var(--color-white);border:1px solid var(--color-border);border-radius:6px;padding:.55rem 1rem;font-size:.85rem;cursor:pointer}.openreview-btn-secondary:hover{background:var(--color-surface-4)}.openreview-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.openreview-create-form{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--color-surface-2);border-radius:8px}.openreview-create-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--color-muted)}.openreview-create-form input{background:var(--color-surface);color:var(--color-white);border:1px solid var(--color-border);border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.openreview-form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.4rem}.openreview-share-card{display:flex;flex-direction:column;gap:.85rem;padding:1rem;background:var(--color-surface-2);border-radius:8px;border:1px solid var(--color-border)}.openreview-share-header{display:flex;align-items:center;gap:.75rem}.openreview-share-label{font-size:1rem;font-weight:600;color:var(--color-white)}.openreview-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.openreview-badge-active,.openreview-badge-approved{background:#00c8532e;color:#00c853}.openreview-badge-expired{background:#ff98002e;color:#ff9800}.openreview-badge-revoked{background:#ff44442e;color:#f44}.openreview-share-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem 1rem;margin:0;padding:.75rem;background:var(--color-surface);border-radius:6px;font-size:.82rem}.openreview-share-meta div{display:flex;flex-direction:column;gap:.15rem}.openreview-share-meta dt{color:var(--color-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.5px}.openreview-share-meta dd{margin:0;color:var(--color-white);font-weight:600}.openreview-actions{display:flex;gap:.5rem;flex-wrap:wrap}.openreview-link{text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.openreview-comments-preview{margin-top:.5rem;padding:.6rem;background:var(--color-surface);border-radius:6px;font-size:.82rem}.openreview-comments-preview summary{cursor:pointer;color:var(--color-muted);padding:.25rem 0}.openreview-comments-preview summary:hover{color:var(--color-white)}.openreview-comments-list{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-direction:column;gap:.4rem}.openreview-comments-list li{display:grid;grid-template-columns:60px 130px 1fr;gap:.5rem;padding:.4rem .5rem;background:var(--color-surface-2);border-radius:4px;align-items:center}.openreview-comment-time{color:#ff9800;font-weight:600;font-family:monospace;font-size:.78rem}.openreview-comment-author{color:var(--color-muted);font-size:.78rem}.openreview-comment-text{color:var(--color-white)}
