:root{--ink:#18362f;--muted:#6c7c77;--line:#dce7e2;--paper:#f6f8f5;--card:#fff;--mint:#c9f27b;--green:#1d6a55;--green-dark:#134b3c;--warn:#9a5f23}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit;color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;background:var(--green-dark);color:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 30px}.brand>span:last-child,.brand strong,.brand small{display:block}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid!important;place-items:center;background:var(--mint);color:var(--green-dark);font-weight:900;font-size:20px;transform:rotate(-4deg)}.brand strong{font-size:18px}.brand small{opacity:.58;margin-top:2px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.sidebar nav{display:grid;gap:7px}.sidebar nav button{border:0;background:transparent;color:#cfe0da;padding:12px 13px;border-radius:11px;text-align:left;cursor:pointer;font-weight:700}.sidebar nav button i{display:inline-block;width:25px;font-size:18px;font-style:normal}.sidebar nav button.active{color:#fff;background:#ffffff17;box-shadow:inset 3px 0 var(--mint)}.storage-note{margin-top:auto;padding:14px;border-radius:13px;background:#ffffff0d;color:#dbe8e3;font-size:12px}.storage-note>span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mint);margin-right:7px}.storage-note small{display:block;opacity:.62;margin:7px 0 0 15px;line-height:1.4}main{min-width:0}.topbar{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 34px;border-bottom:1px solid var(--line);background:#ffffffed;position:sticky;top:0;z-index:10}.eyebrow{margin:0 0 5px;color:#73847e;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.topbar h1{margin:0;font-size:24px;letter-spacing:-.03em}.header-actions{display:flex;gap:9px;align-items:center}.header-actions select,.button{height:41px;border-radius:10px;padding:0 14px;border:1px solid var(--line);background:#fff;font-weight:800;cursor:pointer}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.secondary{background:#fff}.button:disabled{opacity:.48;cursor:default}#notice{position:fixed;right:25px;top:108px;z-index:30;max-width:360px;padding:0;border-radius:11px;font-size:12px;font-weight:700;box-shadow:0 10px 30px #173b3020;overflow:hidden}#notice.show{padding:12px 15px;background:#e7f6e9;color:#286b3e}#notice.error{padding:12px 15px;background:#fff0e8;color:#983f2f}.page{max-width:1400px;margin:0 auto;padding:26px 30px 55px}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 22px #274b3f08}.empty-page{min-height:calc(100vh - 150px);display:grid;place-items:center}.empty-card{max-width:570px;padding:36px;text-align:center}.empty-icon{width:66px;height:66px;margin:0 auto 18px;border-radius:19px;display:grid;place-items:center;background:#eaf4ef;color:var(--green);font-size:27px}.empty-card h2{margin:0 0 9px}.empty-card p{color:var(--muted);font-size:13px;line-height:1.6}.entry-layout{display:grid;grid-template-columns:235px minmax(520px,1fr) 235px;gap:18px;align-items:start}.people-card,.summary-column{position:sticky;top:120px}.people-card{overflow:hidden}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:18px}.panel-title h2{margin:0;font-size:17px}.count{padding:5px 9px;border-radius:20px;background:#edf4f0;color:var(--green);font-size:10px;font-weight:900}.people-list{padding:0 7px 9px}.person{width:100%;display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center;border:0;background:transparent;padding:10px 9px;border-radius:11px;text-align:left;cursor:pointer}.person:hover{background:#f5f8f6}.person.active{background:#eaf4ef}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#dceae4;color:var(--green-dark);font-size:10px;font-weight:900}.person b,.person small{display:block}.person b{font-size:12px}.person small{font-size:9px;color:var(--muted);margin-top:3px}.employee-heading{display:flex;align-items:center;gap:11px;margin:1px 2px 15px}.employee-heading .avatar{width:43px;height:43px;background:var(--green);color:#fff}.employee-heading h2{margin:0;font-size:19px}.balance{margin-left:auto;padding:7px 10px;border-radius:20px;background:#fff2df;color:var(--warn);font-size:10px;font-weight:900}.balance.ok{background:#e4f5e8;color:#2e7143}.day-list{display:grid;gap:13px}.day-card{padding:18px}.day-head{display:flex;align-items:center;gap:11px}.date-box{width:45px;height:46px;border-radius:11px;background:#edf4f0;display:grid;place-content:center;text-align:center}.date-box strong{font-size:17px;line-height:1}.date-box span{font-size:9px;text-transform:uppercase;color:var(--muted);margin-top:3px}.day-head h3{margin:0;font-size:15px}.day-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.time-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr 1fr;gap:9px;align-items:end;margin-top:15px}.field span,.net span,.order-form label span{display:block;font-size:9px;color:var(--muted);font-weight:800;margin:0 0 5px 2px;text-transform:uppercase;letter-spacing:.05em}.field input,.field select,.allocation select,.allocation input,.order-form input{width:100%;height:39px;border-radius:9px;border:1px solid var(--line);background:#fbfcfb;padding:0 10px;outline:0}.field input:focus,.field select:focus,.allocation select:focus,.allocation input:focus,.order-form input:focus{border-color:#7da596;box-shadow:0 0 0 3px #7da59618}.net{padding:0 0 8px 10px;border-left:1px solid var(--line)}.net strong{font-size:15px}.allocation-box{margin-top:14px;padding-top:13px;border-top:1px dashed var(--line)}.allocation-title{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:900}.allocation{display:grid;grid-template-columns:78px minmax(0,1fr) 66px 24px 25px;align-items:center;gap:6px;margin-top:6px}.allocation .number{height:39px;display:grid;place-items:center;border-radius:9px;background:#eaf4ef;color:var(--green-dark);font-size:10px;font-weight:900}.allocation input{text-align:right}.allocation>span:nth-last-child(2){font-size:9px;color:var(--muted)}.icon-button{border:0;background:transparent;font-size:19px;color:#81908b;cursor:pointer}.link-button{border:0;background:transparent;color:var(--green);font-size:10px;font-weight:900;padding:10px 0 0;cursor:pointer}.summary-column{display:grid;gap:13px}.summary{padding:19px}.summary .big{display:block;font-size:37px;letter-spacing:-.06em;margin-top:10px}.summary>span{font-size:11px;color:var(--muted)}.rule{height:1px;background:var(--line);margin:17px 0 9px}.summary dl{margin:0}.summary dl div{display:flex;justify-content:space-between;padding:6px 0;font-size:11px}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:900}.check{padding:14px;border-radius:13px;background:#fff1df;color:#925719;font-size:11px;font-weight:800}.check.ok{background:#e7f6e9;color:#286b3e}.no-orders{padding:14px;border-radius:12px;background:#fff8ec;border:1px solid #efd09d;font-size:11px;color:#8a6940}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:17px}.kpi{padding:18px 20px}.kpi span,.kpi strong{display:block}.kpi span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.kpi strong{font-size:29px;margin-top:7px}.table-card{overflow-x:auto}.overview-row{min-width:850px;display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(5,55px) 70px 75px 90px;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid #edf2ef;text-align:center;font-size:11px}.overview-row.head{border:0;background:#edf4f0;color:#677a73;font-size:9px;font-weight:900;text-transform:uppercase}.overview-row.person-row{width:100%;border-right:0;border-bottom:0;border-left:0;background:#fff;cursor:pointer}.overview-row.person-row:hover{background:#f6faf7}.overview-name{display:flex;align-items:center;gap:9px;text-align:left}.overview-name b,.overview-name small{display:block}.overview-name small{font-size:9px;color:var(--muted);margin-top:3px}.pill{padding:6px 8px;border-radius:20px;background:#fff0dd;color:#975b1c;font-size:9px;font-weight:900}.pill.ok{background:#e4f5e8;color:#2d7142}.orders-grid{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(500px,1.25fr);gap:20px;align-items:start}.order-create{padding:23px;position:sticky;top:120px}.order-create h2,.orders-list h2{margin:0;font-size:19px}.order-create>p{font-size:11px;color:var(--muted);line-height:1.5}.order-form{display:grid;gap:12px;margin-top:20px}.order-list-items{display:grid;gap:10px;margin-top:14px}.order-card{display:grid;grid-template-columns:100px minmax(0,1fr) 85px 90px;gap:14px;align-items:center;padding:17px}.order-card.inactive{opacity:.55}.order-id{height:35px;display:grid;place-items:center;border-radius:9px;background:#e6f2ec;color:var(--green-dark);font-size:11px;font-weight:900}.order-info h3{margin:0;font-size:13px}.order-info p{margin:4px 0 0;color:var(--muted);font-size:10px}.order-hours{text-align:right}.order-hours strong,.order-hours span{display:block}.order-hours span{font-size:9px;color:var(--muted)}.switch{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:900}.switch input{width:17px;height:17px;accent-color:var(--green)}.import-layout{display:grid;grid-template-columns:minmax(350px,.8fr) minmax(420px,1.2fr);gap:20px}.upload-card,.import-info{padding:28px}.upload-card h2,.import-info h2{margin:0 0 8px}.upload-card>p,.import-info>p,.import-info li{color:var(--muted);font-size:12px;line-height:1.6}.drop-zone{display:grid;place-items:center;min-height:210px;margin:22px 0;border:2px dashed #b8ccc3;border-radius:16px;background:#f8fbf9;text-align:center;cursor:pointer}.drop-zone:hover,.drop-zone.drag{border-color:var(--green);background:#eff7f3}.drop-zone input{display:none}.drop-zone strong,.drop-zone span{display:block}.drop-zone strong{margin-top:10px}.drop-zone span{margin-top:5px;color:var(--muted);font-size:11px}.upload-icon{font-size:30px;color:var(--green)}.file-name{min-height:18px;color:var(--green);font-size:11px;font-weight:800}.import-info ol{padding-left:18px}.privacy-box{margin-top:20px;padding:15px;border-radius:12px;background:#eaf4ef;color:#315f50;font-size:11px;line-height:1.5}.loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}
@media(max-width:1180px){.entry-layout{grid-template-columns:210px minmax(500px,1fr)}.summary-column{position:static;grid-column:2;grid-template-columns:1fr 1fr}.orders-grid{grid-template-columns:1fr}.order-create{position:static}}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px 18px;flex-direction:row;align-items:center}.brand{padding:0}.brand small,.storage-note{display:none}.sidebar nav{display:flex;margin-left:auto}.sidebar nav button{font-size:0;padding:9px}.sidebar nav button i{width:auto;font-size:20px}.topbar{position:static;padding:16px 18px;align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.page{padding:18px}.entry-layout{grid-template-columns:1fr}.people-card{position:static}.people-list{display:flex;overflow-x:auto}.person{min-width:190px}.summary-column{grid-column:auto;grid-template-columns:1fr 1fr}.import-layout{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.kpis .kpi:last-child{grid-column:1/-1}}@media(max-width:590px){.topbar h1{font-size:20px}.header-actions{width:100%}.topbar{flex-wrap:wrap}.header-actions select{flex:1}.header-actions .secondary{display:none}.page{padding:13px}.time-grid{grid-template-columns:1fr 1fr}.allocation{grid-template-columns:70px minmax(135px,1fr) 60px 20px 22px;overflow-x:auto}.summary-column,.kpis{grid-template-columns:1fr}.kpis .kpi:last-child{grid-column:auto}.orders-grid{display:block}.order-create{margin-bottom:18px}.order-card{grid-template-columns:85px 1fr}.order-hours{grid-column:1;text-align:left}.switch{justify-self:end}.import-layout{display:block}.upload-card{margin-bottom:16px}}
