:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#1b2d45;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}.topbar{background:white;border-bottom:1px solid #e0e7f0;padding:18px max(20px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px}.logo{background:#2563eb;color:#fff;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;font-size:23px;font-weight:800}.brand strong{font-size:18px}.brand strong span{font-weight:400}.brand small{display:block;color:#6a7a90;font-size:12px;margin-top:4px}main{max-width:1120px;margin:auto;padding:38px 20px 60px}h1{font-size:30px;line-height:1.2;letter-spacing:-.025em;margin:8px 0 10px}h2{font-size:18px;margin:0}.muted{color:#65758c;font-size:14px;line-height:1.6}.eyebrow{font-size:11px;letter-spacing:.12em;color:#426795;font-weight:800}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.button{min-height:43px;padding:10px 17px;border:1px solid #ccd8e6;border-radius:9px;background:white;color:#274268;font-weight:600;font-size:14px}.button:hover{background:#eef4ff}.primary{background:#2563eb;border-color:#2563eb;color:white}.primary:hover{background:#1d4ed8}.quiet{border-color:transparent}.panel{background:white;border:1px solid #dbe4ee;border-radius:16px;padding:28px;box-shadow:0 5px 20px #17395808}.login{max-width:440px;margin:36px auto 20px}.login form{display:grid;gap:20px;margin-top:25px}label{display:grid;gap:8px;font-size:14px;font-weight:600}input{width:100%;min-height:46px;border:1px solid #c8d4e3;border-radius:8px;padding:10px 12px}input:focus,button:focus-visible,summary:focus-visible{outline:3px solid #bfdbfe;outline-offset:2px}.read-note{display:flex;gap:12px;background:#eaf2ff;border:1px solid #d6e6ff;border-radius:10px;padding:13px 16px;color:#365c8d;margin:20px 0 26px;font-size:13px;line-height:1.6}.read-note p{margin:0}.tabs{display:flex;gap:8px;border-bottom:1px solid #dde5ef;padding-bottom:14px}.tab{display:flex;align-items:center;gap:12px;background:transparent;color:#59708d;border:0;padding:12px 16px;border-radius:9px;font-weight:700;font-size:15px}.tab.active{color:#1e56bf;background:#e4eeff}.tab span{background:#fff;border-radius:6px;padding:3px 8px;font-size:12px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 16px}.list-heading .muted{font-size:12px}.activities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.activity{background:#fff;border:1px solid #dce5f0;border-radius:13px;padding:20px;overflow-wrap:anywhere}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#6c7b90;margin-bottom:14px}.status{border-radius:6px;background:#edf2f8;color:#415b7a;padding:5px 8px;font-size:11px;font-weight:700}.activity h3{font-size:19px;line-height:1.35;margin:0 0 15px}.facts{margin:0;display:grid;gap:12px}.facts div{display:grid;gap:3px}.facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#738299}.facts dd{font-size:14px;margin:0;line-height:1.6;white-space:pre-wrap}.activity details{border-top:1px solid #e7edf5;margin-top:18px;padding-top:14px}.activity summary{font-size:13px;color:#2d63ad;font-weight:600;cursor:pointer}.details-content{margin-top:15px}.empty{grid-column:1/-1;text-align:center;padding:45px 24px;border:1px dashed #c7d5e5;border-radius:12px;color:#65758c;background:#fff}.empty h3{color:#263f61;font-size:18px;margin:0 0 8px}.empty p{font-size:14px;line-height:1.6;margin:0}.message{max-width:1080px;margin:18px auto;color:#506b8e;font-size:14px;line-height:1.6}.message.error{background:#fff1f1;border:1px solid #f4cccc;border-radius:10px;color:#9c3030;padding:12px 16px}footer{text-align:center;color:#8290a3;font-size:11px;padding:20px}@media(max-width:650px){main{padding:24px 16px 40px}.topbar{padding:14px 16px}.activities{grid-template-columns:1fr}.page-heading{align-items:flex-start}h1{font-size:25px}.list-heading{align-items:flex-start;flex-direction:column}.tab{flex:1;justify-content:center;padding:12px 8px;font-size:14px}.login{margin:12px auto}.panel{padding:24px}.read-note{margin:16px 0 20px}.activity{padding:18px}}

.completed-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:20px 0 0;font-size:14px;font-weight:600;cursor:pointer}.completed-toggle input{width:18px;min-height:18px;height:18px;margin:0;accent-color:#2563eb}.completed-toggle span{color:#738299;font-size:12px;font-weight:400}

dialog{border:1px solid #ccd8e8;border-radius:16px;max-width:560px;width:calc(100% - 28px);padding:26px;color:#1b2d45}dialog::backdrop{background:#15253e88}#reportForm{display:grid;gap:18px}#reportForm select,#reportForm textarea{width:100%;font:inherit;padding:10px;border:1px solid #cbd5e1;border-radius:8px}.report-actions{display:flex;justify-content:flex-end;gap:12px}#reportError{color:#9c3030;margin:0}

#reportDialog{max-width:850px;max-height:90vh;overflow:auto} .report-section{border-top:1px solid #dbe4ee;padding-top:18px}.report-section h3{margin:0 0 12px}.report-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;background:#f5f8fc;padding:12px;border-radius:10px;margin:12px 0}.report-row input{min-width:0}#laborRows .report-row{grid-template-columns:2fr 2fr 1fr auto}.report-actions{flex-wrap:wrap;position:sticky;bottom:-26px;background:white;padding:16px 0;border-top:1px solid #dbe4ee}#hoursTotal{display:block;margin-top:12px}.upload-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-controls input{font-size:13px;max-width:100%}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;overflow-wrap:anywhere}.attachment-link{display:block;margin:10px 0;color:#245abb}.report-history{border-left:3px solid #b8cff5;padding:12px;margin-top:16px;font-size:13px}.report-notes{white-space:pre-wrap}.report-history h3{font-size:15px}.report-history p{line-height:1.6}@media(max-width:650px){#reportDialog{padding:18px}.report-row,#laborRows .report-row{grid-template-columns:1fr 1fr}.report-row label:first-child{grid-column:1/-1}.upload-controls{grid-template-columns:1fr}.report-actions{bottom:-18px}.report-actions .button{flex:1}#laborRows .report-row label{grid-column:1/-1}}

.activity-search{margin:22px 0 0;padding:18px;background:white;border:1px solid #dce5f0;border-radius:12px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end}.activity-search input{min-width:0}.activity-search label{min-width:0}.activity-search p{grid-column:1/-1;margin:0;font-size:13px;line-height:1.5}.search-hint{color:#65758c}#filterSummary{font-weight:600;color:#274268}@media(max-width:750px){.activity-search{grid-template-columns:1fr 1fr}.search-name,.activity-search button{grid-column:1/-1}}

.appointment-toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:20px 0 12px}.appointment-toolbar select{font:inherit;border:1px solid #c8d4e3;border-radius:8px;padding:10px;min-height:43px;background:white;color:#274268;max-width:100%}.activity-list{display:flex;flex-direction:column;gap:9px}.activity-line{background:#fff;border:1px solid #dce5f0;border-radius:12px;overflow:hidden}.activity-line[open]{border-color:#87adee}.activity-line-summary{list-style:none;display:grid;grid-template-columns:175px minmax(0,1fr) auto 90px;align-items:center;gap:18px;padding:17px 20px;cursor:pointer}.activity-line-summary::-webkit-details-marker{display:none}.activity-line-summary:hover{background:#f3f7ff}.activity-line[open]>.activity-line-summary{background:#edf4ff}.activity-line-date{font-size:13px;font-weight:700;color:#365c8d}.activity-line-client{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.activity-line-client strong{font-size:15px}.activity-line-client small{font-size:12px;color:#65758c}.activity-line-open{color:#2860af;font-size:12px}.activity-line-body{padding:22px;border-top:1px solid #dce5f0;display:grid;gap:20px;overflow-wrap:anywhere}.activity-line-body>.button{justify-self:start}.activity-line-body>details{border-top:1px solid #e7edf5;padding-top:16px}.activity-line-body summary{cursor:pointer;color:#2860af;font-size:14px}.activity-location{border:1px solid #dce5f0;background:#f8faff;border-radius:10px;padding:16px}.activity-location p{font-size:14px;line-height:1.6;white-space:pre-wrap}.activity-location a{display:inline-block;text-decoration:none}.activity-line-summary .status{max-width:170px;overflow-wrap:anywhere}@media(max-width:650px){.activity-line-summary{grid-template-columns:1fr auto;gap:10px;padding:14px}.activity-line-date{grid-column:1/-1}.activity-line-client{grid-column:1}.activity-line-summary .status{grid-column:2;grid-row:2;max-width:100px}.activity-line-open{grid-column:1/-1}.activity-line-body{padding:16px}.appointment-toolbar label,.appointment-toolbar button{width:100%}.appointment-toolbar select{width:100%}}
