
:root{--bg:#0f1115;--panel:#171a21;--line:#2a303a;--text:#f5f7fa;--muted:#95a0ad;--accent:#e8ff3d;--danger:#ff6b6b;--ok:#45d49b;--warn:#ffcf5c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}header{height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0f1115f2;backdrop-filter:blur(10px);z-index:20}.brand{font-weight:950;letter-spacing:.08em}.brand span{color:var(--accent)}.brand small{font-size:10px;color:var(--muted);margin-left:6px}.head{display:flex;gap:8px}main{max-width:1320px;margin:auto;padding:18px}.hidden{display:none!important}.muted,.legend{color:var(--muted);font-size:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px}.login{max-width:430px;margin:8vh auto}.welcome{display:flex;justify-content:space-between;align-items:center;gap:12px}.schedule{padding:10px 12px;background:#222831;border-radius:10px;margin:0 0 14px;color:#cbd3dc}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.cards.six{grid-template-columns:repeat(6,1fr)}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.card span{color:var(--muted);font-size:12px}.card strong{display:block;font-size:23px;margin-top:5px}input,select,textarea{width:100%;background:#10141a;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 13px;font:inherit;margin:6px 0 10px}textarea{min-height:90px;resize:vertical}button,.btn{border:0;border-radius:12px;padding:11px 14px;font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--accent);color:#111;font-weight:900}.secondary{background:#272e37;color:#fff}.danger{background:var(--danger);color:#111;font-weight:900}.ghost{background:transparent;color:#fff;border:1px solid var(--line)}.big{width:100%}.chip,.pill{background:#28303a;border-radius:99px;padding:6px 10px;font-size:12px}.tabs,.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tab{background:#222831;color:#dbe1e8;white-space:nowrap}.tab.active{background:var(--accent);color:#111;font-weight:900}.statusbox{border:1px dashed #3b4552;border-radius:14px;padding:14px;margin:10px 0}.warning{padding:10px;border-radius:10px;background:#3a2e18;color:#ffd978;margin:10px 0}.actiongrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.row{display:grid;grid-template-columns:1.4fr .85fr .9fr .7fr .7fr .8fr .8fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.name{font-weight:800}.sub{font-size:12px;color:var(--muted)}.pill.work{background:#17382d;color:#7ce9bf}.pill.lunch{background:#3a3220;color:#ffda7a}.pill.done{background:#2a3038;color:#c3ccd6}.staffrow,.projectrow,.costrow,.expRow,.absenceRow,.auditrow,.logRow{display:grid;grid-template-columns:1.5fr .8fr .8fr .8fr .8fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.clickable{cursor:pointer}.clickable:hover{background:#1b2028}.tablewrap{overflow:auto}.timesheet{border-collapse:separate;border-spacing:0;min-width:1200px;width:100%}.timesheet th,.timesheet td{padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-size:12px}.timesheet th:first-child,.timesheet td:first-child{position:sticky;left:0;background:var(--panel);z-index:2;text-align:left;min-width:165px}.weekend{background:#242a33!important}.code{font-weight:900}.alerts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.alert{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#181d24}.alert.warn{border-color:#6d5928}.alert.danger{border-color:#713737}.alert .who{font-weight:800}.photoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photoCard{background:#10141a;border:1px solid var(--line);border-radius:14px;overflow:hidden}.photoCard img{display:block;width:100%;height:210px;object-fit:cover}.photoMeta{padding:10px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:230px;overflow:auto;border:1px solid var(--line);padding:10px;border-radius:12px}.check,.checks label{display:flex;align-items:center;gap:8px}.check input,.checks input{width:auto;margin:0}.modal{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:18px;z-index:100}.modalbox{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;max-width:680px;width:100%;max-height:92vh;overflow:auto}.modalhead,.modalActions{display:flex;justify-content:space-between;align-items:center;gap:10px}.modalActions button{flex:1}.kpiGood{color:var(--ok)}.kpiWarn{color:var(--warn)}
@media(max-width:1100px){.cards.six{grid-template-columns:repeat(3,1fr)}.formgrid{grid-template-columns:1fr 1fr}.alerts{grid-template-columns:1fr 1fr}}

.kpiBad{color:#ff7979}.financeHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.financeTools{margin:0;align-items:end}.financeTools label{min-width:180px}.financeTools input{margin-bottom:0}.financeProject{background:#10141a;border:1px solid var(--line);border-radius:16px;padding:15px;margin-top:12px}.financeProjectTop{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.financeBadges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.financeBadge{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.financeGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}.financeGrid>div{background:#171c23;border-radius:10px;padding:10px}.financeGrid span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.financeGrid b{font-size:14px}.budgetbar{height:7px;background:#242b34;border-radius:99px;overflow:hidden;margin:13px 0 8px}.budgetbar i{display:block;height:100%;background:var(--accent);border-radius:99px}.financeBreakdown{line-height:1.7}.expenseActions{display:flex;gap:6px;justify-content:flex-end}.expenseActions button{padding:8px 10px}.financeBox{background:#10141a;border:1px solid var(--line);padding:14px;border-radius:14px;margin:12px 0}.financeBox h3{margin-top:0}.financePreview{padding:11px 12px;background:#171c23;border-radius:10px;margin-top:8px}.expRow{grid-template-columns:1.25fr .7fr .8fr 1.2fr .55fr auto}.financeKpis{margin-top:16px}.financeKpis .card strong{font-size:19px}
@media(max-width:760px){main{padding:12px}.cards,.cards.six{grid-template-columns:1fr 1fr}.twocol,.formgrid{grid-template-columns:1fr}.actiongrid{grid-template-columns:1fr}.toolbar{flex-direction:column}.row,.staffrow,.projectrow,.costrow,.expRow,.absenceRow,.auditrow,.logRow{grid-template-columns:1fr}.row>*:first-child{grid-column:auto}.alerts,.photoGrid,.checks,.financeGrid{grid-template-columns:1fr}.financeHead,.financeProjectTop{flex-direction:column}.financeBadges{justify-content:flex-start}.expenseActions{justify-content:flex-start}.financeTools{width:100%}}
.invoiceImport{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:center;background:#10141a;border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0 16px}.invoiceImport h3{margin:0 0 5px}.invoiceDrop{margin:0;border:2px dashed #44505d;border-radius:14px;min-height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;cursor:pointer;padding:14px;background:#151a21;transition:.15s}.invoiceDrop:hover,.invoiceDrop.drag{border-color:var(--accent);background:#1d231d}.invoiceDrop input{display:none}.invoiceDrop b{font-size:17px}.invoiceDrop span{font-size:12px;color:var(--muted);margin-top:5px}.invoiceScanStatus{border:1px solid var(--line);border-radius:12px;padding:12px;grid-column:1/-1;line-height:1.55}.invoiceScanStatus.loading{color:#ffd978;border-color:#6d5928}.invoiceScanStatus.ok{border-color:#28664f;background:#12261f}.invoiceScanStatus.error{border-color:#713737;background:#2b1719;color:#ffb0b0}.scanFacts{margin-top:4px}.expenseActions a.btn{padding:8px 10px}
@media(max-width:760px){.invoiceImport{grid-template-columns:1fr}}

.scanAction{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.scanAction button{font-size:14px}
.invoiceArchiveToolbar{display:grid;grid-template-columns:1.6fr 1fr .8fr auto;gap:10px;align-items:end;margin:14px 0}.invoiceArchiveToolbar .toolbar{margin:0}.invoiceArchiveKpis{margin-top:10px}.invoiceArchiveRow{display:grid;grid-template-columns:1.05fr 1.35fr .7fr 1fr .65fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.archiveStatus{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;border:1px solid var(--line)}.archiveStatus.ok{color:#7ce9bf;border-color:#28664f;background:#12261f}.archiveStatus.warn{color:#ffd978;border-color:#6d5928;background:#3a2e18}
@media(max-width:950px){.invoiceArchiveToolbar{grid-template-columns:1fr 1fr}.invoiceArchiveRow{grid-template-columns:1fr 1fr}.invoiceArchiveRow .expenseActions{grid-column:1/-1}}
@media(max-width:600px){.invoiceArchiveToolbar,.invoiceArchiveRow{grid-template-columns:1fr}.invoiceArchiveRow .expenseActions{grid-column:auto}.cards.four{grid-template-columns:1fr 1fr}}
