:root{color:#172033;letter-spacing:0;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}.shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #dce2ea;flex-direction:column;gap:18px;height:100vh;padding:18px;display:flex;position:sticky;top:0}.brand{color:#0e4f6f;align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}nav{gap:4px;display:grid}nav button,.logout{color:#46566b;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:11px 12px;display:flex}nav button.active,nav button:hover,.logout:hover{color:#0e4f6f;background:#e8f3f7}.logout{margin-top:auto}main{min-width:0;padding:26px}.page{max-width:1360px;margin:0 auto}.page.narrow{max-width:720px}.page>header{justify-content:space-between;align-items:center;gap:14px;min-height:48px;margin-bottom:20px;display:flex}h1{margin:0;font-size:26px;font-weight:760}h2{margin:0 0 14px;font-size:17px}h3{margin:0 0 12px}.metrics{grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:18px;display:grid}.metric,.panel{background:#fff;border:1px solid #dce2ea;border-radius:8px}.metric{gap:10px;padding:18px;display:grid}.metric span{color:#657388;font-size:14px}.metric b{font-size:30px}.metric.warn b{color:#a46a00}.metric.danger b{color:#b42318}.grid2{grid-template-columns:1.2fr 1fr;gap:18px;display:grid}.panel{padding:18px}.search{background:#fff;border:1px solid #cfd7e2;border-radius:6px;align-items:center;gap:8px;width:min(380px,100%);height:40px;padding:0 12px;display:flex}.search input{border:0;outline:0;width:100%}.table{background:#fff;border:1px solid #dce2ea;border-radius:8px;overflow:hidden}.tr{cursor:pointer;border-top:1px solid #edf1f5;grid-template-columns:1.5fr 1fr 1.4fr .9fr .8fr;align-items:center;gap:14px;min-height:64px;padding:12px 16px;display:grid}.tr.head{color:#526176;cursor:default;background:#f0f4f8;min-height:44px;font-size:13px;font-weight:700}.tr:first-child{border-top:0}.tr small{color:#728197;margin-top:4px;display:block}.badge{color:#46566b;background:#e7edf3;border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.badge.planned,.badge.in_service{color:#17663a;background:#e8f6ee}.badge.due_soon,.badge.needs_service{color:#8a5a00;background:#fff3d6}.badge.overdue{color:#b42318;background:#fde8e5}.badge.no_plan{color:#596779;background:#edf0f3}.badge.done{color:#0f766e;background:#e3f5f3}.task,.row{border-top:1px solid #edf1f5;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.task:first-child,.row:first-child{border-top:0}.task span{color:#728197;margin-top:4px;font-size:13px;display:block}.cardDetails{background:#fff;border:1px solid #dce2ea;border-radius:8px;grid-template-columns:repeat(2,minmax(180px,1fr));gap:16px;padding:18px;display:grid}.cardDetails label{color:#66758a;margin-bottom:6px;font-size:13px;display:block}.qr{background:#fff;border:1px solid #dce2ea;border-radius:8px;width:170px;margin:18px 0;padding:10px}.maintenanceForm{background:#fff;border:1px solid #dce2ea;border-radius:8px;gap:12px;padding:18px;display:grid}textarea,input{border:1px solid #cfd7e2;border-radius:6px;min-width:0;padding:10px 12px}select{background:#fff;border:1px solid #cfd7e2;border-radius:6px;min-width:0;padding:10px 12px}textarea{resize:vertical;min-height:110px}button{color:#fff;cursor:pointer;background:#0e7490;border:0;border-radius:6px;padding:10px 14px;font-weight:700}button:disabled{opacity:.7;cursor:default}.reportLinks{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.reportLinks a{color:#0e4f6f;background:#fff;border:1px solid #dce2ea;border-radius:8px;align-items:center;gap:10px;padding:16px;text-decoration:none;display:flex}.inlineForm{background:#fff;border:1px solid #dce2ea;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:16px;padding:14px;display:grid}.inlineForm button{min-height:42px}.dataTable{background:#fff;border:1px solid #dce2ea;border-radius:8px;overflow-x:auto}.dataRow{border-top:1px solid #edf1f5;align-items:center;gap:12px;min-width:760px;min-height:54px;padding:11px 14px;display:grid}.dataHead{color:#526176;background:#f0f4f8;border-top:0;min-height:42px;font-size:13px;font-weight:700}.dataRow span{overflow-wrap:anywhere;min-width:0}.empty{color:#66758a;padding:22px 14px}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login form{background:#fff;border:1px solid #dce2ea;border-radius:8px;gap:14px;width:min(380px,100%);padding:24px;display:grid}.error{color:#b42318;margin:0}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #dce2ea;border-right:0;height:auto;position:static}nav{grid-template-columns:repeat(2,1fr)}main{padding:16px}.metrics,.grid2,.cardDetails{grid-template-columns:1fr}.tr{grid-template-columns:1fr;gap:8px}.tr.head{display:none}.task,.row{grid-template-columns:1fr}.page>header{flex-direction:column;align-items:stretch}}
