:root{--ink:#213b33;--muted:#80918c;--green:#224e3c;--deep:#122923;--accent:#d1ac6b;--surface:#fff;--bg:#f7f8f5;--line:#e6ebe6;--soft:#eff5ef;--radius:18px;--shadow:0 4px 22px rgba(36,58,47,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:Tahoma,Arial,'Segoe UI',sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1{font-size:28px;letter-spacing:-.7px;line-height:1.5}h2{font-size:27px}h3{font-size:18px}small{font-size:12px}b,strong{font-weight:700}
.app-layout{min-height:100vh;display:grid;grid-template-columns:254px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;background:#152f27;color:#ecf5ef;display:flex;flex-direction:column;padding:30px 17px 20px;box-shadow:-3px 0 15px rgba(0,0,0,.06)}.brand{display:flex;align-items:center;gap:12px;margin:0 8px 43px}.brand-icon{background:linear-gradient(145deg,#d5be8f,#a97e41);color:#183126;width:43px;height:43px;display:grid;place-items:center;border-radius:14px;font-family:Georgia,serif;font-size:30px;font-weight:bold;box-shadow:0 5px 25px rgba(226,188,118,.2)}.brand b{display:block;font-size:21px;letter-spacing:3px}.brand small{display:block;color:#b0c6b6;font-size:10px;letter-spacing:.75px}.nav-label{font-size:11px;color:#829f8e;padding:0 15px 11px}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{padding:12px 15px;display:flex;gap:15px;align-items:center;font-weight:600;border-radius:12px;color:#aec4b9;transition:.15s}.nav-item:hover{background:#234335;color:white}.nav-item.active{background:#2b4f3f;color:#fff;box-shadow:inset 3px 0 0 #d2ac66}.nav-icon{font-size:20px;width:22px;text-align:center;font-weight:400}.sidebar-bottom{margin-top:auto;padding:17px 6px 0;border-top:1px solid #365247;display:flex;align-items:center;gap:10px}.sidebar-bottom b{display:block;font-size:13px}.sidebar-bottom small{display:block;color:#9cb5a9}.avatar{display:grid;place-items:center;width:36px;height:36px;background:#e4d2a3;color:#153326;border-radius:10px;font-weight:bold}.logout{margin-right:auto;font-size:24px;color:#bdccbe}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{height:81px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 47px}.crumb{font-size:13px;font-weight:600}.crumb span{color:#c6d0ca;margin:0 7px}.top-date{color:#728982;font-size:12px;font-weight:bold;direction:ltr}.mobile-brand,.mobile-nav{display:none}.content{width:100%;max-width:1400px;margin:0 auto;padding:35px 47px 70px;flex:1}.footer{padding:14px 35px;text-align:center;color:#9aa9a1;font-size:11px}.page-heading{margin-bottom:28px;display:flex;justify-content:space-between}.page-heading h1{margin:0 0 6px}.page-heading p{color:#82928b;margin:0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.2px;color:#a0814f;margin-bottom:9px}.hero{background:radial-gradient(circle at 85% 25%,#37664c 0,transparent 42%),linear-gradient(105deg,#1c4334,#102a23);color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:23px;padding:40px 42px;overflow:hidden;min-height:230px}.hero-kicker{font-size:11px;font-weight:bold;color:#e2c88d;margin-bottom:10px}.hero h2{margin-bottom:8px}.hero p{color:#c8dbce;margin-bottom:23px}.hero-shape{font-size:130px;line-height:1;color:#d0af75;opacity:.3;transform:rotate(-12deg)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:24px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.stat-icon{font-size:24px;color:#b49a69;float:left}.stat-num{font-size:30px;font-weight:800}.stat-label{color:#85968e;font-size:12px}.panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;margin-bottom:22px;padding:25px}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}.panel-title h3{margin:0 0 3px}.panel-title p{color:#88978f;font-size:12px;margin:0}.section-count{background:#f1f4f0;border-radius:9px;color:#61796b;padding:5px 10px;font-size:12px}.step{float:right;background:#f0eee3;color:#a6884f;border-radius:9px;padding:2px 9px;margin-left:12px;font-family:Arial}.empty{text-align:center;padding:35px 20px;color:#819087}.empty-symbol{font-size:37px;color:#9aac9f}.empty h4{font-size:17px;color:#314d3b;margin-bottom:2px}.empty p{margin-bottom:20px}.today-row{display:flex;justify-content:space-between;align-items:center;padding:8px 5px}.today-row p{color:#849287;margin:11px 0 0}.status{display:inline-block;font-weight:bold;font-size:11px;padding:5px 12px;border-radius:999px}.status-confirmed{background:#e4f4e9;color:#237244}.status-draft{background:#f7f0df;color:#987125}.info-strip{display:flex;gap:15px;padding:16px 19px;background:#ebf1eb;border:1px solid #dce7dc;border-radius:14px;align-items:center;margin-top:20px}.info-strip>span{font-size:23px}.info-strip b{font-size:13px}.info-strip p{margin:0;color:#73897a;font-size:12px}.info-strip a{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:11px;font-size:13px;font-weight:700;border:1px solid transparent;transition:.15s;white-space:normal;text-align:center}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn-primary{background:#24523d;color:#fff;border-color:#24523d}.btn-light{background:#fff;color:#1e4e3a}.btn-outline{border-color:#cfddd0;color:#41634e;background:#fff}.btn-soft{background:#edf4ed;color:#2d6b4b}.btn-compact{padding:7px 11px;font-size:11px}.btn-wide{width:100%}.btn-large{padding:14px 24px;font-size:15px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.alert{padding:12px 16px;border-radius:11px;margin-bottom:19px;border:1px solid #e5e6e0;background:#f5f5ee}.alert-success{color:#236044;background:#e8f5eb;border-color:#cbe6d4}.alert-error{color:#943e3e;background:#fff0ef;border-color:#f0cfc9}.muted,.hint{color:#87978d;font-size:12px}.hint{margin:7px 0}.two-panel{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.4fr);gap:22px;align-items:start}.two-panel .panel{min-width:0}.form-stack{display:flex;flex-direction:column;gap:18px}label{display:block;font-weight:700;font-size:12px;color:#486055}input:not([type=checkbox]),select,textarea{border:1px solid #dce6dc;background:#fff;border-radius:11px;padding:11px 12px;color:#243f2f;width:100%;outline:none;transition:box-shadow .15s,border-color .15s}input:focus,select:focus,textarea:focus{border-color:#79a887;box-shadow:0 0 0 3px rgba(104,160,116,.12)}label>input,label>select,label>textarea{display:block;margin-top:7px}.record-list{display:flex;flex-direction:column;gap:9px}.record-item{display:flex;gap:9px;align-items:center;border:1px solid #e8eee8;padding:9px;border-radius:12px}.inline-edit{display:flex;gap:8px;align-items:center;flex:1;min-width:0}.record-field{flex:1;min-width:0}.record-field input{padding:7px 10px}.record-field small{display:block;color:#9ca99e;margin-top:3px}.inline-edit select{max-width:90px;padding:7px}.filters{display:flex;align-items:end;gap:13px;flex-wrap:wrap}.filters label{min-width:160px}.filters input{margin-top:6px}.table-wrap{overflow-x:auto;max-width:100%}.data-table{width:100%;border-collapse:collapse;text-align:right;font-size:13px}.data-table th{background:#f5f7f3;color:#6f8979;font-size:12px;padding:14px 13px;white-space:nowrap;border-bottom:1px solid #e6ece5}.data-table td{padding:14px 13px;border-bottom:1px solid #edf1eb;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table td strong{color:#295b41}.planner-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:15px}.planner-date{background:white;border:1px solid var(--line);padding:12px 17px;border-radius:15px;min-width:240px}.planner-date label{font-size:11px}.planner-date input{padding:7px}.planner-bonus{display:flex;align-items:center;background:#f3eee0;border:1px solid #e5ddc6;border-radius:15px;gap:14px;padding:14px 22px}.planner-bonus small{color:#917d56;display:block}.planner-bonus strong{font-size:23px;color:#7a6435}.bonus-star{color:#bb9859;font-size:25px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.product-qty{padding:15px;border:1px solid #e6eee6;border-radius:13px;background:#fcfdfb;display:flex;flex-direction:column;gap:10px;justify-content:space-between}.product-name{font-size:14px;color:#2f4e3a}.product-name small{color:#b18c4c}.qty-input{display:flex;align-items:center;position:relative}.qty-input input{font-size:19px;font-weight:700;padding-left:52px}.qty-input small{position:absolute;left:12px;color:#829184}.worker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.worker-choice{border:1px solid #e5ebe4;border-radius:13px;background:#fff;padding:13px}.worker-present{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.worker-present input{accent-color:#275c40;width:17px;height:17px}.worker-mini-avatar{width:31px;height:31px;background:#edf3e9;color:#477056;border-radius:9px;display:grid;place-items:center}.early-choice{margin-top:12px;border-top:1px solid #eef0e9;padding-top:10px;display:flex;gap:7px;align-items:center;color:#a28759;cursor:pointer}.early-choice input{accent-color:#b28b48}.calculation-bar{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;background:#e5f0e7;padding:21px 24px;border-radius:15px;gap:12px}.calculation-bar p{margin:3px 0 0;color:#668373;font-size:12px}.allocation-table{white-space:nowrap}.allocation-table th small{display:block;color:#b58e54}.allocation-table .allocated-qty{width:110px;padding:9px;text-align:center;font-weight:bold}.unit-sub{display:block;color:#9ca79c;font-size:10px}.row-total-check{font-size:11px;font-weight:bold}.total-ok{color:#2c874c}.total-bad{color:#c34d45}.planner-footer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr) auto;gap:18px;align-items:end}.planner-footer textarea{resize:vertical}.plan-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:21px}.worker-print-links{display:flex;gap:9px;flex-wrap:wrap}.print-header{display:none}.print-summary{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.print-stat{border:1px solid #e1ece1;border-radius:10px;padding:12px 15px;flex:1;min-width:150px}.print-stat span{display:block;color:#81958a;font-size:11px}.print-stat strong{display:block;font-size:14px}.print-note{margin-top:17px;padding:13px;background:#f6f6f2}.print-signatures{display:flex;gap:32px;justify-content:space-between;margin-top:45px;color:#809086;font-size:12px}
.auth-page{min-height:100vh;background:radial-gradient(circle at 60% 20%,#2a5c44,#0e2820 70%);display:grid;place-items:center;padding:20px}.auth-card{width:100%;max-width:440px;background:#fff;border-radius:24px;padding:40px;box-shadow:0 25px 90px rgba(0,0,0,.2)}.auth-card h1{font-size:25px;margin:0 0 6px}.auth-card p{color:#82958a;font-size:13px}.auth-logo{font-family:Georgia,serif;font-size:41px;font-weight:bold;background:#e8d3a3;color:#215139;width:62px;height:62px;display:grid;place-items:center;border-radius:18px;margin-bottom:19px}.auth-card form{display:flex;flex-direction:column;gap:19px;margin:26px 0}.auth-card>small{display:block;text-align:center}
[hidden]{display:none!important}
@media(max-width:1250px){.product-grid,.worker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:30px}.topbar{padding:0 30px}.planner-footer{grid-template-columns:1fr 1fr}.planner-footer button{grid-column:1/-1}}
@media(max-width:950px){.app-layout{display:block}.sidebar{display:none}.topbar{height:67px;padding:0 18px}.mobile-brand{display:block;font-weight:900;letter-spacing:2px}.mobile-brand span{font-weight:400;font-size:10px;letter-spacing:0;color:#849b8c}.crumb{display:none}.mobile-nav{display:flex;gap:3px;padding:10px 12px;background:white;overflow-x:auto;border-bottom:1px solid #e5ede5;scrollbar-width:none}.mobile-nav a{flex-shrink:0;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:bold;color:#81978a}.mobile-nav a.active{background:#e8f2eb;color:#235741}.content{padding:20px 14px 50px}.two-panel{grid-template-columns:1fr}}
@media(max-width:620px){.page-heading h1{font-size:23px}.hero{padding:28px 23px;min-height:0}.hero h2{font-size:22px}.hero-shape{display:none}.stats-grid{gap:9px}.stat{padding:15px}.stat-num{font-size:24px}.stat-label{font-size:10px}.panel{padding:16px;border-radius:15px}.product-grid,.worker-grid{grid-template-columns:1fr 1fr;gap:9px}.worker-choice{padding:9px}.worker-present{gap:5px;flex-wrap:wrap}.worker-name{max-width:100%;word-break:break-word}.product-qty{padding:12px}.planner-top,.calculation-bar,.plan-actions{align-items:stretch;flex-direction:column}.planner-date{min-width:0}.planner-footer{grid-template-columns:1fr}.planner-footer button{grid-column:auto}.record-item{flex-wrap:wrap}.record-item>form:last-child{width:100%}.record-item>form:last-child button{width:100%}.inline-edit{min-width:100%}.footer{font-size:10px}.auth-card{padding:26px 22px}}
@media print{@page{size:A4 landscape;margin:12mm}html,body{background:white!important;color:black!important;font-family:Tahoma,Arial,sans-serif}.sidebar,.topbar,.mobile-nav,.footer,.page-heading,.no-print,.btn{display:none!important}.app-layout,.workspace,.content{display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important}.print-header{display:flex!important;justify-content:space-between;font-size:16px;font-weight:bold;border-bottom:2px solid #222;padding-bottom:12px;margin-bottom:15px}.panel,.print-panel{padding:0!important;margin:0!important;box-shadow:none!important;border:0!important}.table-wrap{overflow:visible!important}.data-table{font-size:10px;table-layout:auto}.data-table th,.data-table td{padding:6px 5px;border:1px solid #888!important;white-space:normal}.data-table th{background:#eee!important;print-color-adjust:exact}.data-table tr{break-inside:avoid;page-break-inside:avoid}.print-summary{margin-top:10px}.print-stat{border:1px solid #888;min-width:100px;padding:6px}.print-note{border:1px solid #ccc}.print-signatures{margin-top:35px}}
.bulk-details{margin-top:22px;border-top:1px solid #e9eee9;padding-top:17px}.bulk-details summary{font-weight:bold;color:#315c43;cursor:pointer;padding-bottom:10px}.bulk-details form{margin-top:10px}

/* Workforce V2: responsive payroll and adjustment views, preserving V1 identity. */
.pos{color:#17683a}.neg{color:#b22e35}
.data-table td,.data-table th{vertical-align:middle}
@media(max-width:620px){
  .filters{display:grid!important;grid-template-columns:1fr!important}
  .filters label{width:100%!important}
  .filters .btn{width:100%}
  input[type=number],input[type=date],select{min-height:44px;font-size:16px}
  .table-wrap{-webkit-overflow-scrolling:touch}
  .record-item{gap:10px;flex-wrap:wrap}
  .record-item .btn{min-height:42px}
}
@media print{.no-print,form:not(.always-print),.mobile-nav{display:none!important}}
