/* Kept self-contained so the same little timecard fits every site workspace. */
.cw-panel,.cw-toggle{--cw-paper:#fffefb;--cw-soft:#f3f4ef;--cw-ink:#233730;--cw-muted:#66756e;--cw-line:#dce3dc;--cw-accent:#236c53;--cw-on-accent:#fff;--cw-break:#9a651e;color-scheme:light;font:13px/1.45 Manrope,"Segoe UI",sans-serif;color:var(--cw-ink);box-sizing:border-box}
html[data-theme="dark"] :is(.cw-panel,.cw-toggle){--cw-paper:#1b2421;--cw-soft:#242f2a;--cw-ink:#edf3ec;--cw-muted:#aab8af;--cw-line:#3a4840;--cw-accent:#a2d3b7;--cw-on-accent:#163d2d;--cw-break:#edbf78;color-scheme:dark}
.cw-panel *,.cw-panel *::before,.cw-panel *::after,.cw-toggle *{box-sizing:border-box}
.cw-toggle,.site-account .cw-toggle{position:relative;margin:0;min-height:40px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;padding:9px;border:1px solid var(--cw-line);border-radius:9px;background:var(--cw-paper);color:var(--cw-ink);cursor:pointer;flex-shrink:0;vertical-align:middle}
.cw-toggle svg{display:block;width:20px;height:20px;max-width:none}
.cw-toggle:hover,.cw-toggle[aria-expanded="true"],.site-account .cw-toggle:hover,.site-account .cw-toggle[aria-expanded="true"]{background:var(--cw-soft);border-color:var(--cw-accent);color:var(--cw-accent)}
.cw-dot{display:none;position:absolute;right:0;bottom:0;width:8px;height:8px;border:2px solid var(--cw-paper);border-radius:50%;background:var(--cw-accent)}
.cw-toggle[data-state="working"] .cw-dot,.cw-toggle[data-state="break"] .cw-dot{display:block}
.cw-toggle[data-state="break"] .cw-dot{background:var(--cw-break)}
.cw-toggle--floating{position:fixed;left:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:490;width:40px;height:40px;box-shadow:0 4px 18px #12322520}
.cw-panel{position:fixed;z-index:540;width:286px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--cw-line);border-radius:18px;background:var(--cw-paper);box-shadow:0 16px 48px #0d2b2424,0 2px 7px #0d2b2410;isolation:isolate;text-align:left;letter-spacing:normal;scrollbar-width:thin}
.cw-toggle[hidden],.cw-panel[hidden],.cw-panel [hidden]{display:none!important}
.cw-panel button,.cw-panel input,.cw-panel select{font:inherit;letter-spacing:normal;text-transform:none;margin:0;min-height:0;box-shadow:none}
.cw-panel button,.cw-panel a,.cw-toggle{touch-action:manipulation}
.cw-header{display:flex;align-items:center;gap:4px;padding:9px 10px 8px 9px;border-bottom:1px solid var(--cw-line);position:sticky;top:0;background:var(--cw-paper);z-index:1}
.cw-panel .cw-drag{display:flex;align-items:center;gap:5px;flex:1;min-width:0;border:0;border-radius:6px;padding:4px 0;background:none;color:var(--cw-ink);font-size:12px;font-weight:650;cursor:grab;touch-action:none;user-select:none;text-align:left}
.cw-drag svg{display:block;width:12px;height:20px;color:var(--cw-muted);flex-shrink:0}
.cw-panel .cw-status{font-size:10px;font-weight:500;line-height:1.6;color:var(--cw-muted);margin-left:auto;white-space:nowrap}
.cw-panel[data-state="working"] .cw-status{color:var(--cw-accent)}
.cw-panel[data-state="break"] .cw-status{color:var(--cw-break)}
.cw-panel .cw-close{border:0;background:none;color:var(--cw-muted);width:28px;min-height:28px;padding:0;border-radius:50%;font-size:21px;line-height:1;cursor:pointer}
.cw-panel .cw-close:hover{background:var(--cw-soft);color:var(--cw-ink)}
.cw-body{padding:12px 14px 10px}
.cw-time{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.cw-time-label{font-size:10px;color:var(--cw-muted)}
.cw-elapsed{font-size:23px;font-weight:550;letter-spacing:-.7px;font-variant-numeric:tabular-nums;line-height:1.2}
.cw-form{display:grid;gap:9px;margin:0}
.cw-field{display:grid;gap:4px;margin:0;min-width:0}
.cw-field>span{font-size:10px;font-weight:600;color:var(--cw-muted)}
.cw-panel :is(input,select){display:block;width:100%;height:34px;min-height:34px;min-width:0;border:1px solid var(--cw-line);border-radius:8px;padding:6px 9px;background:var(--cw-soft);color:var(--cw-ink);font-size:12px;line-height:1.4;text-overflow:ellipsis}
.cw-panel select{padding-right:22px;appearance:auto}
.cw-panel input::placeholder{color:var(--cw-muted);opacity:1}
.cw-panel :is(input,select):disabled{opacity:1;color:var(--cw-muted);-webkit-text-fill-color:var(--cw-muted);cursor:default}
.cw-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:2px 0}
.cw-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}
.cw-metrics>div+div{border-left:1px solid var(--cw-line);padding-left:12px}
.cw-metrics span{font-size:9px;line-height:1.3;color:var(--cw-muted)}
.cw-metrics strong{font-size:12px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.cw-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cw-panel .cw-actions button{display:inline-flex;justify-content:center;align-items:center;min-height:36px;padding:7px 8px;border:1px solid var(--cw-line);border-radius:9px;background:var(--cw-soft);color:var(--cw-ink);font-size:12px;font-weight:600;cursor:pointer}
.cw-panel .cw-actions .cw-punch{background:var(--cw-accent);color:var(--cw-on-accent);border-color:var(--cw-accent)}
.cw-panel .cw-actions button:disabled{opacity:.48;cursor:default}
.cw-panel .cw-actions button:not(:disabled):hover{filter:brightness(.92)}
.cw-panel .cw-message{margin:9px 0 7px;font-size:10px;line-height:1.5;color:var(--cw-muted);max-width:none;overflow-wrap:anywhere}
.cw-footer{display:flex;align-items:center;gap:8px;min-height:21px;font-size:10px}
.cw-panel .cw-app-link{color:var(--cw-accent);text-decoration:none;font-weight:600}
.cw-panel .cw-app-link:hover{text-decoration:underline}
.cw-save{margin-left:auto;color:var(--cw-muted);font-size:9px}
.cw-panel .cw-retry,.cw-panel .cw-backup{background:none;border:0;padding:2px 4px;color:var(--cw-accent);font-size:10px;text-decoration:underline;cursor:pointer}
.cw-panel :is(button,input,select,a):focus-visible,.cw-toggle:focus-visible{outline:2px solid var(--cw-accent);outline-offset:3px}
.cw-panel.cw-dragging{user-select:none;box-shadow:0 20px 58px #0d2b2430}
.cw-dragging .cw-drag{cursor:grabbing}
@media(max-width:600px){.cw-panel :is(input,select){font-size:16px}.cw-panel .cw-actions button{min-height:40px}.cw-panel .cw-close{width:32px;min-height:32px}}
@media print{.cw-panel,.cw-toggle{display:none!important}}
