:root{--orange:#f5a623;--orange-dark:#d48816;--orange-light:#ffd68a;--orange-pale:#fff3dd;--grey-900:#1a1a1a;--grey-700:#3d3d3d;--grey-500:#6b6b6b;--grey-300:#b5b5b5;--grey-100:#ededed;--surface:#f7f7f7;--border:#e5e5e5;--red:#d64545;--green:#2e7d5b;--charcoal:#232326;--charcoal-2:#2e2e33}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--grey-900);background:var(--surface);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:15px}button{font:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font:inherit}.center-screen{background:var(--surface);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-bg{background:linear-gradient(160deg,#2e2e33,#1a1a1c)}.spinner{border:4px solid var(--grey-100);border-top-color:var(--orange);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 8px 40px #0000001f}.login-card{text-align:center;flex-direction:column;gap:14px;width:460px;display:flex}.login-card h1{margin-top:6px;font-size:26px}.login-card label{text-align:left;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.login-card input,.field input,.field textarea,.field select{background:var(--surface);border:1.5px solid #0000;border-radius:10px;width:100%;padding:12px 14px;font-size:15px}.login-card input:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);background:#fff;outline:none}.gate-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:440px;display:flex}.muted{color:var(--grey-500)}.small{font-size:12.5px}.error{color:var(--red);text-align:left;font-size:13.5px}.btn{border-radius:10px;padding:12px 18px;font-size:14.5px;font-weight:700;transition:opacity .15s}.btn:hover{opacity:.88}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--orange);color:#fff}.btn-ghost{color:var(--orange-dark)}.btn-outline{border:1.5px solid var(--orange);color:var(--orange-dark);background:#fff}.btn-danger-outline{border:1.5px solid var(--red);color:var(--red);background:#fff}.btn-dark{background:var(--grey-700);color:var(--orange-light)}.btn-sm{border-radius:8px;padding:7px 12px;font-size:13px}.link-mode{color:var(--orange);font-weight:700}.shell{min-height:100vh;display:flex}.sidebar{background:var(--charcoal);color:#fff;flex-direction:column;flex-shrink:0;width:250px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:0 10px 22px;display:flex}.brand-name{font-size:15.5px;font-weight:800}.brand-sub{color:var(--grey-300);font-size:11.5px}.sidebar nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-item{color:#c9c9ce;text-align:left;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:14.5px;font-weight:600;display:flex}.nav-item:hover{background:var(--charcoal-2);color:#fff}.nav-item.active{background:var(--charcoal-2);color:var(--orange)}.nav-icon{font-size:17px}.sidebar-footer{border-top:1px solid #3a3a40;flex-direction:column;gap:8px;padding-top:14px;display:flex}.me-name{font-size:13.5px;font-weight:700}.me-email{color:var(--grey-300);word-break:break-all;font-size:12px}.content{flex:1;min-width:0;padding:28px 32px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{font-size:26px}.page-head .sub{color:var(--grey-500);margin-top:3px;font-size:14px}.stats-row{gap:12px;margin-bottom:16px;display:flex}.stat-card{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:120px;padding:14px 20px}.stat-num{font-size:26px;font-weight:800}.stat-label{color:var(--grey-500);font-size:12px;font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.search-input{border:1px solid var(--border);background:#fff;border-radius:10px;width:280px;padding:10px 14px}.search-input:focus{border-color:var(--orange);outline:none}.chip{border:1px solid var(--border);color:var(--grey-500);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.chip.active{background:var(--orange);border-color:var(--orange);color:#fff}.chip.dark.active{background:var(--grey-900);border-color:var(--grey-900)}.split{align-items:flex-start;gap:18px;display:flex}.job-list{flex-direction:column;flex-shrink:0;gap:10px;width:400px;max-height:calc(100vh - 300px);padding-right:4px;display:flex;overflow-y:auto}.job-row{border:1.5px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:12px;width:100%;padding:14px 16px}.job-row:hover{border-color:var(--orange-light)}.job-row.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}.job-row-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;display:flex}.job-service{font-size:14px;font-weight:700}.job-tag{letter-spacing:.4px;font-size:11px;font-weight:800}.job-address{margin-bottom:6px;font-size:14px}.job-row-bottom{color:var(--grey-500);justify-content:space-between;font-size:12.5px;display:flex}.detail-pane{border:1px solid var(--border);background:#fff;border-radius:14px;flex:1;min-width:0;padding:24px}.detail-empty{color:var(--grey-500);border:2px dashed var(--border);border-radius:14px;flex:1;justify-content:center;align-items:center;min-height:300px;display:flex}.badge{border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-block}.photo-strip{gap:10px;margin:14px 0;display:flex;overflow-x:auto}.photo-strip img{cursor:pointer;object-fit:cover;border-radius:10px;height:130px}.meta-grid{background:var(--surface);border-radius:12px;grid-template-columns:1fr 1fr;gap:10px 24px;margin:14px 0;padding:16px 18px;display:grid}.meta-item .k{color:var(--grey-500);font-size:12px;font-weight:600}.meta-item .v{margin-top:2px;font-size:14px;font-weight:600}.section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--grey-700);margin:20px 0 10px;font-size:14px;font-weight:800}.status-buttons{flex-wrap:wrap;gap:8px;display:flex}.status-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--grey-500);border-radius:10px;padding:9px 14px;font-size:13px;font-weight:600}.status-btn.current{background:var(--orange-pale);border-color:var(--orange);color:var(--grey-900)}.schedule-row{background:var(--surface);border-radius:10px;align-items:center;gap:10px;margin-top:10px;padding:12px;display:flex}.schedule-row input{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.chat-box{border:1px solid var(--border);border-radius:12px;flex-direction:column;height:400px;display:flex}.chat-scroll{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.bubble{border-radius:14px;max-width:75%;padding:10px 14px;font-size:14px}.bubble .author{opacity:.75;margin-bottom:3px;font-size:11px;font-weight:700}.bubble .time{opacity:.65;text-align:right;margin-top:4px;font-size:10.5px}.bubble.mine{background:var(--orange);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.bubble.theirs{background:var(--grey-100);border-bottom-left-radius:4px;align-self:flex-start}.bubble.internal{background:var(--grey-700);color:#fff;border:1.5px dashed var(--grey-300);align-self:flex-end}.bubble.internal .lock{color:var(--orange-light);letter-spacing:.5px;font-size:10px;font-weight:800}.chat-compose{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:12px;display:flex}.chat-compose textarea{border:1px solid var(--border);resize:none;border-radius:10px;flex:1;min-height:42px;max-height:120px;padding:10px 12px}.chat-compose textarea:focus{border-color:var(--orange);outline:none}.compose-modes{gap:8px;padding:10px 12px 0;display:flex}.doc-row{background:var(--surface);border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.doc-name{font-size:14px;font-weight:600}.doc-meta{color:var(--grey-500);font-size:12px}.upload-drop{border:2px dashed var(--orange);text-align:center;color:var(--orange-dark);cursor:pointer;background:var(--orange-pale);border-radius:10px;padding:16px;font-size:13.5px;font-weight:700}table.data{border-collapse:collapse;border:1px solid var(--border);background:#fff;border-radius:12px;width:100%;overflow:hidden}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--grey-500);background:var(--surface);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px}table.data td{border-bottom:1px solid var(--grey-100);padding:13px 16px;font-size:14px}table.data tr:last-child td{border-bottom:none}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:var(--orange-pale)}.type-badge{letter-spacing:.4px;background:var(--orange-pale);color:var(--orange-dark);border-radius:5px;padding:3px 7px;font-size:10px;font-weight:800}.history-row{border-bottom:1px solid var(--grey-100);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.history-row .who{font-weight:700}.agenda-day{margin-bottom:22px}.agenda-day h3{text-transform:uppercase;letter-spacing:.6px;color:var(--grey-500);margin-bottom:10px;font-size:13px}.agenda-item{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:center;gap:14px;width:100%;margin-bottom:8px;padding:14px 18px;display:flex}.agenda-item:hover{border-color:var(--orange)}.agenda-icon{font-size:22px}.agenda-addr{font-weight:700}.agenda-kind{font-size:12.5px;font-weight:700}.agenda-sub{color:var(--grey-500);font-size:12.5px}.lightbox{z-index:50;cursor:zoom-out;background:#000000e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{border-radius:8px;max-width:92vw;max-height:92vh}.client-form{border:1px solid var(--border);background:#fff;border-radius:14px;max-width:760px;padding:28px}.field{margin-bottom:18px}.field>.label{margin-bottom:7px;font-size:13px;font-weight:700;display:block}.chip-row{gap:10px;display:flex}.chip-row .pick{background:var(--surface);color:var(--grey-500);text-align:center;border:1.5px solid #0000;border-radius:10px;flex:1;padding:13px 10px;font-weight:600}.chip-row .pick.on{background:var(--orange-pale);border-color:var(--orange);color:var(--grey-900)}.photo-grid{flex-wrap:wrap;gap:10px;display:flex}.photo-grid .ph{position:relative}.photo-grid img{object-fit:cover;border-radius:10px;width:110px;height:110px}.photo-grid .rm{color:#fff;background:#000000a6;border-radius:12px;width:24px;height:24px;font-size:12px;font-weight:700;position:absolute;top:6px;right:6px}.signup-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}
