:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#1d2441;background:#f5f6fa;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}a{color:#6d45c7;text-decoration:none}a:hover{text-decoration:underline}.sidebar{width:254px;background:#17192b;color:#dddff1;padding:27px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;gap:12px;align-items:center;color:white;font-size:19px;letter-spacing:-.5px;margin:0 6px 45px}.brand:hover{text-decoration:none}.brand small{display:block;color:#9097b2;font-size:11px;font-weight:400;letter-spacing:0;margin-top:4px}.logo{display:grid;place-items:center;width:38px;height:38px;background:#8055e3;border-radius:12px;font-weight:900}.navlabel{text-transform:uppercase;color:#737d9c;font-size:10px;letter-spacing:1.5px;padding:0 15px 12px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#acb3ce;padding:13px 15px;border-radius:10px;font-weight:550}.sidebar nav a:hover,.sidebar nav a.active{background:#30314c;color:#fff;text-decoration:none}.sidefoot{margin-top:auto;font-size:11px;color:#818ba7;line-height:1.8;padding:14px}.workspace{flex:1;min-width:0}.topbar{height:72px;background:white;border-bottom:1px solid #e9eaf0;display:flex;align-items:center;justify-content:space-between;padding:0 38px;color:#8c94aa}.dev{color:#4f9c78;font-size:12px}main{max-width:1180px;margin:0 auto;padding:34px 38px 80px}.eyebrow{color:#8256d3;font-size:12px;font-weight:700;margin:0 0 12px;text-transform:uppercase;letter-spacing:1.1px}h1{font-size:30px;letter-spacing:-.8px;margin:0 0 8px}h2{font-size:17px;margin:0 0 22px}.subhead{color:#8891a5;margin:0 0 30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat,.panel{background:white;border:1px solid #eceef5;border-radius:16px;box-shadow:0 5px 20px #20223c05}.stat{padding:25px;display:flex;flex-direction:column;gap:12px}.stat span{color:#8d93a7}.stat strong{font-size:35px;letter-spacing:-1px}.stat a{font-size:12px;font-weight:650}.panel{padding:26px 28px;margin-bottom:24px}.panelheader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panelheader h2{margin:0}.btn{background:#f5f1fe;color:#7148c6;border:1px solid #e9e0fc;padding:10px 16px;font:inherit;font-weight:650;border-radius:9px;display:inline-block;cursor:pointer}.btn:hover{filter:brightness(.97);text-decoration:none}.btn.primary{background:#784bd4;color:white;border-color:#784bd4}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}.formgrid label,.uploadform label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#5e6680;font-weight:650}input:not([type=checkbox]),select,textarea{font:inherit;width:100%;border:1px solid #e0e3ee;background:#fff;border-radius:9px;padding:11px 12px;color:#20263d;min-height:42px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #d6c8f8;border-color:#8c68d6}.fieldend{display:flex;align-items:end;gap:14px;justify-content:end}.fieldend .check{margin-bottom:13px}.check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.full{grid-column:1/-1}.companyrow{border-top:1px solid #edf0f7;padding:23px 0}.companyrow:first-child{border-top:0;padding-top:3px}.counter{font-size:12px;color:#8a6dc6;background:#f2edfc;padding:5px 10px;border-radius:10px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{background:#fafaff;color:#8a90a5;font-size:11px;text-transform:uppercase;letter-spacing:.5px}th,td{padding:14px 12px;border-bottom:1px solid #eff0f5}td small{display:block;font-size:11px;color:#a1a8b8;margin-top:4px}td strong{font-weight:650}.chip{display:inline-block;font-size:11px;border-radius:15px;background:#f0edfa;color:#735bb1;padding:6px 10px}.empty{padding:30px;text-align:center;color:#929aae}.notice{background:#edf9f0;border:1px solid #cef0d7;color:#28764a;padding:13px 16px;border-radius:10px;margin-bottom:22px}.uploadform{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:15px}.hint{font-size:12px;color:#8b93a8;line-height:1.7}.muted{color:#9499a9}code{background:#f3f0fa;padding:2px 5px;border-radius:4px}@media(max-width:900px){.sidebar{width:205px}.stats{grid-template-columns:1fr}.uploadform{grid-template-columns:1fr}.topbar{padding:0 18px}main{padding:26px 18px}}@media(max-width:640px){body{display:block}.sidebar{width:100%;padding:13px}.brand{margin:0 0 10px}.navlabel,.sidefoot{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap;padding:10px}.topbar{height:48px;font-size:11px}main{padding:20px 12px}.formgrid{grid-template-columns:1fr}.panel{padding:20px 14px}}

.login-body{display:grid;place-items:center;background:#f5f6fa}.login-box{width:min(440px,92vw);padding:42px;background:#fff;border:1px solid #e9eaf0;border-radius:18px;box-shadow:0 14px 42px #1b1f3512}.login-box h1{margin:20px 0 6px}.login-box p{color:#8790a5}.login-logo{display:grid;place-items:center;width:48px;height:48px;background:#8055e3;border-radius:14px;color:white;font-weight:800;font-size:23px}.login-box form{display:grid;gap:18px;margin-top:25px}.login-box label{display:grid;gap:7px;color:#5e6680}.login-error{padding:12px;background:#fff0f0;color:#a32323;border-radius:9px}

/* v0.8 batch upload */
.document-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.doc-choice{cursor:pointer}.doc-choice input{position:absolute;opacity:0;width:1px;height:1px}.doc-choice span{display:flex;flex-direction:column;gap:6px;border:1px solid #dfe2ee;border-radius:13px;padding:17px 18px;background:#fcfcff}.doc-choice strong{font-size:17px;color:#292b40}.doc-choice small{color:#8991a3}.doc-choice input:checked+span{background:#f4efff;border:2px solid #8155db;padding:16px 17px}.doc-choice input:focus-visible+span{outline:3px solid #a996ee}.field-label{display:block;margin:0 0 16px;color:#5e6680;font-size:12px;font-weight:650}.field-label select{margin-top:8px}.filedrop{border:2px dashed #cbd0e0;border-radius:12px;padding:22px!important;background:#fbfbff}.filedrop input{margin-top:6px}.batch-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:20px}.queue-summary{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}.queue-summary span{padding:10px 14px;background:white;border:1px solid #eceef5;border-radius:10px;color:#707b94}.queue-summary strong{color:#282947}.chip-done{color:#267846;background:#e9f9ed}.chip-failed{color:#ac3030;background:#fff0f0}.doc-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}[hidden]{display:none!important}@media(max-width:680px){.document-choices{grid-template-columns:1fr}.queue-summary span{flex:1 1 42%}}

/* Document deletion actions */
.inline-delete{margin-top:6px}.delete-link{border:0;background:none;color:#b44141;text-decoration:underline;cursor:pointer;padding:2px 0;font:inherit;font-size:13px}.delete-link:disabled{opacity:.45;cursor:not-allowed}.delete-document{display:flex;justify-content:flex-end;margin:8px 0}.delete-btn{color:#b44141;border-color:#c99;background:transparent}.delete-btn:disabled{opacity:.45;cursor:not-allowed}
/* v0.9 accountant verification workspace */
.filters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;align-items:end}.filters-grid label{display:flex;flex-direction:column;gap:7px;color:#626c81;font-size:12px;font-weight:650}.filter-action{padding-bottom:2px}.documents-table td{vertical-align:top}.documents-table td:first-child{max-width:240px;overflow-wrap:anywhere}.doc-actions{min-width:120px}.doc-actions form{margin-top:8px}.review-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:18px}.review-layout .panel{min-width:0}.doc-preview-panel{position:sticky;top:16px}.document-preview{border:1px solid #e4e7f2;border-radius:10px;width:100%;min-height:700px;background:#f7f8fb}.photo-preview{max-height:830px;overflow:auto;background:#f1f2f6;border-radius:10px;border:1px solid #e3e5ee;display:grid;place-items:start center}.photo-preview img{display:block;max-width:100%;height:auto;object-fit:contain}.review-fields .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.verify-panel{margin-top:22px;border-top:1px solid #edf0f4;padding-top:18px}.verify-panel h3{margin:0 0 6px;font-size:16px}.verify-btn{background:#e9f6ef;color:#167147;border:1px solid #b8e6cf}.verify-btn:disabled{opacity:.5;cursor:not-allowed}.ocr-suggestions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.ocr-suggestions>div{padding:13px;background:#f7f8fd;border-radius:9px;min-width:0;overflow-wrap:anywhere}.ocr-suggestions small{display:block;color:#818ba0;margin-bottom:6px}.ocr-suggestions strong{font-size:13px}.ocr-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:440px;overflow:auto;background:#f8f9fd;border-radius:10px;padding:16px}.merit-filter{grid-template-columns:minmax(0,320px) auto;margin-bottom:20px}
@media(max-width:1200px){.review-layout{grid-template-columns:1fr}.doc-preview-panel{position:static}.document-preview{min-height:460px}}@media(max-width:800px){.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.filters-grid{grid-template-columns:1fr}.review-fields .formgrid{grid-template-columns:1fr}.document-preview{min-height:360px}.ocr-suggestions{grid-template-columns:1fr 1fr}}

/* Ekagrupp Expenses v0.9.2: batch upload layout correction.
   The upload label must be block-level. Otherwise an inline <label>
   gets broken across lines and its dashed border overlaps the file field. */
.upload-panel #batch-form {min-width:0}
.upload-panel .document-choices {margin-bottom:18px}
.upload-panel .filedrop {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:11px;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:18px 20px!important;
  border:2px dashed #bfb0ee;
  border-radius:12px;
  background:#fbfaff;
  color:#30364e;
  font-size:13px;
  font-weight:650;
  line-height:1.5;
  cursor:default;
}
.upload-panel .filedrop #batch-files {
  display:block;
  width:100%;
  min-width:0;
  height:auto;
  min-height:0;
  max-width:100%;
  margin:0;
  padding:9px 10px;
  font-size:13px;
  line-height:1.4;
  color:#38415b;
  background:#fff;
  border:1px solid #e0e3ef;
  border-radius:9px;
  overflow:hidden;
  cursor:pointer;
}
.upload-panel .filedrop #batch-files::file-selector-button {
  display:inline-block;
  padding:8px 12px;
  margin-right:12px;
  background:#f2ecff;
  color:#6e41c7;
  border:1px solid #e4d9ff;
  border-radius:7px;
  font:inherit;
  font-weight:650;
  cursor:pointer;
}
.upload-panel .filedrop #selected-files {
  display:block;
  margin:0;
  color:#8791a6;
  font-size:12px;
  font-weight:400;
  overflow-wrap:anywhere;
}
.upload-panel .batch-actions {margin-top:18px}
.upload-panel .batch-actions .hint {min-width:0;flex:1 1 240px}
.upload-panel .doc-choice input[type=radio] {
  min-height:0;
  padding:0;
  border:0;
}
@media(max-width:680px){
  .upload-panel .filedrop {padding:15px!important}
  .upload-panel .batch-actions {align-items:stretch}
  .upload-panel .batch-actions .btn {width:100%}
}
