*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f3f6fb;color:#152033}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:#0c2243;color:#fff;padding:26px 18px;display:flex;flex-direction:column;gap:22px}.brand{font-size:24px;font-weight:900}.brand span{color:#58a6ff}.ver{font-size:12px;opacity:.65}nav{display:grid;gap:7px}nav a{color:#cfe0f8;text-decoration:none;padding:12px;border-radius:10px}nav a:hover{background:#17365f}.user{margin-top:auto;display:grid;gap:6px}.user small{opacity:.7}.user button{background:none;border:0;color:#fff;padding:0;text-align:left}main{padding:28px;max-width:1450px;width:100%;margin:auto}.head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}h1,h2{margin:0 0 6px}.head p{margin:0;color:#6c788d}.btn,.primary,.action{display:inline-block;border:0;border-radius:10px;padding:11px 15px;text-decoration:none;cursor:pointer;font-weight:700}.primary{background:#1768e5;color:#fff}.warning{background:#f3b927!important}.danger{background:#d64242!important;color:#fff!important}.panel,.card,.jobcard,.mobile-summary{background:#fff;border:1px solid #e4eaf2;border-radius:16px;box-shadow:0 5px 18px #10244b0a}.panel{padding:20px;margin-bottom:18px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.card{padding:20px}.card b{display:block;font-size:28px}.card span,.resource small,td small,.live small{display:block;color:#758198;margin-top:5px}.grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.calendar{display:grid;gap:9px}.cal-row,.resource,.live{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #e9edf3;border-radius:12px;text-decoration:none;color:inherit}.cal-row>div,.resource>div,.live>div{flex:1}.pill{background:#edf2f8;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.available{background:#e1f7e8;color:#18793a}.rental,.working{background:#e5efff;color:#1b5fc5}.service,.paused{background:#ffebe8;color:#b63e32}.internal_project{background:#fff3d5;color:#9b6a00}.dot{width:9px;height:9px;border-radius:50%;background:#26a65b}.form label,.capture{display:grid;gap:6px;font-weight:700}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form input,.form select,.form textarea,.capture input,.capture select{width:100%;border:1px solid #cfd8e6;border-radius:10px;padding:11px;background:#fff}.form textarea{min-height:90px}.form>label{margin:14px 0}.form button{margin-top:14px}.flash,.errors{padding:12px 15px;border-radius:10px;margin-bottom:15px}.flash{background:#e2f6e8;color:#176a34}.errors{background:#ffe9e6;color:#9a2f25}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf0f5}tbody tr{cursor:pointer}.jobcard{padding:20px;display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit;margin-bottom:12px}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.action{background:#eaf1fb;color:#173b68}.mobile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin-bottom:18px}.mobile-summary>div{padding:16px;background:#fff}.mobile-summary small{display:block;color:#738096}.mobile-summary b{display:block;margin-top:5px}.capture{grid-template-columns:repeat(2,1fr);gap:10px}.capture button{grid-column:1/-1}.timeline{display:grid;grid-template-columns:90px 140px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f5}.timeline small{color:#738096}.login{display:grid;place-items:center;min-height:100vh;background:#0c2243}.login-card{width:min(420px,92vw);background:#fff;border-radius:18px;padding:28px;display:grid;gap:14px}.login-card label{display:grid;gap:5px}.login-card input{padding:12px;border:1px solid #ccd6e4;border-radius:10px}.login-card p,.login-card small{color:#738096}
@media(max-width:850px){.shell{grid-template-columns:1fr}aside{display:none}main{padding:14px}.kpis{grid-template-columns:repeat(2,1fr)}.grid2,.formgrid{grid-template-columns:1fr}.actions,.capture{grid-template-columns:1fr}.mobile-summary{grid-template-columns:1fr 1fr 1fr}.timeline{grid-template-columns:60px 100px 1fr}.head{align-items:flex-start}.head h1{font-size:24px}}
