:root{--ink:#242322;--muted:#777674;--subtle:#96938f;--orange:#f36c22;--orange-2:#ff9448;--orange-light:#fff4ec;--canvas:#f7f7f5;--line:#eae8e4;--white:#fff;--green:#27835a;--radius:16px;--shadow:0 8px 32px rgba(18,20,18,.035)}
*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px}body{margin:0;background:var(--canvas);color:var(--ink);line-height:1.55}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}a:hover{color:var(--orange)}input,textarea,select{background:#fff}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(29px,3vw,39px);line-height:1.18;letter-spacing:-1.4px;font-weight:750;margin-bottom:8px}h2{font-size:19px;line-height:1.3;letter-spacing:-.45px;margin-bottom:6px}h3{font-size:17px;line-height:1.3}.muted,.section-sub{color:var(--muted)}.eyebrow{letter-spacing:2px;color:var(--orange);font-size:10px;font-weight:800;margin:0 0 11px}.tag{background:var(--orange-light);color:#b34e1b;font-size:10px;letter-spacing:1px;font-weight:800;padding:8px 10px;border-radius:8px;display:inline-flex}.small-note{font-size:12px;color:var(--muted);margin:12px 0 0}.text-link{color:var(--orange);font-size:13px;font-weight:700;white-space:nowrap}.red{color:#b03833!important}
.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand:hover{color:#fff}.brand-icon{width:42px;height:42px;background:var(--orange);color:#fff;font-size:38px;font-weight:900;line-height:32px;letter-spacing:-4px;display:grid;place-items:center;border-radius:12px;padding-right:6px;flex:none}.brand-icon span{color:#272321}.brand strong,.auth-logo strong{display:block;font-size:16px;line-height:1.3;letter-spacing:1px}.brand small,.auth-logo small{display:block;color:#b8b9b9;font-size:10px;letter-spacing:3px;font-weight:700}
.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:248px;background:#212222;color:#e7e6e4;display:flex;flex-direction:column;padding:28px 16px 18px}.sidebar .brand{padding:0 11px;margin-bottom:48px}.nav-label{font-size:10px;letter-spacing:2px;color:#777a7a;padding:0 17px 13px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.navlink{display:flex;align-items:center;gap:14px;color:#b7b8b9;font-size:13px;padding:12px 15px;border-radius:11px;transition:.18s background}.navlink:hover{background:#333536;color:#fff}.navlink.selected{background:#34302c;color:#ffaf71;font-weight:700}.navlink.selected .navicon{color:var(--orange)}.navicon{font-size:20px;width:20px;text-align:center}.sidebar-foot{display:flex;gap:10px;align-items:center;border-top:1px solid #383a39;margin-top:auto;padding:20px 8px 5px}.sidebar-foot strong{display:block;font-size:12px}.sidebar-foot small{display:block;color:#909291;font-size:11px;text-transform:capitalize}.avatar{width:34px;height:34px;border-radius:50%;background:#d9ddd8;color:#33413a;display:inline-grid;place-items:center;font-weight:800;font-size:13px;flex:none}.avatar.small{width:33px;height:33px}.sidebar-foot .avatar{background:#eb743a;color:#fff}
.appframe{margin-left:248px;min-height:calc(100vh - 40px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:79px;background:#fff;border-bottom:1px solid var(--line);padding:0 clamp(20px,4vw,55px)}.crumb{font-size:13px;color:#8e8d89}.crumb b{color:#343434}.top-actions{display:flex;align-items:center;gap:21px;font-size:12px;color:#535451}.top-actions form{display:inline}.link-button{background:none;border:0;padding:0;color:var(--muted);font-size:12px}.link-button:hover{color:var(--orange)}.menubtn{display:none;border:0;background:transparent;font-size:24px;color:var(--ink)}.main{padding:39px clamp(20px,4vw,55px) 80px;max-width:1660px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px}.page-head>div>p:last-child{color:var(--muted);font-size:14px;margin-bottom:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:11px 19px;font-size:13px;font-weight:700;border-radius:9px;border:1px solid transparent;min-height:43px;transition:all .18s;white-space:nowrap}.btn.primary{background:var(--orange);color:#fff;box-shadow:0 6px 12px rgba(243,108,34,.1)}.btn.primary:hover{background:#e15c1c;color:#fff}.btn.outline{background:#fff;color:#373638;border-color:#ddd8d2}.btn.outline:hover{border-color:var(--orange);color:var(--orange)}.btn.subtle{background:transparent;color:#787874}.btn.danger{color:#b13d37}.btn.wide{width:100%}.mini-btn{border:1px solid #e5e1db;border-radius:7px;background:#fff;color:#555;padding:6px 10px;font-size:11px;font-weight:700}.mini-btn:hover{border-color:var(--orange);color:var(--orange)}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat-card{min-height:163px;padding:24px;background:white;border:1px solid var(--line);border-radius:var(--radius);position:relative;box-shadow:var(--shadow)}.stat-card>span{font-size:12px;color:var(--muted);display:block;margin-bottom:17px}.stat-card strong{font-size:31px;line-height:1.2;letter-spacing:-1px;display:block}.stat-card small{color:#8f908d;font-size:11px;margin-top:10px;display:block}.stat-card i{position:absolute;top:17px;right:20px;font-size:18px;font-style:normal;color:#b5b3af}.stat-card.highlight{background:linear-gradient(140deg,#ff822e,#f26924);color:#fff;border-color:transparent}.stat-card.highlight>span,.stat-card.highlight small,.stat-card.highlight i{color:#ffebe0}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid-two.uneven{grid-template-columns:minmax(310px,.75fr) minmax(0,1.25fr)}.panel{background:#fff;border-radius:var(--radius);border:1px solid var(--line);padding:27px;box-shadow:var(--shadow);margin-bottom:19px;min-width:0}.section-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.section-row h2{margin-bottom:2px}.section-row p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}.activity-list{display:flex;flex-direction:column}.activity-row{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid #f0efed}.activity-row:first-child{padding-top:0}.activity-row:last-child{border-bottom:0;padding-bottom:0}.activity-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--orange-light);color:var(--orange);border-radius:10px;font-size:19px;flex:none}.activity-row>div:nth-child(2){min-width:0;flex:1}.activity-row strong{display:block;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.activity-row small{display:block;color:#939393;font-size:11px;overflow:hidden;text-overflow:ellipsis;max-width:300px}.status{font-size:10px;font-weight:800;padding:5px 9px;border-radius:100px;display:inline-flex;white-space:nowrap}.status.submitted,.status.pending{color:#b37614;background:#fff4dd}.status.approved,.status.sent{color:#237d56;background:#e8f8ef}.status.draft{color:#6d7480;background:#eef0f3}.status.rejected,.status.failed{color:#ad3e3b;background:#ffeeed}.week-bars{height:190px;display:flex;gap:16px;align-items:flex-end;justify-content:space-between;padding:10px 6px}.barcol{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;color:#9a9996;font-size:11px}.barcol b{font-size:10px;color:#777}.bartrack{flex:1;width:100%;max-width:36px;background:#f7eee8;border-radius:7px;overflow:hidden;display:flex;align-items:flex-end}.barfill{width:100%;background:linear-gradient(0deg,var(--orange),#ffa665);border-radius:7px;min-height:0}.empty{text-align:center;padding:38px;color:var(--muted);font-size:14px}.empty p{color:#a1a09d;font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:630px}th{text-align:left;font-size:10px;letter-spacing:1px;color:#999793;font-weight:800;text-transform:uppercase;padding:13px 10px;border-bottom:1px solid #e9e6e1}td{padding:17px 10px;border-bottom:1px solid #f1efec;font-size:12px;vertical-align:top;color:#62615d}td b{color:#333532}td small{display:block;font-size:11px;color:#969490;max-width:300px;overflow:hidden;text-overflow:ellipsis}tr:last-child td{border-bottom:0}
.form-shell{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:20px;align-items:start}.form-shell .panel{padding:29px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;color:#555652;font-size:12px;font-weight:650;min-width:0}.field span{display:block}.field input,.field select,.field textarea,.approval-form input{display:block;width:100%;border:1px solid #deddd9;border-radius:9px;padding:11px 13px;font-size:13px;color:#303333;outline:0;transition:border .2s;min-height:43px}.field textarea{resize:vertical;min-height:104px}.field input:focus,.field textarea:focus,.field select:focus,.approval-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(243,108,34,.1)}.field small{font-size:10px;font-weight:400;color:#888;margin-top:-2px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:19px}.form-grid .full{grid-column:1/-1}.calc-box{border:1px solid #ffe1ce;background:#fff9f4;border-radius:10px;padding:10px 15px;display:flex;flex-direction:column;justify-content:center;min-height:69px;margin-bottom:20px}.calc-box span{font-size:9px;color:#c7652c;font-weight:750;letter-spacing:1.3px}.calc-box strong{font-size:23px;color:#f0762e}.form-actions{border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;padding-top:22px}.hint-card{padding:30px;border-radius:var(--radius);color:#d5d4ce;background:radial-gradient(circle at 100% 0%,#48443e,transparent 50%),#222322}.hint-card .hint-icon{font-size:36px;color:var(--orange)}.hint-card h3{color:#fff;margin-top:14px}.hint-card p{font-size:12px;line-height:1.8}.hint-card hr{border:0;border-top:1px solid #494949;margin:21px 0}.hint-card b{color:#fff}.approvals-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.approval-card{margin:0}.approval-head{display:flex;justify-content:space-between;gap:14px}.approval-head small{font-size:10px;letter-spacing:.5px;color:#a6a29e}.approval-head h2{margin-top:9px}.approval-head p{font-size:12px;color:#81817f}.hours-large{font-size:20px;color:var(--orange);font-weight:800;white-space:nowrap}.entry-desc{background:#faf9f7;border-radius:10px;padding:13px;font-size:12px;color:#656565;min-height:68px}.approval-meta{font-size:11px;color:#8a8683;margin:13px 0}.approval-form{display:flex;gap:7px;flex-wrap:wrap}.approval-form input{flex:1;min-width:120px;font-size:11px}.approval-form .btn{min-height:41px;padding:9px 13px}.team-actions{display:flex;gap:4px}.filter-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.filter-form .field{margin:0;flex:1;min-width:130px}.filter-form .btn{margin-bottom:0}.info-line{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px}.info-line span{color:var(--muted)}.info-line b{text-align:right}.info-line:last-child{border:0}
.notice{border:1px solid #d4e8d9;background:#f0faf1;color:#246644;border-radius:10px;padding:13px 17px;margin-bottom:19px;font-size:13px}.notice.error{color:#9c352c;background:#fff3f0;border-color:#f5d2c6}.notice.credentials{border-style:dashed}.notice code{font-size:15px;padding:6px 9px;background:white;display:inline-block;border-radius:6px;color:#292929}.notice.outside{margin:15px auto;max-width:455px}.footer{font-size:10px;color:#a3a09d;padding:0 0 13px;text-align:center;margin-left:248px}.guest .footer{margin:0}.guest{background:radial-gradient(ellipse at 86% 16%,rgba(245,121,43,.08),transparent 38%),#f7f7f5}.auth-main{min-height:calc(100vh - 35px);display:flex;justify-content:center;align-items:center;flex-direction:column;padding:35px 16px}.auth-card{width:100%;max-width:455px;background:#fff;border:1px solid #e8e7e5;border-radius:18px;padding:38px;box-shadow:0 20px 80px rgba(23,23,23,.045)}.auth-logo{display:flex;align-items:center;gap:13px;margin-bottom:48px}.auth-logo small{color:#858581}.auth-card .tag{margin-bottom:17px}.auth-card h1{font-size:32px}.auth-card>p{font-size:13px;color:var(--muted);margin-bottom:30px}.auth-card .field{margin-bottom:19px}.auth-card .small-note{text-align:center;margin-top:25px}.install{background:#f6f6f4}.install-wrap{max-width:770px;margin:0 auto;padding:33px 20px 80px}.install-top{display:flex;gap:12px;align-items:center;margin-bottom:43px}.install-top strong{display:block;letter-spacing:1px}.install-top p{font-size:12px;color:var(--muted);margin:0}.install-head{text-align:left;margin-bottom:29px}.install-head .tag{margin-bottom:14px}.install-head p{max-width:590px;color:var(--muted);font-size:14px}.install-section{display:flex;gap:15px;margin-bottom:24px;align-items:flex-start}.step{background:var(--orange-light);color:var(--orange);border-radius:10px;padding:9px;font-size:12px}.install-section h2{margin:0 0 5px}.install-section p{color:var(--muted);font-size:12px;margin:0}.install .panel{padding:30px}.install .field{margin:0 0 20px}.install .install-submit{width:100%;height:53px}.install .small-note{text-align:center}.smtp-fields{display:none}.smtp-fields.visible{display:block}.install .form-grid .form-grid{border-top:1px solid var(--line);padding-top:22px}.install-wrap>.install-head+.notice{margin-bottom:18px}
@media(max-width:1190px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}.approvals-list{grid-template-columns:1fr}.form-shell{grid-template-columns:minmax(0,1fr)}.hint-card{display:none}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:transform .22s}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax rgba(0,0,0,.26)}.appframe{margin:0}.footer{margin:0}.menubtn{display:inline}.topbar{height:65px;padding:0 18px}.top-actions{gap:12px}.main{padding:23px 16px 55px}.grid-two.uneven{grid-template-columns:1fr}}
@media(max-width:535px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:16px;min-height:143px}.stat-card strong{font-size:23px}.stat-card small{font-size:10px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:29px}.panel{padding:19px}.form-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}.crumb{display:none}.top-actions{margin-left:auto}.auth-card{padding:28px 22px}.install .panel{padding:19px}.install-section h2{font-size:17px}.week-bars{gap:6px}.approval-form .btn{flex:1}.approval-form input{flex-basis:100%}}
