:root {
  --bg:#d8d8d8;
  --panel:#efefef;
  --ink:#171717;
  --muted:#606060;
  --line:#7a7a7a;
  --light:#ffffff;
  --shadow:#9a9a9a;
  --urgent:#f5d6d6;
  --waiting:#f3e7c5;
  --upcoming:#dce7f2;
  --later:#e4e4e4;
  --accent:#303030;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Geneva,Chicago,"Helvetica Neue",Arial,sans-serif;font-size:15px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
a{color:inherit}
.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px;background:#ededed;border-bottom:2px solid #555;box-shadow:0 2px 0 #fff inset}
h1{font-size:21px;margin:0 0 2px}.subtitle{font-size:12px;color:var(--muted)}
.top-actions{display:flex;gap:8px;align-items:center}.primary,.secondary,.danger,.big-choice{border:2px solid #222;border-radius:5px;padding:8px 12px;background:#fff;box-shadow:2px 2px 0 #777}.primary{background:#222;color:#fff}.secondary{background:#f8f8f8}.danger{background:#f2d3d3}.primary:active,.secondary:active,.danger:active,.big-choice:active{box-shadow:none;transform:translate(1px,1px)}
main{max-width:1180px;margin:0 auto;padding:18px}
.inbox-window{margin-bottom:14px;background:#ececec;border:1px solid #777;border-top-color:#fff;border-left-color:#fff}.inbox-window summary{cursor:pointer;padding:9px 12px;font-weight:700;user-select:none}.inbox-window[open] summary{border-bottom:1px solid #999}.inbox-body{padding:10px 12px 12px}.inbox-body textarea{width:100%;resize:vertical;border:2px inset #ccc;background:white;padding:8px}.inbox-row{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.hint{color:var(--muted);font-size:12px}.inbox-body .hint{margin:0 0 7px}
.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.summary-strip>div{background:#f4f4f4;border:1px solid #777;border-top-color:#fff;border-left-color:#fff;padding:10px 12px;display:flex;align-items:baseline;gap:7px}.summary-strip strong{font-size:23px}.summary-strip span{font-size:12px;color:var(--muted)}
.focus-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 12px;padding:7px 8px;background:#ececec;border:1px solid #999;border-top-color:#fff;border-left-color:#fff}.focus-label{font-size:12px;font-weight:700;margin-right:2px}.focus-button{border:1px solid #555;background:#f6f6f6;padding:5px 9px;border-radius:3px;font-size:12px}.focus-button.active{background:#222;color:#fff;box-shadow:1px 1px 0 #777}
.toolbar{display:grid;grid-template-columns:1fr 190px;gap:10px;margin-bottom:16px}.toolbar input,.toolbar select,.form-body input,.form-body select,.form-body textarea{width:100%;border:2px inset #ccc;background:white;padding:8px;border-radius:2px}
.board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-window{background:var(--panel);border:2px solid #333;box-shadow:3px 3px 0 #8d8d8d}.titlebar{background:linear-gradient(#666,#424242);color:white;padding:6px 9px;font-weight:700;letter-spacing:.2px;border-bottom:1px solid #111}.section-body{padding:8px;min-height:88px}.empty{color:var(--muted);padding:14px;text-align:center;font-size:13px}
.record-card{background:#fff;border:1px solid #777;border-top-color:#eee;border-left-color:#eee;margin:6px 0;padding:10px;cursor:pointer}.record-card:hover{outline:2px solid #444}.card-top{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.card-title{font-weight:700}.amount{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.meta{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.tag{font-size:11px;border:1px solid #888;padding:2px 5px;background:#eee;border-radius:3px}.next,.waiting-line{font-size:13px;margin-top:5px}.next strong,.waiting-line strong{font-weight:700}.waiting-line{color:#494949}.card-footer{margin-top:7px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:8px}.record-card.urgent{background:var(--urgent)}.record-card.waiting{background:var(--waiting)}.record-card.upcoming{background:var(--upcoming)}.record-card.later{background:var(--later)}
footer{max-width:1180px;margin:12px auto 0;padding:0 18px 20px;color:#555;font-size:11px;display:flex;justify-content:space-between;gap:12px}.sync-label{font-weight:700}.sync-label[data-mode="shared"]{color:#2f5f38}.sync-label[data-mode="syncing"],.sync-label[data-mode="saving"],.sync-label[data-mode="saving-inbox"]{color:#735e11}.sync-label[data-mode="offline-copy"],.sync-label[data-mode="save-failed"],.sync-label[data-mode="delete-failed"],.sync-label[data-mode="inbox-issue"]{color:#8a1d1d}
.identity-gate{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.38);display:grid;place-items:center;padding:20px}.window{background:#e9e9e9;border:2px solid #222;box-shadow:5px 5px 0 rgba(0,0,0,.35)}.identity-window{width:min(420px,100%)}.identity-body{padding:22px;text-align:center}.identity-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.big-choice{font-size:20px;padding:18px;background:#fff}
.record-dialog{width:min(760px,calc(100% - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:0;border:2px solid #222;background:#e9e9e9;box-shadow:5px 5px 0 rgba(0,0,0,.35)}.record-dialog::backdrop{background:rgba(0,0,0,.38)}.form-body{padding:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.form-body label{display:block;font-size:12px;font-weight:700;margin-bottom:10px}.form-body label input,.form-body label select,.form-body label textarea{margin-top:4px;font-weight:400}.form-body small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.form-actions{display:flex;gap:8px;margin-top:12px}.spacer{flex:1}
@media(max-width:760px){.topbar{align-items:flex-start}.subtitle{display:none}.top-actions{flex-direction:column;align-items:stretch}.board{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.topbar h1{font-size:19px}main{padding:12px}.record-dialog{width:calc(100% - 12px)}.inbox-row{align-items:stretch;flex-direction:column}.focus-strip{position:sticky;top:80px;z-index:3}}
