*{box-sizing:border-box}:root{--bg: #f9fafb;--bg-subtle: #f3f4f6;--surface: #ffffff;--surface-hover: #f8fafc;--border: #e5e7eb;--border-strong: #d1d5db;--text: #111827;--text-secondary: #374151;--muted: #6b7280;--accent: #8a2be2;--accent-hover: #7429c7;--accent-soft: rgba(138, 43, 226, .1);--accent-glow: rgba(138, 43, 226, .22);--accent-gold: #c9a86c;--accent-gold-soft: rgba(201, 168, 108, .14);--success: #15803d;--danger: #dc2626;--photo-bg: #f3f4f6;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .04);--shadow-md: 0 8px 24px rgba(17, 24, 39, .07);--shadow-lg: 0 18px 48px rgba(17, 24, 39, .1);--radius: 14px;--radius-sm: 10px;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Inter", "Segoe UI", system-ui, sans-serif;--logo-accent: #8a2be2;--logo-accent-secondary: #00ced1;--brand-gradient: linear-gradient(135deg, #8a2be2 0%, #b8956a 52%, #d4b87a 100%)}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 70% 45% at 50% -15%,rgba(138,43,226,.06),transparent 58%),var(--bg)}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}input,textarea,select,button{font:inherit}button{cursor:pointer}h1,h2,h3{color:var(--text);letter-spacing:-.02em}h1{font-family:var(--font-display);font-weight:600;font-size:clamp(1.85rem,3vw,2.35rem);line-height:1.15}.container{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.app-layout{min-height:100vh}.upload-progress-bar{position:fixed;top:0;left:0;right:0;height:28px;background:var(--border);z-index:9999;overflow:hidden;display:flex;align-items:center}.upload-progress-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent);transition:width .15s ease-out}.upload-progress-text{position:relative;z-index:1;margin-left:12px;font-size:.8rem;font-weight:600;color:#fff;pointer-events:none}.nav{display:flex;align-items:center;gap:.35rem 1.1rem;padding:.85rem 1.5rem;background:#ffffffe0;border-bottom:1px solid var(--border);flex-wrap:wrap;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-sm)}.nav a{color:var(--text-secondary);font-size:.92rem;font-weight:500;padding:.45rem .65rem;border-radius:999px;transition:background .2s ease,color .2s ease}.nav a:hover{color:var(--text);background:var(--accent-soft)}.nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.app-logo{font-family:var(--font-body);font-weight:700;font-size:1.25rem;letter-spacing:.18em;color:var(--text);margin-right:.75rem;text-transform:uppercase}.app-logo span,.app-logo .logo-mark,.landing-logo span,.landing-logo .logo-mark{background:linear-gradient(90deg,var(--logo-accent),var(--logo-accent-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-logo:hover{color:var(--text);opacity:.92}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.58rem 1.1rem;border-radius:999px;border:none;background:var(--brand-gradient);color:#fff;font-weight:600;font-size:.92rem;box-shadow:0 4px 14px var(--accent-glow);transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.btn:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 8px 20px var(--accent-glow)}.btn-ghost{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);box-shadow:none}.btn-ghost:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-strong);transform:none;box-shadow:var(--shadow-sm)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 14px #dc262640}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.88rem;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.68rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.badge{display:inline-block;padding:.22rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--bg-subtle);color:var(--muted)}.badge.sent{background:#15803d1f;color:var(--success)}.badge.draft{color:var(--muted);background:var(--bg-subtle)}.client-layout{min-height:100vh;padding-bottom:calc(80px + env(safe-area-inset-bottom,0));background:var(--bg)}.client-header{padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0));background:#fffffff2;border-bottom:1px solid var(--border);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.client-install-hint{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:var(--accent-soft);color:var(--text);font-size:.85rem;border-bottom:1px solid var(--border)}.client-install-hint-dismiss{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1;color:inherit}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:1rem}.photo-card{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--surface)}.photo-card img{width:100%;height:100%;object-fit:cover}.photo-card .mark-btn{position:absolute;top:8px;right:8px;width:36px;height:36px;border-radius:50%;border:2px solid white;background:#0006;color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.photo-card .mark-btn.marked{background:var(--accent);border-color:var(--accent)}.photo-card .download-btn{position:absolute;bottom:8px;left:8px;padding:6px 10px;border-radius:6px;background:#000000b3;color:#fff;font-size:.85rem;border:none}.photo-card .delete-btn{position:absolute;top:8px;left:8px;width:28px;height:28px;border-radius:50%;border:none;background:#000000b3;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-card .delete-btn:hover:not(:disabled){background:var(--danger, #c00)}.photo-card .delete-btn:disabled{opacity:.7;cursor:wait}.client-photo-card{aspect-ratio:auto;min-height:180px;background:var(--photo-bg)}.client-photo-card img{width:100%;height:100%;object-fit:contain;cursor:pointer}.client-photo-overlay-top{position:absolute;top:8px;right:8px;display:flex;gap:.4rem;z-index:3}.client-photo-card .mark-btn{position:static;width:34px;height:34px;margin:0}.client-photo-download-btn{width:34px;height:34px;border-radius:50%;border:2px solid #fff;background:#00000073;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.95rem}.client-photo-download-btn:hover{background:#000000ad;color:#fff}.client-slideshow{padding:1rem;display:grid;gap:.75rem}.client-slideshow-image-wrap{width:100%;min-height:260px;max-height:72vh;background:var(--photo-bg);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;overflow:hidden}.client-slideshow-image{width:100%;height:100%;object-fit:contain}.client-slideshow-meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.client-slideshow-actions{display:flex;flex-wrap:wrap;gap:.5rem}.client-slide-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#00000073;color:#fff;font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;z-index:3}.client-slide-nav.left{left:10px}.client-slide-nav.right{right:10px}.client-slideshow-overlay-top{position:absolute;top:10px;right:10px;display:flex;gap:.45rem;z-index:3}.client-overlay-btn{width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;text-decoration:none}.client-overlay-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.drop-zone{border:2px dashed var(--border);border-radius:8px;padding:1rem;margin-top:.5rem;text-align:center;color:var(--muted);transition:border-color .2s,background .2s}.drop-zone.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.client-tabs{display:flex;background:#fffffff5;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.client-tabs a,.client-tabs button{flex:1;padding:1rem;text-align:center;color:var(--muted);font-weight:500}.client-tabs a.active,.client-tabs button.active{color:var(--accent-hover);border-bottom:2px solid var(--accent)}.chat-box{display:flex;flex-direction:column;height:60vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.chat-messages{flex:1;overflow-y:auto;padding:1rem;background:var(--bg)}.chat-msg{margin-bottom:.75rem;max-width:85%}.chat-msg.own{margin-left:auto;background:var(--brand-gradient);color:#fff;padding:.55rem .85rem;border-radius:14px 14px 4px;box-shadow:var(--shadow-sm)}.chat-msg.other{background:var(--surface);padding:.55rem .85rem;border-radius:14px 14px 14px 4px;border:1px solid var(--border)}.chat-form{display:flex;gap:.5rem;padding:1rem;border-top:1px solid var(--border);background:var(--surface)}.chat-form input{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text)}.chat-form button{padding:.75rem 1.25rem}.landing{--landing-text: #111827;--landing-muted: #4b5563;--landing-card: rgba(255, 255, 255, .82);--landing-gold: #c9a86c;--landing-gold-deep: #9a7840;--landing-purple: #8a2be2;--landing-purple-deep: #6d22b5;font-family:var(--font-body);color:var(--landing-text);min-height:100vh;background:linear-gradient(180deg,#fff,#fff 12%,#fffdf9 22%,#faf4e8 38%,#f3e6cf 52%,#ead9f3 68%,#e2d0f5 82%,#ddd0f0)}.landing a{color:var(--landing-text)}.landing a:hover{color:var(--landing-purple-deep)}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:18px 8%;background:#ffffffb8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.65);position:fixed;left:0;right:0;top:0;z-index:1000;box-shadow:0 4px 24px #1118270a}.landing-logout-notice{position:fixed;top:78px;left:50%;transform:translate(-50%);z-index:1001;max-width:min(560px,92vw);padding:.75rem 1rem;border-radius:var(--radius-sm);background:#dc262614;border:1px solid rgba(220,38,38,.25);color:#991b1b;text-align:center;font-size:.95rem}.idle-logout-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center;padding:.75rem 1rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.landing-logo{font-family:var(--font-body);font-weight:700;font-size:1.5rem;letter-spacing:.22em;color:var(--landing-text);text-transform:uppercase}.landing-links{display:flex;align-items:center;gap:.25rem 1.25rem}.landing-links a{margin-left:0;font-size:.92rem;font-weight:500;transition:color .2s ease;text-decoration:none}.landing-nav-login{border:1px solid rgba(17,24,39,.12);padding:8px 18px;border-radius:999px;color:var(--landing-text)!important;background:#ffffffd9}.landing-nav-login:hover{border-color:var(--landing-purple);color:var(--landing-purple-deep)!important}.landing-nav-register{background:var(--brand-gradient);color:#fff!important;padding:8px 20px;border-radius:999px;box-shadow:0 6px 18px var(--accent-glow)}.landing-nav-register:hover{color:#fff!important;transform:translateY(-1px)}.landing-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:transparent;padding:7rem 8% 4rem;position:relative}.landing-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% 20%,rgba(255,255,255,.95),transparent 70%)}.landing-hero>*{position:relative;z-index:1}.landing-hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.2rem);margin-bottom:12px;letter-spacing:-.03em;line-height:1.05;font-weight:600;max-width:900px}.landing-hero h1 span{background:linear-gradient(90deg,var(--logo-accent),var(--logo-accent-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.landing-subtitle{font-size:1.12rem;color:var(--landing-muted);max-width:680px;margin-bottom:2rem;line-height:1.65}.landing-cta{background:var(--brand-gradient);color:#fff;padding:14px 34px;border-radius:999px;text-decoration:none;font-weight:600;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 10px 28px var(--accent-glow)}.landing-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 16px 36px #8a2be247}.landing-features{padding:5rem 8% 6rem;background:transparent;position:relative}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.landing-section-title{text-align:center;margin:0 0 2rem;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:600;color:var(--landing-purple-deep)}.landing-feature-card{background:var(--landing-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2rem;border-radius:var(--radius);border:1px solid rgba(255,255,255,.7);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:0 8px 28px #6d22b514}.landing-feature-card:hover{border-color:#8a2be259;transform:translateY(-3px);box-shadow:0 14px 36px #6d22b524}.landing-feature-card h3{margin-top:0;color:var(--landing-purple-deep);font-family:var(--font-display);font-size:1.65rem;font-weight:600}.landing-feature-card p{color:var(--landing-muted);font-size:.96rem;line-height:1.6}@media (max-width: 768px){.landing-nav{padding:16px 5%}.landing-links{gap:.5rem}.landing-links a:not(.landing-nav-login):not(.landing-nav-register){display:none}}.landing-tarife{padding:5rem 8%;background:transparent;position:relative}.landing-tarife:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 90% 70% at 50% 50%,rgba(201,168,108,.14),transparent 72%)}.landing-tarife>*{position:relative;z-index:1}.landing-tarife h2{text-align:center;margin-bottom:2rem;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:600}.landing-tarife-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:960px;margin:0 auto}.landing-tarife-card{background:var(--landing-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2rem;border-radius:var(--radius);border:1px solid rgba(255,255,255,.75);box-shadow:0 8px 28px #9a78401a;transition:transform .2s ease,box-shadow .2s ease}.landing-tarife-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px #9a784029}.landing-tarife-card h3{margin-top:0;color:var(--landing-gold-deep);font-family:var(--font-display);font-size:1.55rem}.landing-tarife-card ul{list-style:none;padding:0;margin:0 0 1.25rem;color:var(--landing-muted);line-height:1.7}.client-header .app-logo{color:var(--text);font-size:1.1rem}.client-profile-notice{margin:0;padding:.75rem 1rem;background:var(--accent-soft);color:var(--text);font-size:.9rem;text-align:center;border-bottom:1px solid var(--border)}.client-profile-form{max-width:640px;margin:0 auto}.client-profile-section{border:1px solid var(--border);border-radius:8px;padding:1rem;margin:0 0 1rem}.client-profile-section legend{padding:0 .35rem;color:var(--accent);font-weight:600}.client-profile-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.client-profile-notice-pending{background:#60a5fa1f}.client-profile-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.client-profile-diff{margin:1rem 0;padding:1rem}.change-request-card{border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem}.change-request-card:first-of-type{border-top:none;padding-top:0;margin-top:0}.change-request-diff{width:100%;border-collapse:collapse;font-size:.9rem}.change-request-diff th,.change-request-diff td{border:1px solid var(--border);padding:.4rem .6rem;text-align:left;vertical-align:top}.change-request-diff th{background:var(--bg-subtle)}.raw-finder{padding:1rem}.raw-finder-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}.raw-finder-results{overflow-x:auto}.raw-finder-match-list{margin:0;padding-left:1.1rem}.raw-finder-match-list li{margin:.15rem 0;word-break:break-all}.raw-finder-table input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.raw-finder-row-selected td{background:var(--accent-soft)}.page-header-with-logo{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem 1rem;border-bottom:1px solid var(--border);background:#ffffffe6;margin:-1.5rem -1.25rem 1.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-header-with-logo .app-logo{margin-right:0}.gallery-tile-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:1rem}.gallery-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;padding:0;text-align:left;color:var(--text);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.gallery-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.gallery-tile.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow-md)}.gallery-tile-image-wrap{aspect-ratio:1;background:var(--photo-bg);display:flex;align-items:center;justify-content:center}.gallery-tile-image{width:100%;height:100%;object-fit:cover;display:block}.gallery-tile-placeholder{color:var(--muted);font-size:.85rem}.gallery-tile-meta{padding:.65rem .7rem .75rem}.gallery-tile-client{font-size:.98rem;font-weight:700;line-height:1.2}.gallery-tile-name{font-size:.82rem;color:var(--muted);margin-top:.2rem;line-height:1.2}.gallery-watermark-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px}.gallery-watermark-preview{width:120px;height:80px;object-fit:contain;background:repeating-conic-gradient(#ece8e2,#ece8e2 25%,#e3ddd4 0%,#e3ddd4 50%) 50% / 16px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px}.gallery-watermark-preview-empty{display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--muted);text-align:center}.photo-watermark-wrap{position:relative;display:block;width:100%;height:100%;overflow:hidden}.photo-watermark-wrap>img:first-child{display:block;width:100%;height:100%}.photo-watermark-overlay{position:absolute;width:22%;max-width:28%;height:auto;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.88}.photo-watermark-overlay.pos-bottom-right{right:2%;bottom:2%}.photo-watermark-overlay.pos-bottom-left{left:2%;bottom:2%}.photo-watermark-overlay.pos-top-left{left:2%;top:2%}.photo-watermark-overlay.pos-top-right{right:2%;top:2%}.photo-watermark-overlay.pos-diagonal{left:50%;top:50%;width:130%;max-width:none;transform:translate(-50%,-50%) rotate(-45deg);opacity:.42}.client-photo-card .photo-watermark-wrap{cursor:pointer}.gallery-tile-image-wrap .photo-watermark-wrap{width:100%;height:100%}.gallery-tile-image-wrap .photo-watermark-wrap>img:first-child{object-fit:cover}.gallery-photo-watermark-wrap>img:first-child{object-fit:cover;border-radius:8px}.client-slideshow-photo-wrap{display:inline-block;position:relative;line-height:0;max-width:100%;max-height:72vh;vertical-align:middle}.client-slideshow-photo-wrap>img:first-child{width:auto!important;height:auto!important;max-width:100%;max-height:72vh;object-fit:contain}.client-slideshow-photo-wrap .photo-watermark-overlay{width:18%;max-width:160px}.client-slideshow-photo-wrap .photo-watermark-overlay.pos-diagonal{width:95%;max-width:none;opacity:.38}.invoice-tabs{display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.invoice-mapper{margin:1rem 0}.invoice-mapper-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:.75rem}.invoice-mapper-toolbar select{margin-left:.5rem;padding:.4rem;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px}.invoice-mapper-hint{color:var(--muted);font-size:.9rem}.invoice-mapper-wrap{position:relative;width:100%;max-width:900px;margin:0 auto}.invoice-mapper-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);z-index:1}.invoice-mapper-canvas{position:relative;width:100%;height:100%;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;cursor:crosshair}.invoice-mapper-surface{display:block;width:100%;height:100%;pointer-events:none}.invoice-field-preview{position:absolute;border:2px dashed rgba(196,165,116,.95);background:#c4a5741f;border-radius:3px;z-index:2;cursor:grab;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding:2px 4px;box-sizing:border-box}.invoice-field-preview.selected{border-style:solid;background:#c4a57438;z-index:4}.invoice-field-preview:active{cursor:grabbing}.invoice-field-preview-label{font-size:.55rem;font-weight:700;color:#8a6d3b;line-height:1.1}.invoice-field-preview-sample{font-size:.65rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;margin-top:1px}.invoice-field-resize-handle{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;background:var(--accent);border:1px solid #1a1a1a;cursor:nwse-resize;border-radius:2px}.invoice-column-preview{position:absolute;border-left:2px dashed rgba(99,179,237,.95);border-right:2px dashed rgba(99,179,237,.95);background:#63b3ed14;z-index:3;cursor:grab;box-sizing:border-box}.invoice-column-preview.selected{border-left-style:solid;border-right-style:solid;background:#63b3ed29;z-index:5}.invoice-column-preview:active{cursor:grabbing}.invoice-column-preview-label{position:absolute;top:-1.1rem;left:0;font-size:.55rem;font-weight:700;color:#2b6cb0;white-space:nowrap;background:#ffffffd9;padding:0 2px;border-radius:2px}.invoice-column-resize-handle{position:absolute;right:-5px;top:50%;transform:translateY(-50%);width:8px;height:24px;background:#63b3ed;border:1px solid #1a1a1a;cursor:ew-resize;border-radius:2px}.invoice-mapper-marker,.invoice-mapper-column-marker{display:none}.invoice-mapper-mode{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.invoice-mapper-mode label{display:flex;align-items:center;gap:.25rem}.invoice-mapper-list li.selected{background:var(--accent-soft);border-radius:var(--radius-sm)}.invoice-table-columns{margin:.75rem 0 .5rem 1rem;padding:.75rem;border-left:2px solid var(--border)}.invoice-table-columns ul{list-style:none;padding:0;margin:.5rem 0}.invoice-table-columns li{margin-bottom:.35rem}.invoice-template-guide{background:var(--accent-soft);border:1px solid rgba(138,43,226,.2);border-radius:var(--radius-sm);padding:1rem 1.25rem;margin-bottom:1.25rem}.invoice-template-guide-compact{margin-bottom:0;padding:.75rem 1rem}.invoice-template-guide h4{margin:0 0 .75rem;font-size:1rem;color:var(--accent)}.invoice-template-guide ol{margin:0;padding-left:1.25rem}.invoice-template-guide li{margin-bottom:.65rem;line-height:1.45}.invoice-template-guide ul{margin:.35rem 0 0;padding-left:1.1rem}.invoice-template-guide ul li{margin-bottom:.25rem}.invoice-guide-note{color:var(--muted);font-size:.88rem}.invoice-template-guide-compact p{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}.invoice-mapper-list ul{list-style:none;padding:0;margin:.5rem 0 0}.invoice-line-items table{width:100%;border-collapse:collapse}.invoice-line-items th,.invoice-line-items td{border-bottom:1px solid var(--border);padding:.5rem;text-align:left;vertical-align:middle}.invoice-line-items input{width:100%;min-width:0}.invoice-line-items-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;flex-wrap:wrap}.invoice-template-list,.invoice-list{list-style:none;padding:0;margin:0}.invoice-template-list li,.invoice-list li{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.invoice-list-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.settings-page h1{margin-bottom:.35rem}.settings-intro{color:var(--muted);max-width:720px;line-height:1.5;margin-bottom:1rem}.settings-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.settings-form h3,.settings-account h3{margin-top:0}.settings-hint{color:var(--muted);font-size:.9rem;margin-top:0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem;margin-bottom:1rem}.settings-full{grid-column:1 / -1}.settings-checkbox label{display:flex;align-items:center;gap:.5rem;color:var(--text)}.settings-message{padding:.65rem .85rem;border-radius:8px;margin-bottom:1rem}.settings-message.error{background:#dc262614;color:#991b1b;border:1px solid rgba(220,38,38,.2)}.settings-message.success{background:#15803d14;color:#166534;border:1px solid rgba(21,128,61,.2)}.settings-logo-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.settings-logo-preview{width:88px;height:88px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg)}.settings-logo-empty{display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--muted)}.settings-account{display:grid;gap:1rem}.settings-dl{display:grid;grid-template-columns:140px 1fr;gap:.5rem 1rem;margin:0 0 1rem}.settings-dl dt{color:var(--muted);margin:0}.settings-dl dd{margin:0}.client-header-branded{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem;border-bottom:1px solid var(--border)}.client-header-brand{display:flex;align-items:center;gap:.85rem;min-width:0}.client-studio-logo{width:52px;height:52px;object-fit:contain;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.client-studio-name{margin:0 0 .15rem;font-size:.8rem;color:var(--accent);font-weight:600}.client-header-platform{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.8rem;flex-shrink:0}.app-logo-compact{font-size:.95rem!important}.client-powered-by{white-space:nowrap}.client-imprint{padding:1rem;margin-top:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem;line-height:1.45;white-space:pre-wrap}.stat-value{font-family:var(--font-display);font-size:2.4rem;margin:.35rem 0 .75rem;color:var(--accent);line-height:1}.settings-tabs button,.settings-tabs .btn-ghost{border-radius:999px}.settings-tabs .btn-ghost.active,.settings-tabs button.active{background:var(--accent-soft);border-color:#8a2be259;color:var(--accent)}.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-page .page-header-with-logo{margin:0}.auth-page .container{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:440px;margin-top:0!important;padding-top:.5rem;padding-bottom:2rem}.auth-page h1{margin-bottom:.35rem}.auth-subtitle{color:var(--muted);margin:0 0 1.25rem;line-height:1.5}.auth-notice{margin-bottom:1rem;border-color:#8a2be240!important;background:var(--accent-soft)!important}.auth-footer{margin-top:1rem;color:var(--muted);text-align:center}
