:root{--bg:#07110d;--panel:#0c1913;--panel2:#102219;--line:#1c392b;--text:#f2f7f4;--muted:#91a99b;--accent:#67e89a;--accent2:#2dbd72;--danger:#ff8b8b;--warning:#ffd479}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at top right,#123122 0,#07110d 38%,#050a08 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.centered{min-height:100vh;display:grid;place-items:center;padding:24px}.authCard,.loaderCard,.panel,.reportCard{background:rgba(12,25,19,.94);border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.28)}.loaderCard{padding:42px;border-radius:24px;text-align:center}.brandMark{width:42px;height:42px;border-radius:12px;display:inline-grid;place-items:center;background:var(--accent);color:#052011;font-weight:900}.brandLine{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:800}.authShell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;max-width:1300px;margin:auto;padding:48px;grid-gap:64px;gap:64px;align-items:center}.authIntro h1{font-size:clamp(42px,6vw,82px);line-height:.98;letter-spacing:-.05em;max-width:800px;margin:52px 0 24px}.authIntro>p{font-size:20px;line-height:1.6;color:var(--muted);max-width:650px}.featureGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-top:48px}.featureGrid div{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(14,34,24,.6)}.featureGrid span,.featureGrid strong{display:block}.featureGrid span{color:var(--muted);font-size:13px;margin-top:6px}.authCard{padding:36px;border-radius:26px}.authCard h2{font-size:34px;margin:8px 0}.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--accent);font-weight:800}.muted{color:var(--muted)}.formStack{display:grid;grid-gap:16px;gap:16px;margin-top:24px}.formStack label{display:grid;grid-gap:8px;gap:8px;color:#cfe0d5;font-size:13px;font-weight:700}.formStack input,.formStack select,.formStack textarea,table select{width:100%;border:1px solid #274536;background:#09140f;color:var(--text);border-radius:12px;padding:13px 14px;outline:none}.formStack input:focus,.formStack select:focus,.formStack textarea:focus{border-color:var(--accent)}.primaryButton{border:0;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#062113;font-weight:900;padding:14px 18px}.primaryButton:disabled{opacity:.55}.primaryButton.compact{width:auto;padding:11px 15px}.textButton{border:0;background:transparent;color:var(--accent);padding:12px 0;font-weight:700}.textButton.left{text-align:left}.notice{border:1px solid #725a2b;background:#2a2412;color:#ffe7a9;padding:12px;border-radius:12px;font-size:13px}.notice.success{border-color:#2c6947;background:#0e2a1b;color:#b8f3ce}.appShell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{border-right:1px solid var(--line);padding:24px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;background:rgba(5,13,9,.7);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sidebar nav{display:grid;grid-gap:8px;gap:8px;margin-top:42px}.sidebar nav a{color:var(--muted);text-decoration:none;padding:12px;border-radius:10px}.sidebar nav a.active,.sidebar nav a:hover{background:#102219;color:var(--text)}.sidebarFooter{margin-top:auto;display:grid;grid-gap:8px;gap:8px}.rolePill{display:inline-block;width:max-content;background:#153d28;color:var(--accent);padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800}.content{padding:34px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:end;gap:20px}.topbar h1{margin:6px 0 0;font-size:36px}.kpiGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:28px 0}.kpiCard{background:linear-gradient(160deg,#102219,#0a1610);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;grid-gap:6px;gap:6px}.kpiCard small,.kpiCard span{color:var(--muted)}.kpiCard strong{font-size:30px}.dashboardGrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);grid-gap:16px;gap:16px}.panel{border-radius:20px;overflow:hidden}.panelHeader{padding:20px;border-bottom:1px solid var(--line)}.panelHeader h2{margin:0 0 4px}.panelHeader p{margin:0;color:var(--muted);font-size:13px}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}td,th{text-align:left;padding:14px 18px;border-bottom:1px solid #14291f;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em}td small,th{color:var(--muted)}td small{display:block;margin-top:4px}.status{padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800}.status.open{background:#3a2118;color:#ffb49f}.status.in_progress{background:#342d13;color:#ffe498}.status.closed{background:#123724;color:#a9efc3}.empty{text-align:center;color:var(--muted);padding:36px}.machineList{padding:8px}.machineRow{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:transparent;border:0;border-bottom:1px solid #14291f;color:var(--text);padding:16px 12px}.machineRow:hover{background:#102219}.machineRow div{display:grid;grid-gap:3px;gap:3px}.machineRow small,.machineRow span{color:var(--muted)}.machineRow .arrow{color:var(--accent);font-size:24px}.reportShell{min-height:100vh;max-width:680px;margin:auto;padding:24px}.mobileHeader{display:flex;align-items:center;gap:14px;margin:10px 0 18px}.backButton{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#0c1913;color:var(--text)}.reportCard{border-radius:22px;padding:22px}.machineHero{background:linear-gradient(135deg,#143d28,#0d2117);border:1px solid #285b3f;border-radius:18px;padding:18px;margin-bottom:20px;display:grid}.machineHero span{font-size:10px;letter-spacing:.12em;color:var(--accent)}.machineHero strong{font-size:36px;margin-top:4px}.machineHero small{color:var(--muted)}.twoCols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.costBox{border:1px dashed #35634a;background:#0c2016;border-radius:14px;padding:14px;display:grid;grid-gap:4px;gap:4px}.costBox small,.costBox span{color:var(--muted)}.costBox strong{font-size:22px;color:var(--accent)}@media(max-width:900px){.authShell{grid-template-columns:1fr;padding:24px;gap:24px}.authIntro h1{font-size:48px;margin:30px 0 16px}.featureGrid{grid-template-columns:1fr;margin-top:28px}.appShell{display:block}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line);padding:14px 18px}.sidebar nav{display:flex;margin-top:14px}.sidebarFooter{display:none}.content{padding:18px}.kpiGrid{grid-template-columns:1fr 1fr}.dashboardGrid{grid-template-columns:1fr}.topbar{align-items:center}.topbar h1{font-size:28px}}@media(max-width:520px){.kpiGrid,.twoCols{grid-template-columns:1fr}.reportShell{padding:12px}.reportCard{padding:16px}.authIntro{display:none}.authShell{display:block;padding:18px}.authCard{margin-top:10vh;padding:24px}.topbar{align-items:flex-start;flex-direction:column}.primaryButton.compact{width:100%}}.filterBar{display:flex;gap:12px;align-items:end;margin:24px 0 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(12,25,19,.75)}.filterBar label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.filterBar select,.modal textarea{border:1px solid #274536;background:#09140f;color:var(--text);border-radius:10px;padding:10px 12px;outline:none}.actionButton,.secondaryButton{border:1px solid #31513f;background:#102219;color:#dce9e1;border-radius:10px;padding:10px 13px;font-weight:800}.actionButton:hover,.secondaryButton:hover{border-color:var(--accent);color:var(--accent)}.secondaryButton.full{width:100%}.kpiGrid.five{grid-template-columns:repeat(5,1fr)}.actionButton{padding:7px 10px;font-size:12px}.actionPreview{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panelFooter{padding:14px}.modalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);display:grid;place-items:center;padding:20px;z-index:50}.modal{width:min(560px,100%);background:#0c1913;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.5)}.modal h2{margin:8px 0}.modal textarea{width:100%;resize:vertical;margin-top:12px}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.qrShell{min-height:100vh;max-width:1200px;margin:auto;padding:36px}.qrHeader{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:26px}.qrHeader h1{font-size:38px;margin:6px 0}.qrHeader p{color:var(--muted);margin:0}.qrActions{display:flex;gap:10px}.qrGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.qrCard{background:#fff;color:#07110d;border-radius:20px;padding:22px;display:grid;justify-items:center;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.2)}.qrCard .eyebrow{color:#147a43}.qrCard h2{font-size:42px;margin:4px 0}.qrCard p{margin:0;font-weight:700}.qrCard>div small{color:#5d6c63}.qrCard img{width:min(100%,280px);height:auto;margin:18px 0 10px}.qrCard>strong{font-size:18px}.qrUrl{font-size:9px;color:#6d766f;word-break:break-all;margin-top:8px}@media(max-width:1100px){.kpiGrid.five{grid-template-columns:repeat(3,1fr)}.qrGrid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.filterBar{display:grid;grid-template-columns:1fr 1fr}.filterBar .secondaryButton{grid-column:1/-1}.kpiGrid.five{grid-template-columns:1fr 1fr}.qrShell{padding:18px}.qrHeader{display:block}.qrActions{margin-top:18px}.qrGrid{grid-template-columns:1fr}}@media print{body{background:#fff}.qrHeader .qrActions{display:none}.qrShell{padding:0}.qrGrid{display:block}.qrCard{box-shadow:none;border:1px solid #bbb;page-break-after:always;break-after:page;border-radius:0;min-height:95vh;align-content:center}.qrCard:last-child{page-break-after:auto;break-after:auto}}.topActions{display:flex;gap:10px;align-items:center}.filterBar select{min-width:160px}.actionPreview{display:block;max-width:220px;margin-top:6px;white-space:normal;line-height:1.35}@media(max-width:700px){.topActions{width:100%;display:grid;grid-template-columns:1fr 1fr}.topActions .primaryButton.compact{width:100%}}