*{box-sizing:border-box}body{margin:0;background:#f7f7f8;color:#202025;font:14px Arial,sans-serif}button,input{font:inherit}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-brand{background:linear-gradient(145deg,#720010,#b30b1e);color:#fff;padding:10vw 8vw;display:flex;flex-direction:column;justify-content:center}.brand-icon{background:#fff;color:#b30b1e;width:55px;height:55px;border-radius:14px;display:grid;place-items:center;font-size:30px;font-weight:bold}.login-brand h1{font-size:48px;line-height:1.05;max-width:650px}.login-brand p{color:#f5dce0;line-height:1.7}.login-form{display:grid;place-items:center;padding:30px}.login-form form{width:min(420px,100%)}small{font-size:10px;font-weight:bold;letter-spacing:.1em;color:#999}.login-form h2{font-size:36px;margin:8px 0}.login-form label{font-weight:bold;display:block;margin-top:22px}.login-form input{display:block;width:100%;height:50px;border:1px solid #ddd;border-radius:9px;padding:12px;margin-top:8px}.login-form button,.actions button{border:0;background:#b30b1e;color:#fff;padding:15px;border-radius:9px;font-weight:bold;width:100%;margin-top:22px}.alert,.message{background:#fff0f2;color:#b30b1e;padding:11px;border-radius:8px;margin-top:15px}.message.ok{background:#eaf8f0;color:#287a51}.app{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.app aside{background:#19191d;color:#fff;padding:28px 20px;position:fixed;width:240px;height:100vh;display:flex;flex-direction:column}.logo{font-size:25px;font-weight:bold;color:#fff}.logo>span{font-size:15px;margin-left:10px}.logo small{display:block;margin-left:35px;color:#888}.app nav{margin-top:50px;display:grid;gap:10px}.app nav a{padding:14px;border-radius:9px;color:#aaa}.app nav .active{background:#b30b1e;color:#fff}.logout{margin-top:auto;color:#bbb}.content{grid-column:2;padding:42px 5vw}.content h1{font-size:30px;margin:8px 0}.content header p{color:#777}.grid{display:grid;grid-template-columns:1fr .8fr;gap:20px}.clock-card,.record-card,.logs{background:#fff;border:1px solid #e6e6e8;border-radius:17px;padding:26px}.record-card{grid-column:2;grid-row:1/3}.clock-card em{font-size:10px;color:#258153;background:#ebf8f0;padding:7px;border-radius:15px}.clock-card #clock{font-size:64px;font-weight:bold;letter-spacing:-4px;margin-top:16px}.clock-card p{color:#777}.camera{height:280px;background:#f1f1f3;border-radius:13px;overflow:hidden;display:grid;place-items:center;text-align:center}.camera video,.camera img{width:100%;height:100%;object-fit:cover}.camera #placeholder{font-size:35px;color:#b30b1e}.camera #placeholder b,.camera #placeholder p{display:block;font-size:12px;color:#333}.outline{width:100%;padding:13px;margin-top:12px;background:#fff;border:1px solid #ddd;border-radius:9px;font-weight:bold}.gps{padding:12px;border:1px solid #e2e2e5;border-radius:10px;margin-top:12px;display:flex;gap:10px}.gps.ok{background:#edf9f2}.gps span,.gps small{display:block}.gps small{margin-top:4px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .black{background:#242429}.actions button:disabled{opacity:.6}.log{display:flex;align-items:center;gap:12px;border-top:1px solid #eee;padding:15px 0}.log i{width:38px;height:38px;display:grid;place-items:center;border-radius:9px}.log .in{background:#eaf8f0;color:#287a51}.log .out{background:#fff0f2;color:#b30b1e}.log span{flex:1}.log span b,.log span small{display:block}.log time{font-size:11px;font-weight:bold}@media(max-width:800px){.login-wrap{grid-template-columns:1fr}.login-brand{display:none}.app{display:block;padding-bottom:72px}.app aside{position:fixed;z-index:5;bottom:0;top:auto;height:68px;width:100%;padding:8px}.app .logo,.app .logout{display:none}.app nav{margin:0;display:flex;justify-content:space-around}.app nav a{padding:14px}.content{padding:25px 16px}.grid{grid-template-columns:1fr}.record-card,.clock-card,.logs{grid-column:1;grid-row:auto}.record-card{grid-row:2}.clock-card #clock{font-size:46px}.camera{height:310px}}
