:root{--ink:#17231e;--muted:#66736d;--green:#124a37;--green-2:#1d684d;--lime:#cbea57;--paper:#f5f6f1;--line:#dce2dc;--white:#fff}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{grid-template-columns:245px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--green);color:#fff;flex-direction:column;gap:32px;padding:28px 20px;display:flex}.brand{align-items:center;gap:10px;font-size:21px;font-weight:800;display:flex}.brand-mark{background:var(--lime);color:var(--green);border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.sidebar-company-logo{background:#fff;border-radius:13px;place-items:center;min-height:76px;margin-top:-14px;padding:12px;display:grid}.sidebar-company-logo img{object-fit:contain;width:100%;height:auto;max-height:76px;display:block}.nav{gap:7px;display:grid}.nav a{color:#e8f1ec;border-radius:10px;padding:12px 14px}.nav a:hover,.nav a.active{color:#fff;background:#2a604d}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:14px 28px;display:flex}.topbar-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.tenant-switcher{color:var(--muted);grid-template-columns:none;align-items:center;gap:9px;font-size:13px;display:flex}.tenant-switcher select{min-width:210px;color:var(--ink);padding:9px 34px 9px 11px}.content{max-width:1200px;margin:auto;padding:34px 28px}.eyebrow{color:var(--green-2);text-transform:uppercase;letter-spacing:.07em;font-size:13px;font-weight:750}h1{letter-spacing:-.04em;margin:8px 0 10px;font-size:clamp(30px,4vw,46px)}h2{margin:0 0 16px}.muted{color:var(--muted)}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px;box-shadow:0 8px 28px #1932280b}.metric{margin-top:10px;font-size:30px;font-weight:800}.dashboard-stats{align-items:stretch}.dashboard-stat{flex-direction:column;min-height:250px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}a.dashboard-stat:hover{border-color:#b9cbbf;transform:translateY(-3px);box-shadow:0 14px 34px #1932281a}a.dashboard-stat:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.dashboard-stat:after{content:"";background:var(--green-2);width:5px;position:absolute;inset:0 auto 0 0}.dashboard-stat-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.dashboard-stat-icon{width:38px;height:38px;color:var(--green);background:#e7f1eb;border-radius:12px;place-items:center;font-size:21px;font-weight:800;display:grid}.dashboard-stat-label{color:var(--muted);font-size:15px;font-weight:750}.dashboard-stat .metric{margin:5px 0 8px;font-size:42px;line-height:1}.dashboard-stat .metric small{font-size:18px}.dashboard-stat p{min-height:38px;color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.45}.dashboard-stat-action{border-top:1px solid var(--line);color:var(--green);justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;font-size:14px;font-weight:800;display:flex}.dashboard-stat-time:after{background:#397d66}.dashboard-stat-time .dashboard-stat-icon{background:#eef5f2}.dashboard-stat-approvals.has-pending:after{background:#d89223}.dashboard-stat-approvals.has-pending .dashboard-stat-icon,.dashboard-stat-approvals.has-pending .status{color:#80520a;background:#fff1d6}.dashboard-stat-approvals.is-clear:after{background:var(--green-2)}.dashboard-stat.is-readonly{background:#fbfcfa}.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-weight:750;display:inline-block}.button.alt{background:var(--lime);color:var(--green)}.button.danger{background:#972f2f}.button.small{padding:8px 10px;font-size:13px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px}th{color:var(--muted);font-size:13px}.status{color:var(--green);background:#e7f1eb;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:750;display:inline-flex}.tenant-logo-admin{gap:8px;min-width:205px;display:grid}.tenant-logo-preview{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:9px;width:100px;height:54px;padding:5px;display:block}.tenant-logo-empty{align-items:center;min-height:54px;display:flex}.tenant-logo-form{grid-template-columns:minmax(130px,1fr) auto;align-items:center;gap:7px;display:grid}.logo-file-input{max-width:190px;padding:7px;font-size:12px}.logo-remove{background:#8b2e2e;width:max-content;padding:7px 10px;font-size:12px}.form{gap:16px;max-width:760px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.membership-form-grid{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px;max-width:none}label{gap:7px;font-weight:700;display:grid}input,select,textarea{background:#fff;border:1px solid #cbd4cd;border-radius:10px;width:100%;padding:12px}.setup{border-left:5px solid #d89b28}.automatic-job-number{background:#f0f7f2;border:1px solid #d8e7dc;border-radius:11px;gap:5px;padding:14px 16px;display:grid}.address-autocomplete{position:relative}.address-suggestions{z-index:20;background:#fff;border:1px solid #cbd4cd;border-radius:11px;max-height:280px;display:grid;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 30px #0b2b1f29}.address-suggestions button{color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e7ece8;padding:12px 14px}.address-suggestions button:last-child{border-bottom:0}.address-suggestions button:hover,.address-suggestions button.active{background:#eef6f0}.field-help{color:var(--muted);font-size:13px;font-weight:500}.clickable-row{transition:background .15s}.clickable-row:hover{background:#f0f7f2}.job-cell-link{min-height:42px;color:inherit;text-decoration:none;display:block}.back-link{color:var(--green);margin-bottom:22px;font-weight:800;text-decoration:none;display:inline-block}.job-detail-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.job-detail-heading h1{margin-bottom:5px}.detail-grid{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.detail-list{gap:18px;margin:0;display:grid}.detail-list div{border-bottom:1px solid #e2e8e3;gap:5px;padding-bottom:16px;display:grid}.detail-list div:last-child{border-bottom:0;padding-bottom:0}.detail-list dt{color:var(--muted);font-size:13px;font-weight:700}.detail-list dd{margin:0;font-size:17px;font-weight:700}.job-tabs{border-bottom:1px solid var(--line);gap:4px;margin:0 0 22px;display:flex;overflow-x:auto}.job-tabs a{white-space:nowrap;color:var(--muted);border-bottom:3px solid #0000;padding:12px 14px;font-weight:700}.job-tabs a.active{color:var(--green);border-bottom-color:var(--green)}.stack{gap:18px;display:grid}.registration-card{margin-top:18px}.inline-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.inline-form label{flex:300px}.timer-address{margin:0 0 14px}.active-timer{align-items:baseline;gap:14px;margin:8px 0 18px;display:flex}.active-timer span{color:var(--muted);font-weight:700}.active-timer strong{font-variant-numeric:tabular-nums;letter-spacing:.03em;font-size:clamp(2rem,6vw,3.5rem)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#051d168f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;width:min(480px,100%);max-height:calc(100vh - 40px);padding:28px;overflow:auto;box-shadow:0 24px 70px #0000004d}.modal-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.modal-heading h2{margin:5px 0 0;font-size:1.65rem;line-height:1.15}.modal-close{border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.45rem;line-height:1;display:grid}.modal-close:hover{background:var(--background)}.finish-timer{color:var(--surface);background:var(--green);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:22px 0;padding:14px 16px;display:flex}.finish-timer span{font-weight:700}.finish-timer strong{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:1.55rem}.modal-card textarea{resize:vertical;min-height:112px}.modal-actions{justify-content:flex-end;margin-top:4px;display:flex}.modal-actions .button{min-width:170px}@media (max-width:560px){.modal-card{padding:22px}.modal-actions .button{width:100%}}.form-button{align-self:end;margin-bottom:1px}.compact-form{grid-template-columns:repeat(3,minmax(150px,1fr));max-width:none}.approval-actions{gap:7px;display:flex}.image-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.image-grid figure{margin:0}.image-grid img{object-fit:cover;border-radius:10px;width:100%;height:220px}.image-grid figcaption{color:var(--muted);margin-top:10px;font-size:13px}.image-caption{justify-content:space-between;align-items:center;gap:12px;display:flex}.image-caption figcaption{overflow-wrap:anywhere}.economy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.positive{color:var(--green-2)}.negative{color:#972f2f}.invoice-preview{max-width:760px}.invoice-lines{gap:0;margin:24px 0;display:grid}.invoice-lines div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:13px 0;display:flex}.invoice-lines dd{margin:0;font-weight:800}.success{color:var(--green);background:#e7f1eb;border-radius:10px;padding:12px 14px}.integration-warning{color:#744c09;background:#fff3d7;border-radius:10px;padding:12px 14px}.integration-warning a{font-weight:800;text-decoration:underline}.settings-card{max-width:760px}.settings-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.timeline{display:grid}.timeline>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:14px 0;display:flex}.timeline span{color:var(--muted)}.history-content,.history-meta{gap:4px;display:grid}.history-meta{text-align:right;min-width:220px}.history-meta strong{font-size:.92rem}@media (max-width:700px){.timeline>div{display:grid}.history-meta{text-align:left;min-width:0}}.time-edit{min-width:82px;position:relative}.time-edit>summary{text-align:center;list-style:none}.time-edit>summary::-webkit-details-marker{display:none}.time-edit-form{z-index:30;border:1px solid var(--line);background:#fff;border-radius:14px;width:min(390px,100vw - 42px);padding:18px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #0b2b1f33}.time-edit-form textarea{resize:vertical;min-height:86px}.audit-table td{vertical-align:top}.audit-table td:first-child{white-space:nowrap}.audit-changes{gap:5px;min-width:290px;margin:0;padding-left:18px;display:grid}.signin-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.signin-art{background:var(--green);color:#fff;flex-direction:column;justify-content:space-between;padding:8vw;display:flex}.signin-box{place-items:center;padding:30px;display:grid}@media (max-width:800px){.shell{grid-template-columns:1fr}.sidebar{z-index:10;gap:14px;padding:16px;position:sticky;top:0}.sidebar-company-logo{max-width:170px;min-height:54px;margin:0;padding:8px}.sidebar-company-logo img{max-height:54px}.nav{display:flex;overflow-x:auto}.nav a{white-space:nowrap}.grid,.detail-grid,.economy-grid,.image-grid,.form-grid,.membership-form-grid,.compact-form,.signin-page{grid-template-columns:1fr}.signin-art{min-height:250px;padding:36px}.topbar,.content{padding-left:18px;padding-right:18px}.topbar{align-items:flex-start}.topbar-actions{flex-direction:column-reverse;align-items:flex-end}.tenant-switcher{flex-direction:column;align-items:flex-start}.tenant-switcher select{min-width:180px}}
