:root{--ink:#172522;--muted:#6e7e7a;--forest:#0d3934;--forest2:#15554c;--mint:#cfe9df;--lime:#d6f05a;--cream:#f4f5f0;--white:#fff;--line:#dfe5e0;--orange:#ff9b52;--shadow:0 18px 50px rgba(21,45,39,.12)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}.hidden{display:none!important}button,input,textarea,select{font:inherit}.login-screen{min-height:100vh;background:radial-gradient(circle at 8% 20%,#1d5b52 0,transparent 30%),radial-gradient(circle at 90% 80%,#173f3b 0,transparent 30%),#092d29;color:#fff;display:grid;place-items:center;padding:80px 20px;position:relative}.login-brand{position:absolute;top:34px;left:48px;display:flex;align-items:center;gap:12px;font:800 18px Manrope}.login-brand>span>span,.brand>span>span{color:var(--lime)}.brand-mark{width:40px;height:40px;border:1px solid #8daf91;border-radius:12px;display:grid;place-items:center;color:var(--lime);font:800 13px Manrope}.login-card{width:min(100%,480px);background:#fff;color:var(--ink);border-radius:24px;padding:44px;box-shadow:0 30px 80px #001c174d}.eyebrow{color:#3d6b63;font-size:11px;font-weight:800;letter-spacing:1.8px}.login-card h1{font:800 35px/1.15 Manrope;margin:15px 0 12px;letter-spacing:-1.2px}.login-card>p{color:var(--muted);line-height:1.6;margin:0 0 30px}.login-card label{font-size:13px;font-weight:700}.code-field{height:58px;border:1px solid var(--line);border-radius:12px;display:flex;margin:9px 0 5px;overflow:hidden}.code-field:focus-within{border-color:var(--forest2);box-shadow:0 0 0 3px #15554c15}.code-field input{border:0;outline:0;flex:1;padding:0 18px;font-size:22px;letter-spacing:8px}.code-field button{border:0;background:#fff;padding:0 17px;color:var(--muted)}.error{color:#bd3d38;font-size:12px;min-height:20px}.primary{border:0;background:var(--forest);color:#fff;border-radius:10px;padding:14px 18px;font-weight:700;cursor:pointer}.primary:hover{background:var(--forest2)}.wide{width:100%;display:flex;justify-content:space-between}.demo-codes{border-top:1px solid var(--line);margin-top:27px;padding-top:20px;display:flex;gap:8px;flex-wrap:wrap}.demo-codes span{width:100%;font-size:10px;color:#94a09d;text-transform:uppercase;letter-spacing:1px}.demo-codes button{font-size:11px;padding:7px 10px;border:0;border-radius:20px;background:#edf3ef;color:#46625b;cursor:pointer}.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:var(--forest);color:#fff;padding:30px 18px 22px;position:fixed;inset:0 auto 0 0;width:245px;display:flex;flex-direction:column}.brand{padding:0 12px 28px;display:flex;align-items:center;gap:10px;font:800 16px Manrope}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{border:0;background:transparent;color:#9fbbb5;text-align:left;border-radius:9px;padding:12px 13px;display:flex;gap:12px;align-items:center;cursor:pointer;font-size:13px}.sidebar nav button:hover,.sidebar nav button.active{background:#fff;color:var(--forest);font-weight:700}.sidebar nav button span{font-size:18px;width:20px;text-align:center}.sidebar nav button b{margin-left:auto;background:var(--lime);color:var(--forest);border-radius:10px;padding:2px 7px;font-size:10px}.sidebar-bottom{margin-top:auto}.sync{display:flex;gap:10px;padding:15px 12px;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a;align-items:center}.sync i{height:8px;width:8px;border-radius:50%;background:#8be27a;box-shadow:0 0 8px #8be27a}.sync strong,.sync small{display:block}.sync strong{font-size:11px}.sync small{color:#88a9a2;font-size:10px}.sidebar-bottom>button{color:#8dacaa;background:none;border:0;padding:18px 12px 0;cursor:pointer;font-size:12px}main{grid-column:2;min-width:0}header{height:94px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.crumb{color:#a1aaa7;font-size:10px}.crumb span{margin:0 6px}.crumb b{color:#4c625d}header h2{font:800 20px Manrope;margin:7px 0 0}.header-actions{display:flex;align-items:center;gap:11px}.icon-btn{border:1px solid var(--line);background:#fff;height:38px;width:38px;border-radius:10px;position:relative}.icon-btn i{position:absolute;width:6px;height:6px;background:#ff695f;border-radius:50%;right:8px;top:8px}.avatar{height:38px;width:38px;background:var(--mint);border-radius:10px;display:grid;place-items:center;color:var(--forest);font-weight:800;font-size:12px}.profile strong,.profile span{display:block}.profile strong{font-size:12px}.profile span{font-size:10px;color:var(--muted)}#mobile-nav{display:none}.page{padding:28px 34px 50px;max-width:1500px;margin:auto}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.toolbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.toolbar h1{font:800 24px Manrope;margin:0}.btn-row{display:flex;gap:9px}.secondary{background:#fff;border:1px solid var(--line);padding:11px 14px;border-radius:9px;color:#455954;font-weight:600;font-size:12px;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:#fff;border:1px solid #e4e8e4;border-radius:14px;padding:17px 18px}.stat-top{display:flex;justify-content:space-between;color:#687b76;font-size:11px;font-weight:600}.stat-icon{height:31px;width:31px;border-radius:9px;display:grid;place-items:center;background:#e1eee9;color:var(--forest)}.stat strong{font:800 28px Manrope;display:inline-block;margin-top:14px}.stat small{color:#8a9894;font-size:10px;margin-left:4px}.trend{font-size:10px;color:#398263;margin-top:6px}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.card{background:#fff;border:1px solid #e1e6e2;border-radius:14px;overflow:hidden}.card-head{padding:18px 20px 13px;display:flex;justify-content:space-between}.card-head h3{font:800 15px Manrope;margin:0}.card-head p{font-size:10px;color:var(--muted);margin:5px 0 0}.link-btn{background:none;border:0;color:#2d6b61;font-weight:700;font-size:11px;cursor:pointer}.schedule{padding:0 20px 13px}.job{display:grid;grid-template-columns:52px 5px 1fr auto;gap:12px;padding:13px 0;border-top:1px solid #edf0ed;align-items:center}.job:first-child{border-top:0}.job time{font-weight:800;font-size:12px}.job time small{display:block;color:#9aa6a3;font-weight:500}.job .bar{height:46px;border-radius:5px;background:var(--orange)}.job:nth-child(2) .bar{background:#69afa2}.job:nth-child(3) .bar{background:#7e9cef}.job h4{margin:0;font-size:12px}.job p{margin:4px 0 0;font-size:10px;color:var(--muted)}.tag{font-size:9px;border-radius:20px;padding:5px 8px;background:#edf3f0;color:#47665f;white-space:nowrap}.tag.urgent{background:#ffede0;color:#c66b32}.activity{padding:0 20px 8px}.activity-item{display:grid;grid-template-columns:29px 1fr auto;gap:10px;border-top:1px solid #edf0ed;padding:14px 0}.activity-icon{height:29px;border-radius:8px;background:#e9f1ee;display:grid;place-items:center;font-size:11px}.activity-item p{margin:0;font-size:11px;line-height:1.4}.activity-item time{font-size:9px;color:#9ba6a3}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.quick{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px;text-align:left;cursor:pointer;display:flex;gap:12px;align-items:center}.quick:hover{box-shadow:var(--shadow)}.quick i{font-style:normal;width:35px;height:35px;border-radius:9px;background:#e5f0ec;display:grid;place-items:center}.quick strong{display:block;font-size:12px}.quick span{color:var(--muted);font-size:10px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th{text-align:left;padding:12px 18px;background:#f7f8f5;color:#84908c;font-size:9px;text-transform:uppercase}.data-table td{padding:15px 18px;border-top:1px solid #edf0ed;font-size:11px}.client-cell strong,.client-cell span{display:block}.client-cell span{color:var(--muted);margin-top:3px}.status{display:inline-block;padding:5px 9px;border-radius:15px;background:#e7f3ed;color:#39755f;font-size:9px}.status.pending{background:#fff1dc;color:#9a6c27}.role-chip{padding:4px 8px;background:#e4f0ec;border-radius:14px;font-size:9px}.calendar-row{display:flex;gap:7px;margin-bottom:18px}.day{flex:1;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;text-align:center;color:var(--muted)}.day b,.day span{display:block}.day b{font:700 17px Manrope;color:var(--ink);margin-top:6px}.day.active{background:var(--forest);color:#aac3bd}.day.active b{color:#fff}
