:root{--ink: #1e1b2e;--ink-soft: #4b5566;--ink-faint: #8891a3;--glass-bg: rgba(255, 255, 255, .55);--glass-bg-strong: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .65);--glass-shadow: 0 8px 32px rgba(49, 39, 90, .1), inset 0 1px 0 rgba(255, 255, 255, .6);--accent: #6d5bd0;--accent-2: #a568c7;--accent-strong: #574abd;--success: #14b88a;--success-bg: rgba(20, 184, 138, .14);--warning: #d99a2b;--warning-bg: rgba(217, 154, 43, .16);--error: #dc4f5a;--error-bg: rgba(220, 79, 90, .14);--radius-lg: 26px;--radius-md: 18px;--radius-sm: 12px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Manrope,system-ui,-apple-system,sans-serif;color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}input,button,select,textarea{font:inherit}.app-shell{min-height:100vh;position:relative;background:#f4f1fb;overflow-x:hidden}.app-shell:before{content:"";position:fixed;inset:-10%;z-index:0;background:radial-gradient(38% 30% at 12% 18%,rgba(122,106,219,.38),transparent 60%),radial-gradient(32% 28% at 88% 12%,rgba(224,148,191,.34),transparent 60%),radial-gradient(36% 32% at 82% 86%,rgba(120,196,190,.3),transparent 60%),radial-gradient(30% 26% at 10% 88%,rgba(240,191,122,.24),transparent 60%),linear-gradient(180deg,#f6f3fc,#f0eefc);filter:blur(60px) saturate(140%);animation:drift 34s ease-in-out infinite alternate}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-2%,2%,0) scale(1.06)}}@media(prefers-reduced-motion:reduce){.app-shell:before{animation:none}}.app-content{position:relative;z-index:1}.glass{background:var(--glass-bg);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.card{background:var(--glass-bg);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:1.75rem;margin-bottom:1.5rem}.loading{padding:2rem;text-align:center;color:var(--ink-soft)}.error{color:var(--error);margin:.5rem 0}.success{color:var(--success);margin:.5rem 0}.muted{color:var(--ink-soft);font-size:.92rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.4rem;border:none;border-radius:999px;cursor:pointer;font-weight:600;font-size:.92rem;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:active:not(:disabled){transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 6px 18px #6d5bd059,inset 0 1px #ffffff59}.btn-primary:hover:not(:disabled){box-shadow:0 8px 22px #6d5bd073,inset 0 1px #fff6}.btn-secondary{background:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);border:1px solid rgba(255,255,255,.7)}.btn-secondary:hover:not(:disabled){background:#ffffffb3}.btn-sm{padding:.4rem .9rem;font-size:.82rem}.btn-upload{margin-top:1rem;font-size:1rem;padding:.85rem 1.75rem}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:1rem;z-index:20;display:flex;align-items:center;gap:1.75rem;margin:1rem auto 0;padding:.75rem 1.5rem;width:fit-content;max-width:calc(100% - 2rem);background:var(--glass-bg-strong);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:999px;box-shadow:var(--glass-shadow)}.app-header .logo{font-weight:800;font-size:1.05rem;color:var(--ink);letter-spacing:-.01em}.app-header .logo:hover{text-decoration:none}.app-header nav{display:flex;gap:1.25rem}.app-header nav a{color:var(--ink-soft);font-weight:600;font-size:.9rem}.app-header nav a:hover,.app-header nav a.active{color:var(--accent-strong);text-decoration:none}.header-user{margin-left:auto;display:flex;align-items:center;gap:1rem}.header-user>span{font-size:.88rem;color:var(--ink-soft);font-weight:600}.role-pill{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#6d5bd026;color:var(--accent-strong)}.language-selector select{background:#fff9;color:var(--ink);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:.35rem .7rem;cursor:pointer;font-size:.82rem}.language-selector select:focus{outline:none;border-color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-main{flex:1;padding:2.5rem 2rem 4rem;max-width:1100px;margin:0 auto;width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.page-header h1{margin:0;font-weight:800;letter-spacing:-.02em}.back-link{display:inline-block;margin-bottom:1rem;font-size:.9rem;font-weight:600}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem}.company-card{display:block;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.company-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px #31275a29,inset 0 1px #fff9;text-decoration:none}.company-card h3{margin:0 0 .5rem;font-weight:700}.card-link{color:var(--accent-strong);font-size:.9rem;font-weight:600}.empty-state{text-align:center;padding:3rem;color:var(--ink-soft)}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-lang{position:absolute;top:1.5rem;right:1.5rem;z-index:2}.auth-card{position:relative;z-index:1;background:var(--glass-bg-strong);backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);border:1px solid var(--glass-border);box-shadow:0 20px 60px #31275a38,inset 0 1px #fff9;padding:2.75rem;border-radius:28px;width:100%;max-width:400px}.auth-card h1{margin:0 0 .25rem;text-align:center;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent-strong),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-card .subtitle{text-align:center;color:var(--ink-soft);margin-bottom:1.75rem;font-size:.92rem}.auth-card form{display:flex;flex-direction:column;gap:1.1rem}.auth-card label{display:flex;flex-direction:column;gap:.4rem;font-size:.88rem;font-weight:700;color:var(--ink-soft)}.auth-card input{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.8);background:#ffffff8c;border-radius:var(--radius-sm);font-weight:500;color:var(--ink)}.auth-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6d5bd02e}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.9rem;color:var(--ink-soft)}.form-card label{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;font-weight:700;font-size:.88rem;color:var(--ink-soft)}.form-card input,.form-card textarea,.form-card select{padding:.65rem .9rem;border:1px solid rgba(255,255,255,.8);background:#ffffff8c;border-radius:var(--radius-sm);color:var(--ink)}.doc-type-selector{display:flex;gap:1rem;margin:1.25rem 0}.radio-card{flex:1;padding:1.4rem 1rem;border:1px solid rgba(255,255,255,.7);background:#fff6;border-radius:var(--radius-md);cursor:pointer;text-align:center;font-weight:700;font-size:1.05rem;color:var(--ink-soft);transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.radio-card input{display:none}.radio-card:hover{transform:translateY(-2px)}.radio-card.active{border-color:transparent;background:linear-gradient(135deg,#6d5bd0e6,#a568c7e6);color:#fff;box-shadow:0 10px 24px #6d5bd059,inset 0 1px #fff6}.dropzone{border:2px dashed rgba(109,91,208,.35);border-radius:var(--radius-md);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;background:#ffffff59;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:#6d5bd014}.dropzone-icon{color:var(--accent);margin-bottom:.75rem}.dropzone-title{font-weight:700;font-size:1.05rem;margin:0 0 .35rem}.dropzone-hint{color:var(--ink-soft);font-size:.88rem;margin:0}.file-chip-list{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.file-chip{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;background:#ffffff80;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-sm);font-size:.86rem}.file-chip-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip-size{color:var(--ink-faint);font-size:.8rem}.file-chip-remove{background:none;border:none;color:var(--ink-faint);cursor:pointer;font-size:1.1rem;line-height:1;padding:.15rem .35rem;border-radius:999px}.file-chip-remove:hover{background:#dc4f5a1f;color:var(--error)}.upload-actions{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem}.queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.queue-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;background:#ffffff80;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-sm);font-size:.86rem}.queue-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.status-pill.status-pending{background:#8b94a829;color:var(--ink-soft)}.status-pill.status-processing{background:var(--warning-bg);color:var(--warning)}.status-pill.status-done{background:var(--success-bg);color:var(--success)}.status-pill.status-error{background:var(--error-bg);color:var(--error)}.spinner{width:.7rem;height:.7rem;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.invoice-list{list-style:none;padding:0;margin:0}.invoice-list-item{display:flex;align-items:center;gap:1rem;width:100%;padding:.9rem 1.1rem;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-sm);background:#ffffff73;cursor:pointer;margin-bottom:.5rem;text-align:left;font:inherit;transition:background .15s}.invoice-list-item:hover{background:#ffffffa6}.badge,.badge-sm{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;background:#6d5bd024;color:var(--accent-strong)}.badge-sm{margin-left:auto}.data-section{margin-bottom:1.5rem}.data-section h3{margin:0 0 .75rem;font-size:1rem;font-weight:700;color:var(--ink-soft);border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:.5rem}.data-section dl{display:grid;grid-template-columns:140px 1fr;gap:.4rem 1rem;margin:0}.data-section dt{color:var(--ink-faint);font-size:.88rem}.data-section dd{margin:0;font-weight:600}.data-section dd.total{font-size:1.25rem;color:var(--accent-strong)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.6)}th{background:#fff6;font-weight:700;color:var(--ink-soft)}.json-details{margin-top:1rem}.json-details summary{cursor:pointer;font-weight:600;color:var(--ink-soft)}.json-details pre{background:#1e1b2eeb;color:#e7e3fb;padding:1rem;border-radius:var(--radius-sm);overflow-x:auto;font-size:.8rem}.settings-page .card form{display:flex;flex-direction:column;gap:1rem;max-width:400px}.settings-page label{display:flex;flex-direction:column;gap:.35rem;font-weight:700;font-size:.88rem;color:var(--ink-soft)}.settings-page input[type=password]{padding:.6rem .85rem;border:1px solid rgba(255,255,255,.8);background:#ffffff8c;border-radius:var(--radius-sm)}.checkbox-row{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:1rem;cursor:pointer}.checkbox-row input[type=checkbox]{width:20px;height:20px;margin-top:.2rem;flex-shrink:0;accent-color:var(--accent)}.ai-usage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.ai-usage-heading h2,.ai-usage-heading p{margin-top:0}.ai-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.ai-usage-stat{display:flex;flex-direction:column;gap:.35rem;min-height:96px;padding:1rem;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-sm);background:#fff6}.ai-usage-stat span{color:var(--ink-faint);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.ai-usage-stat strong{color:var(--ink);font-size:1.5rem}.ai-usage-stat small{color:var(--ink-faint)}.ai-cost-stat{border-color:#6d5bd04d;background:#6d5bd01a}.ai-cost-stat strong{color:var(--accent-strong)}.ai-pricing-note{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem;padding:1rem;border-radius:var(--radius-sm);background:#fff6;color:var(--ink-soft);font-size:.88rem}.ai-pricing-note small{line-height:1.45}@media(max-width:760px){.ai-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.ai-usage-grid{grid-template-columns:1fr}.ai-usage-heading{flex-direction:column}}.invoice-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.invoice-detail-header h2{margin:0;font-weight:700}.invoice-detail-split{display:block}.invoice-detail-split.with-log{display:grid;grid-template-columns:1fr minmax(260px,340px);gap:1.5rem;align-items:start}@media(max-width:860px){.invoice-detail-split.with-log{grid-template-columns:1fr}}.processing-log{background:#ffffff73;border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-md);padding:1.1rem;display:flex;flex-direction:column;gap:.9rem;position:sticky;top:1rem}.processing-log h3{margin:0;font-size:.95rem;font-weight:700;color:var(--ink-soft)}.processing-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.processing-log-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;color:var(--ink);animation:log-line-in .25s ease-out}.processing-log-icon{flex:none;line-height:1.4}.processing-log-message{line-height:1.4}.btn-log-confirm{align-self:flex-start}@keyframes log-line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#1e1b2e59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem;overflow-y:auto;z-index:100}.modal-content{background:var(--glass-bg-strong);backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);border:1px solid var(--glass-border);box-shadow:0 20px 60px #31275a40,inset 0 1px #fff9;border-radius:var(--radius-lg);width:100%;max-width:480px;padding:1.75rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h2{margin:0;font-size:1.15rem;font-weight:700}.modal-close{background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--ink-faint);padding:.25rem}.access-user-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.5)}.access-user-row:last-child{border-bottom:none}.access-user-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.team-table-wrap{overflow-x:auto}.team-table{width:100%;border-collapse:separate;border-spacing:0 .5rem}.team-table th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);padding:0 .9rem .4rem;border:none;background:none}.team-table td{background:#ffffff73;padding:.75rem .9rem;border:none;border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.7)}.team-table td:first-child{border-left:1px solid rgba(255,255,255,.7);border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.team-table td:last-child{border-right:1px solid rgba(255,255,255,.7);border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}
