:root{--navy: #1f3a85;--navy-dark: #16285f;--navy-deep: #101b3d;--navy-soft: #e8edf8;--navy-mist: #f3f5fb;--red: #d10f1c;--red-dark: #b00c18;--red-soft: #fdecee;--ink: #152044;--text-muted: #5c6785;--line: #dce2ef;--surface: #ffffff;--panel: #ffffff;--shadow: 0 10px 30px rgba(21, 32, 68, .08);--shadow-soft: 0 1px 2px rgba(21, 32, 68, .05), 0 8px 24px rgba(21, 32, 68, .06);--success: #1b7a4a;--success-soft: #e7f6ee;--warning: #a97804;--warning-soft: #fff6dc;--radius: 16px;--radius-sm: 10px;--sidebar-width: 260px;--sidebar-width-compact: 5.5rem;font-family:Inter,Segoe UI,sans-serif;color:var(--ink);background:var(--navy-mist);line-height:1.45}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:radial-gradient(circle at top right,rgba(209,15,28,.08),transparent 28%),radial-gradient(circle at top left,rgba(31,58,133,.12),transparent 32%),var(--navy-mist)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:var(--radius-sm);padding:.7rem 1rem;background:var(--navy);color:#fff;font-weight:600;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}button:hover:not(:disabled){background:var(--navy-dark)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--navy);outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;letter-spacing:-.02em;color:var(--navy-deep)}h1{font-size:1.7rem;font-weight:700}h2{font-size:1.05rem;font-weight:700}h3{font-size:1rem}p{margin:0}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;height:100vh;overflow:hidden}.app-shell.sidebar-compact{grid-template-columns:var(--sidebar-width-compact) 1fr}.mobile-topbar,.sidebar-backdrop{display:none}.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:2.6rem;height:2.6rem;padding:.6rem;background:var(--navy-soft);color:var(--navy);border:1px solid var(--line)}.menu-toggle:hover:not(:disabled){background:#dce4f4}.menu-toggle-bar{display:block;width:100%;height:2px;border-radius:999px;background:var(--navy);transition:transform .16s ease,opacity .16s ease}.menu-open .menu-toggle-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-open .menu-toggle-bar:nth-child(2){opacity:0}.menu-open .menu-toggle-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sidebar{display:flex;flex-direction:column;height:100vh;min-height:0;overflow:hidden;padding:1.5rem 1.1rem;background:var(--surface);border-right:1px solid var(--line)}.sidebar-top{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.sidebar-nav{flex:1;min-height:0;overflow-y:auto;margin-right:-.35rem;padding-right:.35rem}.nav-section{display:flex;flex-direction:column;gap:.35rem}.nav-section+.nav-section{margin-top:.55rem;padding-top:.75rem;border-top:1px solid var(--line)}.nav-section-label{margin:0 0 .1rem;padding:0 .8rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.company-switcher{margin:.35rem 0 .8rem;padding:.65rem;gap:.3rem;background:var(--navy-mist);border-radius:var(--radius-sm)}.company-switcher span{font-size:.72rem;color:var(--text-muted)}.company-switcher select{padding:.5rem .55rem;font-size:.84rem}.sidebar-footer{flex:none;display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--line)}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-width:0}.sidebar-brand .brand{min-width:0;flex:1}.sidebar-collapse-toggle,.sidebar-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;color:var(--text-muted);background:transparent;border:none;border-radius:8px}.sidebar-collapse-toggle{width:1.65rem;height:1.65rem;margin-right:-.15rem}.sidebar-icon-button{width:2.35rem;height:2.35rem;background:var(--navy-soft);color:var(--navy);border:1px solid var(--line);border-radius:12px}.sidebar-collapse-toggle:hover:not(:disabled){color:var(--navy);background:var(--navy-soft)}.sidebar-icon-button:hover:not(:disabled){background:#dce4f4}.sidebar-collapse-toggle svg,.sidebar-icon-button svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-footer-actions{display:flex;flex-direction:column;gap:.5rem}.sidebar-logout-button{width:100%}.brand-mark{--brand-logo-height: 2rem;flex:none}.brand-mark img{height:var(--brand-logo-height);width:auto;display:block}.app-shell.sidebar-compact .sidebar{padding-inline:.65rem}.app-shell.sidebar-compact .sidebar-brand{flex-direction:row;align-items:center;justify-content:center;gap:.15rem}.app-shell.sidebar-compact .sidebar-brand .brand{flex:none}.app-shell.sidebar-compact .sidebar-collapse-toggle{width:1.35rem;height:1.35rem;margin-right:-.35rem}.app-shell.sidebar-compact .nav-link{justify-content:center;padding-inline:.55rem}.app-shell.sidebar-compact .nav-link.is-active{box-shadow:inset 0 3px 0 var(--red)}.app-shell.sidebar-compact .nav-link-label,.app-shell.sidebar-compact .user-email,.app-shell.sidebar-compact .install-sidebar-hint,.app-shell.sidebar-compact .company-switcher,.app-shell.sidebar-compact .nav-section-label{display:none}.app-shell.sidebar-compact .user-chip{justify-content:center}.app-shell.sidebar-compact .sidebar-footer-actions{align-items:center}.app-shell.sidebar-compact .sidebar-footer-actions .install-sidebar-button,.app-shell.sidebar-compact .sidebar-logout-button{width:2.35rem;padding:0}.brand{--brand-logo-height: 42px;display:inline-flex;flex-direction:row;align-items:center;gap:.7rem}.brand img{display:block;height:var(--brand-logo-height);width:auto}.brand-hero{--brand-logo-height: 52.5px}.brand-product{position:relative;padding-left:.75rem;color:var(--navy);font-size:.98rem;font-weight:600;letter-spacing:-.03em;line-height:1;white-space:nowrap;transform:translateY(calc(var(--brand-logo-height) * 67.5 / 634))}.brand-product:before{content:"";position:absolute;left:0;top:.08em;bottom:.08em;width:1.5px;border-radius:999px;background:var(--red)}.brand-hero .brand-product{font-size:1.35rem;padding-left:.9rem}.nav{display:flex;flex-direction:column;gap:.35rem;margin-top:1.75rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:12px;color:var(--text-muted);font-weight:600;transition:background .16s ease,color .16s ease}.nav-link svg{width:1.15rem;height:1.15rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-link-icon-image{width:1.15rem;height:1.15rem;flex:none;object-fit:contain;border-radius:3px}.nav-link:hover{background:var(--navy-mist);color:var(--navy)}.nav-link.is-active{background:var(--navy-soft);color:var(--navy);box-shadow:inset 3px 0 0 var(--red)}.user-chip{display:flex;align-items:center;gap:.7rem;min-width:0}.user-avatar{width:2rem;height:2rem;flex:none;display:grid;place-items:center;border-radius:999px;background:var(--navy);color:#fff;font-size:.8rem;font-weight:700}.user-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--text-muted)}.user-email{min-width:0}.content{position:relative;padding:2rem 2.1rem 3rem;min-width:0;min-height:0;overflow-y:auto}.stack{display:flex;flex-direction:column;gap:1.25rem}.page-header,.section-header,.row,.actions,.form-grid,.page-actions{display:flex;gap:1rem}.page-header,.section-header,.row{justify-content:space-between;align-items:flex-start}.page-header{margin-bottom:.25rem}.page-header-copy{display:grid;gap:.35rem;min-width:0}.page-kicker,.page-kicker a{color:var(--text-muted);font-size:.82rem;font-weight:600}.page-kicker a:hover{color:var(--navy)}.page-description{color:var(--text-muted);max-width:42rem}.page-actions,.actions{flex-wrap:wrap;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem}.dashboard-kpis{display:grid;gap:.9rem}.dashboard-kpis .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid.is-kpis .stat-value{font-size:2.15rem;letter-spacing:-.03em;line-height:1.1}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow-soft)}.stat-card .muted{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.stat-value{display:block;margin-top:.35rem;font-size:1.35rem;font-weight:700;color:var(--navy-deep)}.stat-subvalue{display:block;margin:.55rem 0 0;padding:0;list-style:none;font-size:.9rem;font-weight:700;color:var(--text-muted)}.stat-subvalue-label{display:block;margin-bottom:.15rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.stat-card.is-overdue .stat-value{color:var(--red)}.stat-card.is-due .stat-value{color:var(--warning)}.toolbar{display:flex;flex-wrap:wrap;gap:.85rem;align-items:end}.toolbar label{min-width:min(100%,16rem);flex:1}.panel,.auth-card,.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem 1.4rem;box-shadow:var(--shadow-soft)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-card{width:min(440px,100%);display:grid;gap:1.1rem;padding:2.2rem}.auth-card .page-description{margin-bottom:.4rem}.install-card{display:grid;grid-template-columns:auto 1fr;gap:.75rem .85rem;align-items:start;padding:.9rem;border:1px solid var(--line);border-radius:14px;background:var(--navy-mist)}.install-card-icon{width:2.5rem;height:2.5rem;border-radius:8px;border:1px solid var(--line);background:#fff}.install-card-copy{display:grid;gap:.2rem}.install-card-copy p{color:var(--text-muted);font-size:.92rem}.install-card-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem}.install-card-actions button{flex:1 1 8rem}.install-share-icon{display:inline-block;width:1em;height:1em;vertical-align:-.15em;margin:0 .12em}.install-sidebar-button{width:100%}.install-sidebar-hint{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.4}.install-banner{display:none}.list{display:flex;flex-direction:column;gap:.75rem}.row{align-items:center;gap:1rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.row-copy{min-width:0;display:grid;gap:.2rem}.row-copy strong,.queue-name{font-size:1rem}.queue-name:hover,.row a:hover strong{color:var(--navy)}.preview{border:1px solid var(--line);border-radius:14px;padding:1rem;margin:1rem 0;background:var(--navy-mist)}.preview p,.modal p{white-space:pre-wrap}.form-panel,label,.labeled-field{display:flex;flex-direction:column;gap:.45rem}label,.labeled-field{font-size:.88rem;font-weight:600;color:var(--navy-deep)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.form-section{display:grid;gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem}input,select,textarea{width:100%;padding:.72rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--ink)}input::placeholder,textarea::placeholder{color:#8b95ad}.loading,.error{padding:0}.loading{min-height:100vh;display:grid;place-items:center;color:var(--text-muted);font-weight:600}.page-loading{min-height:12rem;display:grid;place-items:center}.loading-indicator{display:inline-flex;align-items:center;gap:.65rem;color:var(--text-muted);font-weight:600}.loading-indicator.is-inline{justify-content:center;padding:2rem 1rem}.loading-spinner{width:1.1rem;height:1.1rem;border-radius:999px;border:2px solid #d7deee;border-top-color:var(--navy);animation:loading-spin .7s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.breadcrumbs{margin-bottom:.85rem}.breadcrumbs-list{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:0;padding:0;list-style:none;color:var(--text-muted);font-size:.82rem;font-weight:600}.breadcrumbs-item:not(:last-child):after{content:"/";margin-left:.35rem;color:#b4bdd4}.breadcrumbs-item a:hover{color:var(--navy)}.content-with-breadcrumbs{display:flex;flex-direction:column;gap:.35rem;min-width:0}.content-with-breadcrumbs .breadcrumbs{margin-bottom:0}.error{color:var(--red-dark);background:var(--red-soft);border-radius:12px;padding:.8rem 1rem}.status-banner{background:var(--navy-soft);color:var(--navy-dark);border-radius:12px;padding:.8rem 1rem}.muted{color:var(--text-muted)}.amount-out{font-weight:700;color:var(--red);white-space:nowrap}.amount-in{font-weight:700;color:var(--success);white-space:nowrap}.queue-row,.queue-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;border-radius:14px;border:1px solid var(--line)}.queue-row.due,.queue-card.due{background:var(--warning-soft);border-color:#f0dd9a}.queue-row.overdue,.queue-card.overdue{background:var(--red-soft);border-color:#f4c4c8}.queue-row.paid,.queue-row.held,.queue-row.upcoming,.queue-card.paid,.queue-card.held,.queue-card.upcoming{background:#fbfcfe}.queue-amount{font-size:1.05rem;font-weight:700;color:var(--navy-deep);text-align:right}.status-pill{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:capitalize;background:var(--navy-soft);color:var(--navy)}.status-pill.due{background:#f7c948;color:#5c4300}.status-pill.overdue{background:var(--red);color:#fff}.status-pill.paid,.status-pill.held{background:#abefc6;color:var(--success)}.status-pill.unknown{background:var(--navy-soft);color:var(--muted)}.allocation-row{align-items:flex-start}.payment-split{display:grid;gap:.45rem;min-width:16rem}.payment-split-row{display:grid;grid-template-columns:minmax(7.5rem,1.4fr) 6.25rem auto;gap:.4rem;align-items:center}.payment-split-field{display:grid;gap:0;font-weight:500}.data-table td .payment-split input,.data-table td .payment-split select{min-width:0;width:100%;padding:.45rem .55rem}.customer-select{min-width:12rem;width:auto}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.85rem 0 1rem}.match-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--navy-soft);border-radius:999px;padding:.25rem .35rem .25rem .75rem;font-size:.9rem}.chip-remove{width:1.6rem;height:1.6rem;padding:0;border-radius:999px;background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1}.chip-remove:hover:not(:disabled){background:#d7deee;color:var(--ink)}.secondary-button{background:#fff;color:var(--navy);border:1px solid var(--line)}.secondary-button:hover:not(:disabled){background:var(--navy-mist)}.danger-button{background:#fff;color:var(--red);border:1px solid #f0c4c8}.danger-button:hover:not(:disabled){background:var(--red-soft)}.empty-state{display:grid;gap:.4rem;justify-items:start;padding:1.6rem .4rem}.empty-state strong{color:var(--navy-deep)}.company-choices{display:flex;flex-wrap:wrap;gap:.65rem 1rem;padding:0;border:0}.company-choices legend{width:100%;margin-bottom:.45rem;font-size:.88rem;font-weight:600;color:var(--navy-deep)}.company-modules{flex-direction:column;align-items:stretch;gap:.55rem}.company-modules>.muted{margin:0}.company-modules-list{display:flex;flex-direction:column;gap:.45rem}.checkbox-label{flex-direction:row;align-items:center;gap:.45rem}.checkbox-label input{width:auto}.membership-list{display:grid;gap:.8rem}.membership-card{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.tab-list{display:flex;flex-wrap:wrap;gap:.3rem;padding:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.tab-list .tab{background:transparent;color:var(--text-muted);padding:.55rem .95rem;display:inline-flex;align-items:center;gap:.45rem;box-shadow:none}.tab-list .tab:hover:not(:disabled):not(.is-active){background:var(--navy-mist);color:var(--navy)}.tab-list .tab.is-active{background:var(--navy-soft);color:var(--navy)}.tab-count{min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--navy-mist);color:var(--navy);font-size:.75rem;font-weight:700;display:inline-grid;place-items:center}.tab-list .tab.is-active .tab-count{background:var(--navy);color:#fff}.tab-panel{display:flex;flex-direction:column;gap:1.25rem}.data-table{display:grid;gap:1rem}.data-table-toolbar label{min-width:min(100%,12rem)}.data-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.data-table table{width:100%;border-collapse:collapse;min-width:42rem}.data-table th,.data-table td{padding:.75rem .9rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.data-table th{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--navy-mist);white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#e8edf88c}.data-table-actions-col{width:1%;white-space:nowrap}.data-table-select-col{width:1%;white-space:nowrap;text-align:center}.data-table-select-col input[type=checkbox]{width:1rem;height:1rem;min-width:0;margin:0;accent-color:var(--navy)}.data-table-bulk-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-left:auto}.data-table-selection-count{color:var(--text-muted);font-size:.85rem;font-weight:600}.data-table tbody tr.is-selected{background:#1f3a8514}.data-table tbody tr.is-clickable{cursor:pointer}.data-table tbody tr.is-active-row{background:#1f3a851f}.data-table tbody tr.is-clickable:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}.table-actions{display:flex;flex-wrap:nowrap;gap:.35rem;align-items:center}.table-action-button,.table-action-link{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--navy);flex:none}.table-action-button svg,.table-action-link svg{width:1rem;height:1rem;fill:currentColor}.table-action-button-primary{background:var(--navy);border-color:var(--navy);color:#fff}.table-action-button-primary:hover:not(:disabled){background:var(--navy-dark)}.table-action-button-secondary:hover:not(:disabled),.table-action-link:hover{background:var(--navy-mist)}.table-action-button-danger{color:var(--red);border-color:#f0c4c8}.table-action-button-danger:hover:not(:disabled){background:var(--red-soft)}.table-action-button:disabled,.table-action-link:disabled{opacity:.55;cursor:not-allowed}.data-table-header-cell{position:relative;display:flex;align-items:center;min-height:1.5rem;padding-right:.45rem}.data-table-resize-handle{position:absolute;top:0;right:-.35rem;width:.55rem;height:100%;cursor:col-resize;touch-action:none}.data-table-resize-handle:after{content:"";position:absolute;top:20%;bottom:20%;left:50%;width:1px;transform:translate(-50%);background:#c8d0e3}.data-table-resizable-col{position:relative}body.is-resizing-columns{cursor:col-resize;-webkit-user-select:none;user-select:none}.table-title-link{font-weight:700;color:var(--navy-deep)}.table-title-link:hover{color:var(--navy)}.data-table-sort{display:inline-flex;align-items:center;gap:.35rem;padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;border-radius:0}.data-table-sort:hover:not(:disabled){background:transparent;color:var(--navy)}.data-table-sort.is-active{color:var(--navy)}.data-table-sort-icon{font-size:.75rem;opacity:.7}.data-table .muted{font-size:.82rem}.data-table td input:not([type=checkbox]),.data-table td select{width:100%;min-width:8rem}.data-table .status-pill{display:inline-flex}.data-table tbody tr.is-overdue{background:#fff7f7}.data-table tbody tr.is-due{background:#fffbeb}.detail-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);gap:1.25rem;align-items:start}.analysis-layout{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(24rem,1.15fr);gap:1.25rem;align-items:start}.analysis-form{display:grid;gap:1.25rem}.analysis-entities{display:grid;gap:.85rem}.analysis-entity{display:grid;gap:.7rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--navy-mist)}.analysis-entity-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.analysis-badge{font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:var(--surface);color:var(--text-muted)}.analysis-badge.is-create{background:var(--warning-soft);color:var(--warning)}.analysis-badge.is-match{background:var(--success-soft);color:var(--success)}.analysis-create-hint{margin:0;color:var(--text-muted);font-size:.9rem}.span-2{grid-column:1 / -1}.detail-side,.detail-main{display:flex;flex-direction:column;gap:1.25rem}.identity{display:flex;align-items:flex-start;gap:1rem}.identity-avatar{width:3rem;height:3rem;flex:none;display:grid;place-items:center;border-radius:16px;background:var(--navy);color:#fff;font-weight:700}.stepper{display:flex;gap:.6rem;margin:0 0 1rem}.step-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .75rem;border-radius:999px;background:var(--navy-mist);color:var(--text-muted);font-size:.82rem;font-weight:600}.step-pill.is-active{background:var(--navy-soft);color:var(--navy)}.step-pill.is-done{background:var(--success-soft);color:var(--success)}.file-drop{display:grid;gap:.4rem;padding:2.4rem 1.25rem;border:1px dashed var(--navy);border-radius:16px;background:#1f3a850a;text-align:center;cursor:pointer}.file-drop input{display:none}.sheet-preview-wrap{overflow:auto;max-height:420px;border:1px solid var(--line);border-radius:16px;margin:1rem 0}.sheet-preview{border-collapse:collapse;min-width:100%;font-size:.85rem}.sheet-preview th,.sheet-preview td{border:1px solid var(--line);padding:.35rem .5rem;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.sheet-preview th{background:var(--navy-soft);position:sticky;top:0}.sheet-preview td.is-selected{background:#e7eefc}.sheet-preview td.is-header{background:#d7e3fb;font-weight:700}.required-properties{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin:1rem 0;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--navy-mist)}.required-properties ul{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:0;list-style:none}.required-properties li{display:inline-flex;align-items:center;gap:.4rem}.required-properties .is-complete{color:var(--success)}.required-properties .is-missing{color:#93370d}.mapping-table{display:flex;flex-direction:column;gap:0;margin:1.25rem 0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.mapping-head,.mapping-row{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(160px,1.2fr) minmax(220px,1.2fr);gap:1rem;align-items:center}.mapping-head{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:.85rem 1rem;background:var(--navy-soft)}.mapping-row{padding:.95rem 1rem;border-top:1px solid var(--line);background:#fff}.mapping-row.is-mapped{background:#f7fbf8}.mapping-property{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center}.mapping-check{width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:999px;background:var(--success);color:#fff;font-size:.8rem}.sample-chips{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.sample-chip{background:var(--navy-soft);border-radius:8px;padding:.2rem .65rem;font-size:.8rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.mapping-alert,.mapping-ok{border-radius:12px;padding:.85rem 1rem}.mapping-alert{background:#fff4e5;color:#93370d}.mapping-ok{background:var(--success-soft);color:var(--success)}.mapped-preview{margin-top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.modal-backdrop{position:fixed;inset:0;background:#101b3d7a;display:grid;place-items:center;padding:1rem;z-index:50}.side-panel-backdrop{position:fixed;inset:0;z-index:50;background:#101b3d52}.side-panel{position:fixed;top:0;right:0;bottom:0;width:min(36rem,100vw);background:var(--surface);box-shadow:-10px 0 40px #101b3d24;display:flex;flex-direction:column;animation:side-panel-in .18s ease}.side-panel-close{position:absolute;top:.85rem;right:.85rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--text-muted);font-size:1.35rem;line-height:1}.side-panel-close:hover{background:var(--navy-mist);color:var(--navy)}.side-panel-body{overflow-y:auto;flex:1;padding:1.25rem 1.35rem 1.5rem}.side-panel-body .ai-log-details{box-shadow:none;border:0;padding:0;background:transparent}.side-panel-footer{padding:.9rem 1.35rem calc(1rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--navy-mist)}.side-panel-detail-link{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.7rem 1rem;border-radius:12px;background:var(--navy);color:#fff;font-weight:700;text-align:center}.side-panel-detail-link:hover{background:var(--navy-dark);color:#fff}.row-preview{box-shadow:none;border:0;padding:0;background:transparent}.row-preview .panel-heading h2{margin-bottom:.35rem}.row-preview-block{display:grid;gap:.4rem;margin-top:1rem}.row-preview-block h3{margin:0;font-size:.9rem}.side-panel-body .row-preview-meta{margin-top:.35rem}@keyframes side-panel-in{0%{transform:translate(100%)}to{transform:translate(0)}}.modal{max-width:520px;width:min(520px,100%)}.modal h3{margin-bottom:.75rem}.modal .actions{justify-content:flex-end;margin-top:1.1rem}.drive-folder-field{display:grid;gap:.6rem}.drive-folder-selected{margin:0;padding:.72rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--navy-mist);font-weight:600}.drive-folder-selected.is-empty{color:var(--text-muted);font-weight:500}.drive-folder-fallback{margin-top:.85rem}.drive-folder-fallback summary{cursor:pointer;color:var(--navy);font-weight:600}.drive-folder-fallback label{margin-top:.75rem}.drive-picker{max-width:640px;width:min(640px,100%);max-height:min(40rem,calc(100vh - 2rem));display:flex;flex-direction:column}.drive-picker-toolbar,.drive-picker-search{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin-bottom:.75rem}.drive-picker-search label{flex:1;min-width:min(100%,14rem)}.drive-picker-crumbs{display:flex;flex-wrap:wrap;gap:.15rem;align-items:center;margin-bottom:.75rem;color:var(--text-muted)}.link-button{padding:0;border:0;background:none;color:var(--navy);font:inherit;font-weight:600}.link-button:hover:not(:disabled){text-decoration:underline}.drive-picker-list{overflow:auto;min-height:12rem;max-height:20rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.drive-picker-empty{margin:0;padding:1rem .9rem}.drive-picker-item{display:flex;gap:.6rem;align-items:center;justify-content:space-between;padding:.35rem .45rem;border-bottom:1px solid var(--line)}.drive-picker-item:last-child{border-bottom:0}.drive-picker-item.is-selected{background:var(--navy-mist)}.drive-picker-select{flex:1;min-width:0;justify-content:flex-start;background:transparent;color:var(--ink);border:0;text-align:left}.drive-picker-select:hover:not(:disabled){background:transparent;color:var(--navy)}.template-preview{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.queue-card .actions,.row .actions{flex:none}@media(max-width:1080px){.detail-layout,.analysis-layout{grid-template-columns:1fr}}@media(max-width:880px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.mobile-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.85rem;padding:calc(.75rem + env(safe-area-inset-top,0px)) 1rem .75rem;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.mobile-topbar .brand{--brand-logo-height: 33px}.mobile-topbar .brand-product{font-size:.82rem;padding-left:.6rem}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:35;background:#101b3d73;opacity:0;pointer-events:none;transition:opacity .18s ease}.sidebar{position:fixed;top:0;left:0;z-index:40;width:min(18rem,84vw);height:100vh;transform:translate(-105%);transition:transform .18s ease;box-shadow:12px 0 32px #101b3d2e}.menu-open .sidebar{transform:translate(0)}.menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}.app-shell.sidebar-compact{grid-template-columns:1fr}.app-shell.sidebar-compact .sidebar{width:min(18rem,84vw);padding-inline:1.1rem}.app-shell.sidebar-compact .nav-link-label,.app-shell.sidebar-compact .user-email,.app-shell.sidebar-compact .install-sidebar-hint{display:inline}.app-shell.sidebar-compact .nav-section-label{display:block}.app-shell.sidebar-compact .nav-link{justify-content:flex-start;padding-inline:.8rem}.app-shell.sidebar-compact .nav-link.is-active{box-shadow:inset 3px 0 0 var(--red)}.app-shell.sidebar-compact .sidebar-brand{flex-direction:row;align-items:center}.app-shell.sidebar-compact .sidebar-collapse-toggle{width:2.35rem}.app-shell.sidebar-compact .sidebar-footer-actions{align-items:stretch}.app-shell.sidebar-compact .sidebar-footer-actions .sidebar-icon-button,.app-shell.sidebar-compact .sidebar-logout-button{width:100%}.content{padding:1.15rem}.form-grid,.section-header,.page-header,.row,.queue-row,.queue-card,.mapping-head,.mapping-row,.form-actions,.toolbar,.dashboard-kpis .stat-grid{flex-direction:column;align-items:stretch;grid-template-columns:1fr}.page-actions,.actions{width:100%}.customer-select{width:100%;min-width:0}.install-banner{display:block;position:fixed;left:0;right:0;bottom:0;z-index:28;padding:.75rem .85rem calc(.75rem + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,var(--navy-mist) 28%);pointer-events:none}.install-banner .install-card{pointer-events:auto;box-shadow:var(--shadow)}.app-shell:has(.install-banner) .content{padding-bottom:9.5rem}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.document-preview,.document-preview-image{width:100%;min-height:min(72vh,52rem);border:1px solid var(--line);border-radius:16px;background:var(--navy-mist)}.document-preview-image{min-height:0;max-height:720px;object-fit:contain}.document-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem 1.25rem;margin:0}.document-meta div{display:grid;gap:.15rem}.document-meta dt{color:var(--text-muted);font-size:.8rem}.document-meta dd{margin:0}.ai-log-item{display:grid;gap:.75rem}.ai-log-toggle{display:grid;grid-template-columns:minmax(8rem,1.4fr) 7rem 8rem 6rem 5rem;gap:.75rem;width:100%;text-align:left;align-items:center}.ai-log-status{font-weight:600}.ai-log-status.is-success{color:var(--success, #0f7b3a)}.ai-log-status.is-error{color:var(--danger, #b42318)}.ai-log-block{display:grid;gap:.4rem;margin-top:1rem}.ai-log-block h3{margin:0;font-size:.9rem}.ai-log-pre{margin:0;padding:.85rem 1rem;overflow:auto;max-height:22rem;white-space:pre-wrap;word-break:break-word;font-size:.8rem;line-height:1.45;background:var(--surface-muted, #f4f4f5);border-radius:.5rem}.stack-tight{display:grid;gap:.55rem}.choice-label{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--navy-deep)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text-muted);cursor:pointer}.icon-button svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover:not(:disabled){background:var(--red-soft);color:var(--red)}.sidebar-links-section{display:grid;gap:1rem;padding-top:.5rem;border-top:1px solid var(--line)}.sidebar-links-section-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem}.sidebar-links-section-header h2{margin:0 0 .25rem;font-size:1.05rem;color:var(--navy-deep)}.sidebar-links-section-header .secondary-button{display:inline-flex;align-items:center;gap:.4rem}.sidebar-links-section-header .secondary-button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-links-list{display:grid;gap:1rem}.sidebar-link-editor{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--navy-mist)}.sidebar-link-editor-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sidebar-link-editor-preview{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--navy)}.sidebar-link-editor-preview svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-link-editor-preview .nav-link-icon-image{width:1.25rem;height:1.25rem}.sidebar-link-icon-fieldset{display:grid;gap:.75rem;margin:0;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:#fff}.sidebar-link-icon-fieldset legend{padding:0 .35rem;font-weight:700;color:var(--navy-deep)}.sidebar-link-icon-source-row{display:flex;flex-wrap:wrap;gap:.85rem 1.1rem}.sidebar-link-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.55rem}.sidebar-link-icon-option{display:grid;justify-items:center;gap:.35rem;padding:.65rem .4rem;border:1px solid var(--line);border-radius:12px;background:var(--navy-mist);color:var(--navy);cursor:pointer;font-size:.75rem;font-weight:600}.sidebar-link-icon-option svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-link-icon-option.is-selected,.sidebar-link-icon-option:hover{background:var(--navy-soft);border-color:var(--navy)}.sidebar-link-iframe-host{position:absolute;inset:0;z-index:0;visibility:hidden;pointer-events:none}.sidebar-link-iframe-host.is-active{z-index:2;visibility:visible;pointer-events:auto}.sidebar-link-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff;visibility:hidden;pointer-events:none}.sidebar-link-iframe.is-visible{visibility:visible;pointer-events:auto}.content-embed{padding:0;overflow:hidden}.content-route.is-concealed{visibility:hidden;pointer-events:none;position:absolute;inset:0;overflow:hidden}.calendar-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}.calendar-nav{display:flex;align-items:center;gap:.6rem}.calendar-filters{display:grid;gap:1rem}.calendar-category-toggles{display:flex;flex-wrap:wrap;gap:.45rem}.calendar-category-toggle,.calendar-category-mark,.calendar-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.25rem .65rem;background:var(--navy-mist);color:var(--ink);font-size:.78rem;font-weight:600}.calendar-category-toggle svg,.calendar-category-mark svg,.calendar-chip svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.calendar-category-toggle.is-off{opacity:.45}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:1rem;align-items:start}.calendar-sidebar-counts{margin:0;padding-left:1.1rem}.calendar-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{gap:.35rem;margin-bottom:.45rem;font-size:.78rem;color:var(--text-muted);font-weight:600}.calendar-month-grid,.calendar-week-grid{gap:.45rem}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week-grid.is-1{grid-template-columns:1fr}.calendar-day{min-height:7.5rem;border:1px solid var(--line);border-radius:12px;padding:.45rem;background:var(--surface);display:grid;align-content:start;gap:.35rem}.calendar-day.is-today{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.calendar-day.is-outside{opacity:.55}.calendar-day-number{font-weight:700;font-size:.85rem}.calendar-day-events{display:grid;gap:.25rem}.calendar-chip{width:100%;text-decoration:none;justify-content:flex-start}.calendar-chip.is-overdue,.upcoming-event-item.is-overdue .event-urgency-label{background:var(--red-soft);border-color:var(--red);color:var(--red-dark)}.calendar-chip.is-urgent,.upcoming-event-item.is-urgent .event-urgency-label{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.calendar-chip.is-approaching{background:var(--navy-soft)}.upcoming-event-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.upcoming-event-item a{display:grid;gap:.15rem;text-decoration:none;color:inherit}.event-urgency-label{font-size:.75rem;font-weight:700}.warning-panel{border-color:var(--warning);background:var(--warning-soft)}.history-list,.reminder-list{display:grid;gap:.45rem}@media(max-width:960px){.calendar-layout,.calendar-month-grid,.calendar-weekdays,.calendar-week-grid{grid-template-columns:1fr}.calendar-weekdays{display:none}}
