:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202521;background:#f4f1ea;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 15% 0%,#fff 0,transparent 32rem),#f4f1ea}button{font:inherit}main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:48px 0 36px}header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:30px}.header-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:8px}h1,h2,p{margin:0}h1{font-family:Georgia,serif;font-size:clamp(2.4rem,6vw,4.7rem);font-weight:500;letter-spacing:-.045em}h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.eyebrow{color:#7d786e;text-transform:uppercase;letter-spacing:.16em;font-size:.71rem;font-weight:800;margin-bottom:8px}.sync,.month-picker button{border:1px solid #d6d0c3;background:#fff9;color:#30362f;border-radius:999px;cursor:pointer;transition:.2s}.sync{padding:12px 18px}.sync:hover,.month-picker button:hover{background:#fff;transform:translateY(-1px)}.sync:disabled{opacity:.5;cursor:wait}.month-picker{background:#202722;color:#fff;border-radius:22px;padding:15px 18px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center;margin-bottom:18px;box-shadow:0 14px 35px #3541391c}.month-picker button{width:40px;height:40px;color:#fff;background:#ffffff10;border-color:#ffffff25}.month-picker div{display:grid;gap:2px}.month-picker strong{text-transform:capitalize;font-size:1.08rem}.month-picker span{color:#aeb8b0;font-size:.75rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{min-height:154px;border:1px solid #ded9ce;background:#ffffffb8;border-radius:20px;padding:20px;display:flex;flex-direction:column}.stat>span{color:#706c64;font-size:.85rem}.stat strong{font-family:Georgia,serif;font-size:2.65rem;font-weight:500;margin:auto 0 2px}.stat small{color:#8c887f}.stat.primary{background:#dce8d9;border-color:#cfddcc}.stat.meeting-tone{background:#e8e1d2}.stat.billable{background:#303a32;color:#fff}.stat.billable>span,.stat.billable small{color:#b9c1ba}.panel{background:#ffffffc7;border:1px solid #ded9ce;border-radius:22px;padding:24px;margin-top:16px;box-shadow:0 12px 35px #453d2b0a}.panel-title{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:20px}.nonfact{background:#f0ebe1;color:#695f51;border-radius:999px;padding:8px 12px;font-size:.8rem;font-weight:700}.meeting-total{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;border:1px solid #d9d2c5;background:#f2ede4;border-radius:16px;padding:14px 16px;margin-bottom:12px}.calendar-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#d8cbb4;font-size:1.5rem}.meeting-total div:nth-child(2){display:grid;gap:2px}.meeting-total span,.meeting-total small{color:#756f65}.meeting-total strong{font-size:1.35rem}.task-list{display:grid;gap:8px}.task-row{display:grid;grid-template-columns:minmax(260px,1fr) 90px 100px 90px 20px;gap:16px;align-items:center;padding:15px 16px;color:inherit;text-decoration:none;border:1px solid transparent;border-bottom-color:#e5e0d7;border-radius:13px;transition:.18s}.task-row:hover{background:#fff;border-color:#dcd6ca;transform:translate(2px)}.task-name,.task-row>div:not(.task-name){display:grid;gap:3px}.task-name span,.task-row>div:not(.task-name) span{color:#8a857b;font-size:.72rem}.task-row b{color:#78917c}.task-total{text-align:right}.chart-panel{min-height:350px}.method{color:#817c72;font-size:.8rem;max-width:460px;text-align:right;line-height:1.45}.hint{color:#817c72;font-size:.8rem;margin:-8px 0 12px;line-height:1.45}.chart-wrap{border-top:1px solid #ebe6dc;padding-top:20px}.chart{height:240px;display:flex;align-items:stretch;gap:clamp(2px,.65vw,8px);position:relative;padding-top:10px;border-bottom:1px solid #d9d4c9;background:repeating-linear-gradient(to bottom,#e9e5dc 0 1px,transparent 1px 58px)}.bar-column{flex:1;display:grid;grid-template-rows:1fr 22px;min-width:0;cursor:crosshair}.bar-stack{display:flex;flex-direction:column;justify-content:end;overflow:hidden;border-radius:5px 5px 0 0}.bar{min-height:0;transition:opacity .15s}.bar.task,.dot.task{background:#607b65}.bar.meeting,.dot.meeting{background:#d5a758}.bar-column:hover .bar{filter:brightness(1.08)}.bar-column>span{text-align:center;color:#969187;font-size:.66rem;padding-top:6px}.tooltip{position:absolute;z-index:4;top:10px;left:50%;transform:translate(-50%);display:grid;gap:4px;background:#202722;color:#fff;padding:11px 14px;border-radius:12px;box-shadow:0 8px 25px #0003;pointer-events:none;font-size:.76rem;white-space:nowrap}.tooltip span{color:#c2cbc4}.legend{display:flex;justify-content:center;gap:22px;padding-top:15px;color:#777269;font-size:.75rem}.legend span{display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.meeting-list{display:grid}.meeting-row{display:grid;grid-template-columns:1fr 180px 70px;align-items:center;gap:16px;border-top:1px solid #e8e3da;padding:14px 2px}.meeting-row div{display:grid;gap:3px}.meeting-row span,.meeting-row time{color:#888278;font-size:.76rem}.meeting-row b{text-align:right}.error,.demo,.warning{border-radius:14px;padding:13px 16px;margin:12px 0}.error{color:#8c2f2f;background:#fde6e4;border:1px solid #edcbc8}.demo{color:#624b1e;background:#fff2ce;border:1px solid #ebd99e}.warning{background:#fff5dc;border:1px solid #ead69e}.warning p{margin-top:5px;color:#736448}.loading,.empty{color:#8b867c;padding:32px 8px;text-align:center}footer{color:#9a958c;font-size:.72rem;text-align:center;padding:28px 0 0}code{font-family:ui-monospace,monospace}@media(max-width:820px){main{width:min(100% - 20px,680px);padding-top:26px}header{align-items:start}h1{font-size:2.7rem}.sync{font-size:.75rem;padding:10px 12px}.stats{grid-template-columns:1fr 1fr}.stat{min-height:125px}.stat strong{font-size:2.2rem}.task-row{grid-template-columns:1fr auto auto;gap:10px}.task-name{grid-column:1 / -1}.task-row>b{position:absolute;right:30px}.task-row{position:relative}.task-total{text-align:left}.method{display:none}}@media(max-width:480px){.stats{gap:8px}.stat{padding:15px;min-height:112px}.stat strong{font-size:1.8rem}.panel{padding:18px 14px}.meeting-total{grid-template-columns:42px 1fr}.meeting-total small{grid-column:2}.task-row{padding-inline:8px}.meeting-row{grid-template-columns:1fr auto}.meeting-row time{grid-column:1}.meeting-row b{grid-column:2;grid-row:1 / 3}}
