:root{color-scheme:light;--purple:#392666;--red:#bd393b;--ink:#292338;--muted:#625c6c;--line:#dcd8e2;--pale:#f3f0f7;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);background:#f7f6f9}
*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem max(1.2rem,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem 1rem}.brand strong{font-size:1.2rem;color:var(--purple);letter-spacing:-.04em}.brandCopy{color:var(--muted);font-size:.77rem}
#settingsMenu{position:relative;flex:none}#settingsToggle{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.4rem .8rem;list-style:none;border:1px solid var(--line);border-radius:.5rem;color:var(--purple);font-size:.9rem;font-weight:650;cursor:pointer}#settingsToggle::-webkit-details-marker{display:none}#settingsToggle::after{content:"";width:.4rem;height:.4rem;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg)}#settingsMenu[open] #settingsToggle{background:var(--pale)}#settingsMenu[open] #settingsToggle::after{transform:translateY(2px) rotate(225deg)}
.settingsPanel{position:absolute;right:0;top:calc(100% + .45rem);z-index:5;width:min(18rem,calc(100vw - 2rem));padding:.35rem .85rem;background:white;border:1px solid var(--line);border-radius:.65rem;box-shadow:0 6px 20px #29233818;overflow-wrap:anywhere}.settingsPanel>div{padding:.55rem 0}#categorySettings{border-bottom:1px solid var(--line)}.settingsPanel small,.settingsPanel p{display:block;margin:0 .4rem}.settingsPanel p{font-size:.87rem}.settingsPanel button{display:block;width:100%;min-height:44px;text-align:left;padding:.35rem .4rem;border:0;background:white;color:var(--purple)}.settingsPanel button:hover:enabled{background:var(--pale)}
main{max-width:1240px;margin:auto;padding:clamp(1.25rem,4vw,2.5rem) 1.2rem}h1,h2,h3,p{margin:0 0 .65rem}h1{font-size:clamp(1.65rem,4vw,2.15rem);line-height:1.35;color:var(--purple)}h2{font-size:1.22rem;color:var(--purple)}h3{font-size:.95rem;color:var(--purple)}.eyebrow{color:var(--red);font-size:.7rem;font-weight:750;letter-spacing:.15em;margin:0 0 .2rem}.intro,.hint,small{color:var(--muted)}.intro{margin-bottom:1.3rem}.hint,small{font-size:.82rem}.hint{line-height:1.7}.panel,dialog{padding:clamp(1.05rem,2.5vw,1.6rem);background:white;border:1px solid var(--line);border-radius:.8rem}.login{max-width:450px}.googleLogin{background:white;color:#28282b;border:1px solid #747775;min-height:44px;width:100%}#methodDivider{margin:1.15rem 0 .65rem;border-top:1px solid var(--line);padding-top:.8rem}
label,legend{font-weight:650;font-size:.87rem}label{display:grid;gap:.3rem;margin-bottom:.85rem;min-width:0}input,select,textarea,button{font:inherit}input,select,textarea{display:block;width:100%;max-width:100%;min-width:0;padding:.55rem .65rem;border:1px solid #a8a2b1;border-radius:.4rem;background:white;color:var(--ink);font-size:1rem;min-height:44px}textarea{resize:vertical;line-height:1.65}button{cursor:pointer;border:1px solid var(--purple);border-radius:.4rem;background:var(--purple);color:white;min-height:44px;padding:.45rem .85rem;font-size:.9rem;font-weight:660}button.secondary{color:var(--purple);background:white;border-color:var(--line)}button.textButton{padding:.35rem .15rem;background:transparent;border-color:transparent;color:var(--purple);font-size:.82rem}button.danger{color:#922c30}button.compact{padding:.35rem .65rem;font-size:.8rem}button:hover:enabled{filter:brightness(.94)}button:disabled{cursor:default;opacity:.55}:focus-visible{outline:3px solid #8064bd;outline-offset:2px}input[type=checkbox]{width:1.1rem;min-width:1.1rem;min-height:1.1rem;height:1.1rem;margin:0;accent-color:var(--purple)}.checkLabel{display:flex;align-items:flex-start;gap:.6rem;line-height:1.5}.checkLabel input{margin-top:.15rem}
.headingRow,.actions,.timeRow{display:flex;align-items:center;gap:.65rem}.headingRow{justify-content:space-between;align-items:flex-start}.headingRow h2{margin:0}.headingRow h3{margin:0}.actions{flex-wrap:wrap;margin-top:.85rem;gap:.65rem}.badge{color:var(--purple);background:var(--pale);font-size:.76rem;font-weight:700;padding:.2rem .65rem;border-radius:1rem;white-space:nowrap}.emptyState{font-size:.9rem;color:var(--muted);padding:1rem 0}.contextBar{display:flex;align-items:end;gap:1rem;margin-bottom:1rem;padding:1rem 1.4rem}.contextBar label{margin:0;flex:0 1 200px}.contextBar .companyLabel{flex:1;max-width:500px}.viewTabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin:1rem 0 1.3rem}.viewTabs button{border:0;border-radius:0;background:transparent;color:var(--muted);padding:.7rem 1.1rem;border-bottom:3px solid transparent}.viewTabs button[aria-pressed=true]{color:var(--purple);border-bottom-color:var(--purple)}
.entryLayout{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:1.2rem}.entryPanel>.hint{margin-top:.75rem}.entryCard{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.6rem;background:#fff}.entryCard>.headingRow{margin-bottom:.6rem;align-items:center}.entryFields{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(180px,1.7fr);gap:0 1rem}.entryFields .durationField{grid-column:1 / -1;max-width:330px;margin-bottom:0}.entryFields label{margin-bottom:.65rem}.addButton{width:100%;margin:1rem 0 0;border-style:dashed!important}.travelSection{margin-top:1.5rem;padding:1.1rem 0;border-top:1px solid var(--line)}.travelSection .durationField{max-width:360px;margin-bottom:0}fieldset{border:0;padding:0;margin:0 0 .9rem;min-width:0}legend{padding:0;margin-bottom:.25rem}.timeRow label{margin:0;font-weight:500;flex:1}.timeRow label>span{font-size:.75rem;color:var(--muted)}fieldset small{display:block;margin-top:.2rem}.totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:1rem;background:var(--pale);border-radius:.5rem}.totals span,.totals strong{display:block}.totals span{font-size:.74rem;color:var(--muted)}.totals strong{font-size:1.03rem;color:var(--purple)}#entryNotice{margin-top:.7rem}.dayListPanel>.headingRow{margin-bottom:1rem}.dayListPanel h2{font-size:1.05rem}.daySummary{padding:.85rem 0;border-top:1px solid var(--line)}.daySummary.selected{border-left:3px solid var(--purple);padding-left:.6rem}.daySummary p{font-size:.85rem;margin:0}.daySummary small{display:block}.dayLink{color:var(--purple);background:transparent;border:0;padding:.2rem 0;min-height:36px;text-align:left;font-size:.94rem}#syncStatus{font-size:.72rem}#message{background:var(--pale);border-left:3px solid var(--purple);padding:.65rem .85rem;margin-bottom:1rem;overflow-wrap:anywhere}#message.error{color:#922c30}
.reportControls{margin-bottom:1.2rem}.reportPeriod{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin-top:1.1rem}.reportPeriod label{flex:0 1 220px}.reportPeriod>button{margin-bottom:.85rem}.reportControls>label{max-width:680px;margin-top:.65rem}.reportLayout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1.2rem}.reportLayout:has(#reportEditPanel[hidden]){display:block}.reportLayout:has(#reportEditPanel[hidden]) .previewPanel{max-width:850px;margin:0 auto}.previewLabel{font-size:.78rem;color:var(--muted);margin:.1rem 0 .5rem}.reportPaper{background:white;border:1px solid var(--line);box-shadow:0 2px 12px #29233808;padding:clamp(1.1rem,3vw,2.3rem);overflow-wrap:anywhere}.reportHead{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--purple);padding-bottom:1rem;margin-bottom:1.3rem}.reportHead p{font-size:.9rem}.reportHead h2{font-size:1.5rem;margin:.5rem 0 0}.reportSection{padding:.2rem 0 .9rem;margin-bottom:.8rem;border-bottom:1px solid var(--line)}.reportSection h3{border-left:3px solid var(--red);padding-left:.6rem;font-size:.98rem}.reportSection p,.reportDetail p{white-space:pre-wrap;font-size:.9rem;line-height:1.85}.reportDetail{padding:.6rem 0;border-bottom:1px solid #ebe8ef}.reportDetail strong,.reportDetail small{display:block}.reportDetail strong{font-size:.82rem;color:var(--purple)}.reportDetail p{margin:.3rem 0}.reportTotal{text-align:right;font-weight:650;margin-top:.7rem!important}.reportFooter{color:var(--purple);font-size:.85rem;text-align:right;padding-top:.5rem}.reportEditRow{padding:.8rem 0;border-top:1px solid var(--line)}.reportEditRow>strong,.reportEditRow>small{display:block}.reportEditRow label{margin:.5rem 0 0}.reportEditRow>strong{font-size:.85rem}.reportEditRow small{font-size:.75rem}.reportEditRow textarea{font-weight:400}#reportRowsDetails{margin-top:1rem}summary{cursor:pointer;color:var(--purple);font-weight:650;min-height:36px}#reportRowsDetails>.hint{margin-top:.4rem}.approvalControls{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1.1rem}.approvalControls>.hint{margin-top:.6rem}#reportExports{margin:1.2rem 0}.reportControls>.hint{margin:.6rem 0}#saveHelp{margin-top:.8rem}#exportNotice,#reportNotice{overflow-wrap:anywhere}
.categoryItem{padding:.8rem 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.categoryItem .headingRow{align-items:center}.categoryItem details{margin-top:.4rem}.categoryItem summary{padding:.35rem 0}#categoryMessage{color:var(--purple);margin:.6rem 0}.historyItem{border-top:1px solid var(--line);padding:.9rem 0}.historyColumns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.historyColumns>div{background:var(--pale);padding:.75rem;border-radius:.4rem}.historyColumns p,.historyItem p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}.historyColumns strong{display:block;font-size:.85rem;margin-bottom:.4rem}dialog{color:var(--ink);width:min(620px,calc(100% - 2rem));max-height:85dvh}dialog::backdrop{background:#21182c77}
@media(max-width:1000px){.entryLayout{grid-template-columns:minmax(0,1fr) 250px}.entryFields{grid-template-columns:1fr}.reportLayout{grid-template-columns:1fr}.reportPaper{max-width:850px;margin:auto}.brandCopy{display:none}}
@media(max-width:760px){.entryLayout{grid-template-columns:1fr}.masthead{padding:.65rem 1rem}.masthead strong{font-size:1.05rem}main{padding:1.25rem .85rem}.panel{padding:1rem}.contextBar{display:grid;grid-template-columns:1fr;gap:.8rem}.contextBar label,.contextBar .companyLabel{max-width:none}.entryCard{padding:.8rem}.entryFields{display:block}.entryFields .durationField{max-width:none}.headingRow{gap:.45rem}.headingRow .badge{font-size:.7rem}.entryCard .headingRow .textButton{font-size:.76rem}.totals{gap:.5rem;padding:.8rem}.totals strong{font-size:.91rem}.totals span{font-size:.68rem}.viewTabs button{flex:1;padding:.6rem .5rem}.reportPeriod{display:grid;grid-template-columns:1fr;gap:0}.reportPeriod>button{width:100%;margin:.1rem 0 .8rem}.reportPaper{padding:1.1rem}.reportHead h2{font-size:1.3rem}.historyColumns{grid-template-columns:1fr}.brand{gap:.1rem}#settingsToggle{font-size:.82rem;padding:.35rem .6rem}.actions>button{flex-grow:1}.reportLayout{gap:1rem}.dayListPanel{margin-top:.1rem}}
@media print{body{background:white}.masthead,main>h1,main>.eyebrow,main>.intro,#message,.contextBar,.viewTabs,.reportControls,#reportEditPanel,#reportExports,.previewLabel{display:none!important}.reportPaper{border:0;box-shadow:none;max-width:none}.reportLayout{display:block}main{padding:0}.reportSection,.reportDetail{break-inside:avoid}}
.recoveryPanel{margin-bottom:1.2rem;max-width:820px}.recoveryPanel details{margin-top:1rem}.recoveryPanel textarea{margin-top:.5rem;font-weight:400}.buttonLink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.45rem .85rem;border:1px solid var(--line);border-radius:.4rem;color:var(--purple);background:white;font-size:.9rem;font-weight:650;text-decoration:none}#recoveryNotice{margin-top:.7rem;color:#922c30}
.issueListPanel>.headingRow{gap:1rem;align-items:center}.issueListPanel>.headingRow>.headingRow{flex:1}.issueListPanel>.headingRow .hint{margin:.5rem 0 0}.issueListPanel>.headingRow>button{flex:none}.issueFilters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,180px) auto;gap:1rem;align-items:end;margin:1.2rem 0 .5rem}.issueFilters label{margin:0}.issueFilters button{height:44px}.issueCard{padding:1.1rem 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.issueCard>.headingRow{gap:.8rem;align-items:flex-start}.issueTitle{background:transparent;color:var(--purple);border:0;padding:.1rem 0;text-align:left;min-height:36px;font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.issueLabels{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:wrap;flex:none;max-width:45%}.issuePriorityHigh,.issuePrivate{font-size:.72rem;white-space:nowrap}.issuePriorityHigh{color:#922c30;font-weight:700}.issuePrivate{color:var(--muted)}.issueExcerpt{font-size:.88rem;color:var(--muted);white-space:pre-wrap;margin:.4rem 0 .6rem}.issueCardFooter{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.issueCardFooter>.actions{margin:0;gap:.55rem}.issueCardFooter>small{font-size:.75rem}.issueEditor{margin-top:1.2rem;scroll-margin-top:1rem}.issueEditor>.headingRow{margin-bottom:1rem}.issueOptions{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:1rem}.issueText{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;padding:.8rem;background:var(--pale);border-radius:.4rem;margin:.4rem 0}.issueEditor #issueOriginal{margin:1rem 0}.issueEditor #issueNotice{margin:.75rem 0 0}#issuePages{justify-content:space-between;padding-top:.7rem;border-top:1px solid var(--line)}#issueHistoryContext{overflow-wrap:anywhere}#issueHistory .historyColumns small{display:block}#issueListNotice{overflow-wrap:anywhere}
@media(max-width:760px){.issueListPanel>.headingRow{flex-wrap:wrap}.issueFilters{grid-template-columns:minmax(0,1fr) minmax(110px,.6fr);gap:.65rem}.issueFilters>label:first-child{grid-column:1 / -1}.issueFilters>button{align-self:end}.issueCard>.headingRow{display:block}.issueLabels{justify-content:flex-start;max-width:none;margin-top:.35rem}.issueCardFooter{display:block}.issueCardFooter>.actions{margin-top:.5rem}.issueOptions{grid-template-columns:1fr 1fr;gap:0 .75rem}.issueOptions>label:last-child{grid-column:1 / -1}.issueListPanel>.headingRow>button{width:100%}#issuePages{gap:.4rem}#issuePages button{flex-grow:0;padding:.4rem .55rem;font-size:.8rem}#issuePageSummary{font-size:.75rem}.issueCardFooter .actions>button{flex-grow:0}}
