.page{width:min(100% - 32px,1320px);margin:0 auto;padding:28px 0 40px}.auth-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-wrap .card{width:min(100%,440px)}.auth-intro{color:var(--muted);margin:-4px 0 20px}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);margin-bottom:20px;padding:clamp(18px,2.2vw,26px)}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:14px;display:flex}.card-header h2,h1,h3{color:var(--text);letter-spacing:0;margin:0}.card-header h2{font-size:1.08rem;line-height:1.2}h1{font-size:clamp(1.85rem,4vw,3rem);line-height:1.02}label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:.73rem;font-weight:800;display:block}input,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--text);background:#fff;padding:10px 12px;transition:border-color .16s,box-shadow .16s,background .16s}input[type=date],input[type=time]{font-size:16px;line-height:1.2}input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.2em}input[type=time]::-webkit-date-and-time-value{text-align:left;min-height:1.2em}textarea{resize:vertical;min-height:104px}input::placeholder,textarea::placeholder{color:#8b9691}input:hover,textarea:hover{border-color:#aebdb5}input:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1a6b5229}button{border-radius:var(--radius-md);cursor:pointer;letter-spacing:0;border:1px solid #0000;min-height:42px;padding:9px 14px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}button:not(:disabled):hover{transform:translateY(-1px)}button:focus-visible{outline:none;box-shadow:0 0 0 3px #1a6b5233}button.primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px #1a6b5238}button.primary:not(:disabled):hover{background:var(--primary-strong)}button.secondary{background:var(--surface-strong);border-color:var(--border-strong);color:var(--text)}button.secondary:not(:disabled):hover{background:#f8faf9;border-color:#a6b7ae}button.small{min-height:36px;padding:7px 10px;font-size:.84rem}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.link-btn{min-height:auto;color:var(--primary);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-weight:800}.stack>*+*{margin-top:14px}.top-gap{margin-top:16px}.center{text-align:center}.muted{color:var(--muted)}.eyebrow{color:#cfe4dc;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:900}.topbar{border-radius:var(--radius-lg);color:#f6fbf9;box-shadow:var(--shadow-strong);background:linear-gradient(135deg,#133328,#1a6b52);border:1px solid #ffffff24;grid-template-columns:minmax(240px,1fr) minmax(360px,.9fr) auto;align-items:end;gap:20px;margin-bottom:18px;padding:clamp(20px,3vw,28px);display:grid}.topbar h1{color:#fff}.topbar .muted{color:#f6fbf9b8;margin:8px 0 0}.topbar-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.topbar-summary>div{border-radius:var(--radius-md);background:#ffffff14;border:1px solid #ffffff24;min-width:0;padding:12px}.topbar-summary span{color:#f6fbf9ad;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:800;display:block}.topbar-summary strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.2;display:block;overflow:hidden}.toolbar,.button-row,.action-row,.input-row{align-items:center;gap:10px;display:flex}.toolbar{flex-wrap:wrap;justify-content:flex-end}.topbar button.secondary{color:#fff;background:#ffffff1a;border-color:#ffffff38}.topbar button.secondary:not(:disabled):hover{background:#ffffff29}.button-row{margin-top:20px}.input-row{align-items:stretch;min-width:0}.input-row input{flex:1;min-width:0}.input-row button{flex:none}.status-stack{gap:10px;margin-bottom:16px;display:grid}.draft-status{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:fit-content;max-width:100%;color:var(--muted);background:#fff;align-items:center;padding:8px 10px;font-size:.9rem;display:inline-flex}.grid-main{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);align-items:start;gap:20px;display:grid}.form-grid{gap:14px;margin-bottom:16px;display:grid}.form-grid>div,.grid-main>*{min-width:0}.form-grid.one{grid-template-columns:1fr}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-3{grid-column:span 3}.section-title{border-top:1px solid var(--border);align-items:baseline;gap:10px;margin:20px 0 12px;padding-top:16px;display:flex}.section-title span{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:900}.section-title h3{font-size:.98rem;line-height:1.2}.stats-grid,.totals-grid{gap:12px;margin:18px 0;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.totals-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.stat{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fbfcfb;flex-direction:column;justify-content:space-between;gap:8px;min-height:108px;padding:14px;display:flex}.stat span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:900;display:block}.stat strong{overflow-wrap:anywhere;font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.08;display:block}.stat small{color:var(--muted);line-height:1.45;display:block}.stat.dark{color:#fff;background:#163d30;border-color:#163d30}.stat.dark span,.stat.dark small{color:#ffffffb8}.note-box,.alert,.empty{border-radius:var(--radius-md);border:1px solid #0000;padding:13px 14px}.note-box{background:var(--surface-tint);border-color:var(--border);color:var(--muted)}.note-box strong{color:var(--text)}.alert.info{background:var(--info-soft);color:#174b3b;border-color:#bdded2}.alert.error{background:var(--danger-soft);color:var(--danger);border-color:#f0beb8}.empty{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;background:#fff}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;overflow:auto}table{border-collapse:collapse;width:100%;min-width:920px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:13px 14px;font-size:.94rem}thead th{z-index:1;background:#f5f7f6;position:sticky;top:0}th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900}tbody tr:hover{background:#f7faf8}tbody tr:last-child td{border-bottom:0}.table-sub{color:var(--muted);margin-top:5px;font-size:.82rem}.job-title{line-height:1.3}.total-cell strong{color:var(--primary-strong)}@media (width<=1120px){.topbar{grid-template-columns:1fr;align-items:start}.toolbar{justify-content:flex-start}.grid-main{grid-template-columns:1fr}.stats-grid,.totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.page{width:min(100% - 24px,1320px);padding-top:16px}.topbar-summary,.form-grid.three,.form-grid.four,.stats-grid,.totals-grid{grid-template-columns:1fr}.toolbar,.button-row,.action-row{flex-wrap:wrap}.toolbar>*,.button-row>*{flex:150px}.input-row{flex-direction:column;align-items:flex-start}.input-row button{width:auto;min-width:88px}input[type=date],input[type=time]{width:min(100%,12rem)}.span-3{grid-column:span 1}.section-title{display:block}.section-title h3{margin-top:4px}.table-wrap{background:0 0;border:0;overflow:visible}.jobs-table{border-collapse:separate;border-spacing:0 12px;min-width:0}.jobs-table thead{display:none}.jobs-table,.jobs-table tbody,.jobs-table tr,.jobs-table td{width:100%;display:block}.jobs-table tbody tr{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:14px}.jobs-table tbody tr:hover{background:#fff}.jobs-table td{border-bottom:1px solid var(--border);grid-template-columns:minmax(92px,112px) minmax(0,1fr);gap:10px;padding:9px 0;font-size:.94rem;display:grid}.jobs-table td:last-child{border-bottom:0;padding-bottom:0}.jobs-table td:before{content:attr(data-label);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900}.jobs-table td.job-cell{grid-template-columns:1fr;gap:6px;padding-top:0}.jobs-table td.actions-cell{grid-template-columns:1fr;align-items:stretch;gap:10px}.jobs-table td.actions-cell .action-row{justify-content:stretch}.jobs-table td.actions-cell .action-row>*{flex:1 1 0}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#19231f;--bg:#eef2f0;--surface:#fff;--surface-strong:#fff;--surface-tint:#f4f8f6;--text:#19231f;--muted:#65716c;--border:#dde5e1;--border-strong:#c7d3cd;--primary:#1a6b52;--primary-strong:#155640;--accent:#b06a1b;--danger:#982f25;--danger-soft:#fff0ee;--info-soft:#edf8f4;--shadow-soft:0 14px 34px #19231f12;--shadow-strong:0 22px 46px #19231f24;--radius-lg:8px;--radius-md:6px;background:#eef2f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;color:var(--text);background:linear-gradient(180deg, #f7f9f8 0, #eef2f0 320px), var(--bg);margin:0}a{color:inherit}button,input,textarea,select{font:inherit}button{color:inherit}img,svg{max-width:100%;display:block}#root{min-height:100vh}::selection{background:#1a6b522e}
