:root,.dark-mode{--bg: #050508;--sidebar-bg: #0A0D16;--card-bg: #101320;--muted: #9CA3AF;--text-primary: #F3F4F6;--text-secondary: #9CA3AF;--primary: #6e8bff;--ok: #23c07a;--warn: #f2b705;--bad: #ff5d5d;--border: rgba(255, 255, 255, .06)}.light-mode{--bg: #FAFAFA;--sidebar-bg: #F0F0F0;--card-bg: #F8F8F8;--muted: #6B7280;--text-primary: #111827;--text-secondary: #4B5563;--primary: #6e8bff;--ok: #23c07a;--warn: #f2b705;--bad: #ff5d5d;--border: #D1D5DB;--hover-bg: rgba(0, 0, 0, .05);--hover-bg-strong: rgba(0, 0, 0, .08);--hover-border: rgba(0, 0, 0, .2);--hover-glow: rgba(0, 0, 0, .1)}:root,.dark-mode{--selection-bg: rgba(255, 255, 255, .2);--selection-color: var(--text-primary)}.light-mode{--selection-bg: rgba(0, 0, 0, .15);--selection-color: var(--text-primary)}::selection{background:var(--selection-bg);color:var(--selection-color)}::-moz-selection{background:var(--selection-bg);color:var(--selection-color)}.light-mode .status-card,.light-mode .results-card,.light-mode .sidebar,.light-mode .file-upload-button,.light-mode .start-analysis-button,.light-mode button,.light-mode .theme-toggle,.light-mode .log,.light-mode .log-status-bar,.light-mode .log-header,.light-mode .log-collapsed-trigger,.light-mode table th,.light-mode table td,.light-mode input[type=file],.light-mode select,.light-mode .sidebar-toggle,.light-mode .sb-link{border-width:1.5px!important}.light-mode .results-card{background:var(--sidebar-bg)}.light-mode table{border-bottom-width:2px!important}.light-mode .upload-divider{width:1.5px!important}.custom-checkbox{width:18px;height:18px;border-radius:6px;border:2px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;pointer-events:none;transition:all .2s ease;box-sizing:border-box}.dark-mode .custom-checkbox{border-color:var(--text-primary)}.light-mode .custom-checkbox{border-width:2px;border-color:var(--border)}.custom-checkbox svg{stroke:var(--text-primary)}.custom-checkbox.checked{background:transparent;border-color:var(--border)}.dark-mode .custom-checkbox.checked{border-color:var(--text-primary)}.custom-checkbox.checked svg{stroke:var(--text-primary)}.dark-mode{--hover-bg: rgba(255, 255, 255, .02);--hover-bg-strong: rgba(255, 255, 255, .06);--hover-border: rgba(255, 255, 255, .18);--hover-glow: rgba(255, 255, 255, .2)}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text-primary);font-family:Urbanist,system-ui,-apple-system,sans-serif}.wrap{width:100%;max-width:1140px;padding:40px 32px;box-sizing:border-box;margin:0 auto 40px}.upload-section{margin-top:162px;margin-bottom:28px;position:relative}.page-drag-container.drag-over .upload-grid,.page-drag-container.drag-over .upload-title{opacity:.3;pointer-events:none}.page-drag-container.drag-over .upload-actions{opacity:.3}.page-drag-container.drag-over .drag-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;color:var(--text-primary);font-size:24px;font-weight:600;pointer-events:none;text-align:center}.sidebar.open~.content .page-drag-container.drag-over .drag-overlay{left:calc(50% + 130px)}.sidebar.closed~.content .page-drag-container.drag-over .drag-overlay{left:calc(50% + 26px)}.page-drag-container.drag-over .drag-zone-full{position:fixed;top:0;bottom:0;z-index:3;pointer-events:none;background:var(--hover-bg-strong)}.sidebar.open~.content .page-drag-container.drag-over .drag-zone-full{left:260px;right:0}.sidebar.closed~.content .page-drag-container.drag-over .drag-zone-full{left:52px;right:0}.page-drag-container.split-drag-over .drag-zone-left,.page-drag-container.split-drag-over .drag-zone-right{position:fixed;top:0;bottom:0;z-index:3;pointer-events:none}.sidebar.open~.content .page-drag-container.split-drag-over .drag-zone-left{left:260px;right:calc(50vw - 130px)}.sidebar.open~.content .page-drag-container.split-drag-over .drag-zone-right{left:calc(50vw + 130px);right:0}.sidebar.closed~.content .page-drag-container.split-drag-over .drag-zone-left{left:52px;right:calc(50vw - 26px)}.sidebar.closed~.content .page-drag-container.split-drag-over .drag-zone-right{left:calc(50vw + 26px);right:0}.page-drag-container.split-drag-over .upload-grid,.page-drag-container.split-drag-over .upload-title{opacity:.3;pointer-events:none}.page-drag-container.split-drag-over .upload-actions{opacity:.3}.page-drag-container.split-drag-over .file-upload-container.drag-over,.page-drag-container.drag-over .file-upload-container.drag-over{background:transparent!important;border:none!important;border-color:transparent!important;box-shadow:none!important}.page-drag-container.split-drag-over .file-upload-container.drag-over .file-upload-button,.page-drag-container.drag-over .file-upload-container.drag-over .file-upload-button{background:var(--sidebar-bg)!important;border-color:var(--border)!important;box-shadow:none!important}.page-drag-container.split-drag-over .file-upload-container.drag-over *,.page-drag-container.drag-over .file-upload-container.drag-over *{pointer-events:none}.page-drag-container.split-drag-over .drag-zone-left.active,.page-drag-container.split-drag-over .drag-zone-right.active{background:var(--hover-bg-strong);pointer-events:none}.page-drag-container.split-drag-over .drag-zone-left.active:after,.page-drag-container.split-drag-over .drag-zone-right.active:after{content:"Släpp filer för att ladda upp";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-primary);font-size:20px;font-weight:600;text-align:center;z-index:4}.page-drag-container.drag-over .upload-grid,.page-drag-container.drag-over .upload-title,.page-drag-container.drag-over .upload-actions{opacity:.3;pointer-events:none}.upload-title{text-align:center;font-size:40px;font-weight:600;color:var(--text-primary);margin:0 0 32px;font-family:inherit}.upload-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:start;max-width:800px;margin:0 auto 32px}.upload-divider{width:1px;background:var(--border);align-self:stretch;margin:20px 0}.status-card,.results-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;box-sizing:border-box;margin-bottom:28px;transition:background .2s ease,box-shadow .2s ease}.results-card:has(.log-minimized):hover{background:var(--hover-bg);box-shadow:0 0 20px var(--hover-glow)}.status-card:last-child,.results-card:last-child{margin-bottom:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px}label{font-size:14px;color:var(--text-secondary);font-family:inherit;font-weight:500}input[type=file],select{width:100%;border:1px dashed var(--border);padding:14px;border-radius:12px;background:var(--bg);color:var(--text-primary);box-sizing:border-box}.file-upload-container{display:flex;flex-direction:column;gap:12px;align-items:center;transition:all .2s ease}.file-upload-container.drag-over{background:var(--hover-bg);border:2px dashed var(--hover-border);border-radius:12px}.file-upload-container.drag-over .file-upload-button{background:var(--hover-bg-strong);border-color:var(--hover-border)}.file-upload-button{width:100%;max-width:300px;background:var(--sidebar-bg);border:1px solid var(--border);padding:16px 24px;border-radius:12px;color:var(--text-primary);cursor:pointer;font-size:14px;font-family:inherit;transition:all .2s ease;font-weight:500;text-align:center}.file-upload-button:hover{background:var(--hover-bg-strong);border-color:var(--hover-border);transform:translateY(-1px)}.file-count-display{color:var(--text-secondary);font-size:13px;margin-top:8px;text-align:center;min-height:20px}.file-name-display{color:var(--text-secondary);font-size:13px;margin-top:4px;line-height:1.5}.file-name-display div{margin-top:4px}.actions{margin-top:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.upload-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:32px}.start-analysis-button{background:var(--bg);color:var(--text-primary);border:1px solid var(--hover-border);padding:14px 36px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;min-width:200px;transition:all .2s ease}.start-analysis-button:hover{background:var(--hover-bg-strong);transform:translateY(-1px);box-shadow:0 0 12px var(--hover-glow);color:var(--text-primary)}.start-analysis-button:active{background:var(--hover-bg);transform:translateY(0);color:var(--text-primary)}.start-analysis-button:focus{outline:1px solid var(--hover-border);outline-offset:2px;color:var(--text-primary)}button{background:var(--hover-bg);color:var(--text-primary);border:1px solid var(--hover-border);padding:14px 20px;border-radius:12px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s ease}button:hover{background:var(--hover-bg-strong);box-shadow:0 0 12px var(--hover-glow);color:var(--text-primary)}button:active{background:var(--hover-bg);color:var(--text-primary)}button:focus{outline:1px solid var(--hover-border);outline-offset:2px;color:var(--text-primary)}button[disabled]{opacity:.6;cursor:not-allowed}.muted{color:var(--text-secondary);font-size:13px}.log{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px;height:calc(6.4em + 32px);min-height:calc(6.4em + 32px);max-height:600px;overflow-y:auto;overflow-x:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--text-primary);line-height:1.6;white-space:pre-line;word-wrap:break-word;resize:vertical;cursor:ns-resize}.results-card{animation:fadeInUp .3s ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.log-minimized{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;cursor:pointer;transition:opacity .3s ease;margin:-24px}.log-status-content{display:flex;align-items:center;gap:12px}.log-status-text{color:var(--text-primary);font-size:14px;font-weight:500;will-change:auto}.log-expand-icon{color:var(--text-secondary);font-size:12px;transition:transform .2s ease}.log-expanded-content{display:flex;flex-direction:column;animation:expandDown .3s cubic-bezier(.4,0,.2,1) forwards;overflow:hidden;margin-top:0;transition:opacity .3s ease,max-height .3s cubic-bezier(.4,0,.2,1)}.log-collapsed-trigger{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .2s ease;color:var(--text-secondary);font-size:14px;border-bottom:1px solid var(--border)}.log-collapsed-trigger:hover{background:#ffffff05}@keyframes expandDown{0%{max-height:0;opacity:0;transform:translateY(-5px)}to{max-height:2000px;opacity:1;transform:translateY(0)}}.log-expanded-content.collapsing{animation:collapseUp .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes collapseUp{0%{max-height:2000px;opacity:1;transform:translateY(0)}to{max-height:0;opacity:0;transform:translateY(-5px)}}.log-status-bar{padding:16px 24px;border-bottom:1px solid var(--border);background:#ffffff03;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s ease}.log-status-bar:hover{background:#ffffff05}.log-status-bar .log-expand-icon{color:var(--text-secondary);font-size:12px;transition:transform .2s ease;pointer-events:none}.log-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:none;cursor:pointer;transition:background .2s ease;color:var(--text-primary);font-weight:500;font-size:14px}.log-header:hover{background:#ffffff05}.log-collapse-icon{color:var(--text-secondary);font-size:12px;transition:transform .2s ease}.log-header:hover .log-collapse-icon{transform:translateY(-2px)}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--text-secondary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}table{border-collapse:collapse;width:100%;margin-top:0;font-family:inherit}th,td{border-bottom:1px solid var(--border);padding:14px 16px;text-align:left;font-size:14px}.filename-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period-cell{white-space:nowrap;line-height:1.4;width:100px;max-width:100px;overflow:hidden;text-overflow:ellipsis}.period-cell div{display:block;overflow:hidden;text-overflow:ellipsis}.bokad-cell,.faktura-cell{width:100px;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reason-tooltip{position:absolute;bottom:100%;right:0;margin-bottom:8px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:13px;line-height:1.5;max-width:600px;width:max-content;z-index:1000;box-shadow:0 4px 12px #00000026;word-wrap:break-word;white-space:normal;pointer-events:none}th{color:var(--text-secondary);font-weight:600}tbody tr:hover{background:var(--hover-bg)}.table-row-new{animation:fadeInRow .6s ease-out forwards}@keyframes fadeInRow{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pdf-row-expanded{animation:expandRow .3s cubic-bezier(.4,0,.2,1) forwards;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);scroll-margin-top:20px}@keyframes expandRow{0%{max-height:0;opacity:0;transform:translateY(-5px)}to{max-height:2000px;opacity:1;transform:translateY(0)}}.pdf-expanded-content{animation:fadeInUp .3s cubic-bezier(.4,0,.2,1) forwards;overflow:hidden;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.ok{color:var(--ok)}td.ok,td.warn{padding:14px 16px}td.ok span,td.warn span{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary)}td.ok span:before,td.warn span:before{content:"";width:20px;height:20px;border-radius:50%;flex-shrink:0}td.ok span:before{background:var(--ok)}td.warn span:before{background:var(--warn)}.bad{color:var(--bad)}.warn{color:var(--warn)}.foot{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:20px}.title{margin:0 0 24px;font-size:18px;color:var(--text-primary);font-family:inherit;font-weight:600}.layout{display:block;position:relative}.sidebar{position:fixed;top:0;left:0;height:100vh;width:260px;background:var(--sidebar-bg);border-right:1px solid var(--border);padding:80px 24px 24px;z-index:1000;transition:transform .3s ease;overflow-y:auto;overflow-x:hidden;box-shadow:2px 0 8px #0000004d;cursor:pointer;display:flex;flex-direction:column}.sidebar-toggle{position:absolute;top:20px;right:16px;background:transparent;border:1px solid var(--border);border-radius:6px;padding:10px 12px;cursor:pointer;color:var(--text-primary);font-size:20px;transition:all .3s ease;z-index:1001;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.sidebar.closed .sidebar-toggle{right:10px}.sidebar-toggle:hover{background:var(--hover-bg-strong);border-color:var(--hover-border)}.hamburger-icon{display:inline-block;transition:opacity .3s ease;opacity:1;color:var(--text-primary)}.sidebar.open .hamburger-icon{opacity:1}.light-mode .hamburger-icon{opacity:1;color:var(--text-primary)}.sidebar.closed{transform:translate(-80%);cursor:pointer}.sidebar.open{transform:translate(0);cursor:default}.sidebar.open .sb-nav,.sidebar.open .sb-link{pointer-events:auto}.sidebar.closed .sb-nav,.sidebar.closed .sb-link{pointer-events:none}.sidebar-brand{color:var(--text-primary);font-size:20px;font-weight:600;margin-bottom:24px;letter-spacing:.5px;white-space:nowrap}.sidebar.closed .sidebar-brand,.sidebar.closed .sb-nav{opacity:0;transition:opacity .1s ease}.sidebar.open .sidebar-brand,.sidebar.open .sb-nav{opacity:1;transition:opacity .2s ease .15s}.sb-nav{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.sb-link{color:var(--text-primary);text-decoration:none;padding:12px 16px;border-radius:8px;border:1px solid transparent;transition:all .2s ease;white-space:nowrap;display:block}.sb-link:hover{background:var(--hover-bg);border-color:var(--border);color:var(--text-primary)}.sb-link.active{background:var(--hover-bg-strong);border-color:var(--hover-border);color:var(--text-primary)}.content{transition:margin-left .3s ease;margin-left:0}.sidebar.open~.content{margin-left:260px}.sidebar.closed~.content{margin-left:52px}.theme-toggle{position:fixed!important;top:20px!important;right:20px!important;left:auto!important;background:var(--card-bg);border:1px solid var(--border);border-radius:24px;padding:4px;cursor:pointer;z-index:2000!important;transition:all .2s ease;display:flex;align-items:center;width:100px;height:36px;box-shadow:0 2px 8px #0000001a}.theme-toggle:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.theme-toggle-slider{position:absolute;left:4px;width:28px;height:28px;border-radius:50%;background:var(--text-primary);transition:left .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-toggle.dark .theme-toggle-slider{left:4px}.theme-toggle.light .theme-toggle-slider{left:68px}.theme-toggle-label{position:absolute;font-size:12px;font-weight:500;color:var(--text-primary);font-family:inherit;white-space:nowrap;transition:opacity .2s ease;pointer-events:none}.theme-toggle.dark .theme-toggle-label{left:40px}.theme-toggle.light .theme-toggle-label{right:40px}@media (max-width: 900px){.grid{grid-template-columns:1fr}.sidebar.open~.content,.sidebar.closed~.content{margin-left:0}.theme-toggle{top:16px;right:16px;width:40px;height:40px;font-size:18px}}
