:root{color:#17211d;background:#f5f5f2;font-family:Inter,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--green: #1a7afd;--green-deep: #0f62d4;--green-soft: #e8f2ff;--ink: #17211d;--muted: #6d7772;--line: #dfe3df;--paper: #ffffff;--red: #a63d36}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1{margin:0;font-size:27px;letter-spacing:-.035em}h2{font-size:1rem}small,.muted{color:var(--muted)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:#f1f2ef}.login-card{width:min(100%,390px);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 18px 55px #192b2314;display:grid;gap:16px}.login-copy{margin:28px 0 8px}.login-copy p{margin:8px 0 0;color:var(--muted);line-height:1.5}.login-card label,label{display:grid;gap:7px;font-size:12px;font-weight:650;color:#46504b;letter-spacing:.015em}input,textarea,select{width:100%;border:1px solid #d6dbd7;background:#fafbf9;color:var(--ink);border-radius:10px;padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:#7aafff;box-shadow:0 0 0 3px #1a7afd29}.primary-button,.secondary-button,.danger-button{border:0;border-radius:10px;padding:11px 18px;font-weight:700}.primary-button{background:var(--green);color:#fff}.primary-button:hover{background:var(--green-deep)}.primary-button.small{padding:8px 14px}.full{width:100%}button:disabled{opacity:.55;cursor:default}.privacy-footnote{text-align:center;color:var(--muted);font-size:11px;margin:6px 0 0}.forgot-link{justify-self:start;padding:0}.text-button,.danger-link{border:0;background:none;color:var(--green);padding:4px;font-weight:650;font-size:12px}.danger-link{color:var(--red)}.shot-frame .danger-link{position:absolute;right:.5rem;bottom:.5rem;background:#ffffffeb;border-radius:999px;padding:6px 10px}.notice,.form-error{color:#862f2b;background:#fae9e7;border:1px solid #f0cdca;border-radius:9px;padding:10px 12px;font-size:12px;line-height:1.45;margin:0 0 1rem}.notice.success,.form-success{color:#1b6245;background:#e5f3ec;border:1px solid #c5e2d4}.notice.info,.notice:not(.error):not(.success){color:#314039;background:var(--green-soft);border-color:#c9ddfb}.brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:750;letter-spacing:.14em;white-space:nowrap}.brand span{display:grid}.brand small{margin-top:2px;letter-spacing:.04em;font-weight:600;font-size:11px}.brand-mark{width:32px;height:32px;display:block}.brand.compact{letter-spacing:.08em}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:#f6f8fb}.app-header{min-height:64px;padding:8px 20px;display:flex;align-items:center;gap:18px;background:#ffffffdb;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.section-nav{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto}.nav-item{border:0;background:none;border-radius:9px;padding:8px 12px;color:#7b847f;font-size:13px;font-weight:650;white-space:nowrap}.nav-item:hover,.nav-item.active{color:var(--green);background:var(--green-soft)}.account-card{display:flex;align-items:center;gap:8px;margin-left:auto}.account-card span:nth-child(2){display:grid;font-size:13px}.account-card small{font-size:11px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--green-soft);color:var(--green-deep);display:grid;place-items:center;font-weight:800;font-size:12px}.avatar.small{width:32px;height:32px}.content{padding:clamp(1.25rem,2.5vw,2.25rem);max-width:1560px;width:100%;margin:0 auto}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin:0 0 1.5rem}.page-header p:not(.eyebrow){color:var(--muted);max-width:700px;margin:0;line-height:1.55}.eyebrow{color:var(--green);letter-spacing:.13em;font-size:10px;font-weight:800;margin-bottom:.45rem}.eyebrow.danger{color:var(--red)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.metric,.panel,.request-card,.diary-block,.empty-card{background:var(--paper);border:1px solid var(--line);border-radius:16px}.metric{padding:1.25rem;display:grid;gap:.35rem}.metric>span{color:var(--muted);font-size:.8rem}.metric>strong{font-size:1.8rem;letter-spacing:-.04em}.panel{overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.2rem;border-bottom:1px solid var(--line)}.panel-title h2{margin:0}.status-dot{font-size:.75rem;color:#597068}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:.45rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{padding:.9rem 1.15rem;text-align:left;border-bottom:1px solid #ecece6}th{color:var(--muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}.empty{text-align:center;padding:2rem;color:#78817d}.storage-panel{margin-bottom:1rem}.storage-body{display:grid;gap:1rem;padding:1.1rem 1.2rem 1.3rem}.storage-actions{display:flex;flex-wrap:wrap;gap:.6rem}.storage-list{display:grid;gap:.7rem}.storage-place{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem}.storage-place>div:first-child{display:grid;gap:.15rem}.storage-place small{color:var(--muted)}.storage-sharepoint,.storage-settings{display:grid;gap:.7rem}.storage-settings h3,.storage-sharepoint h3{margin:0}.choice{display:flex;align-items:center;gap:.55rem;font-weight:600}.choice input{width:auto}.secondary-button{background:#eef3f1;color:var(--ink)}.storage-place .row-actions{flex-wrap:wrap;justify-content:flex-end}.person{display:flex;align-items:center;gap:.65rem}.person>span:last-child{display:grid}.pill{display:inline-block;width:fit-content;padding:.2rem .5rem;border-radius:999px;background:#e5e9e7;color:#50615a;font-size:.68rem;font-weight:800;text-transform:capitalize}.pill.active,.pill.approved{background:#e5f0ff;color:#0f62d4}.pill.disabled,.pill.rejected{background:#f7dfdd;color:#843832}.pill.pending{background:#fff1ce;color:#70571c}.diary-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem}.diary-toolbar select{width:auto;min-width:9rem}.view-pills{display:inline-flex;padding:3px;border-radius:999px;background:#e7ebe8;gap:2px}.view-pill{border:0;background:transparent;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:700;color:#50615a;cursor:pointer}.view-pill.active{background:#fff;color:#0f62d4;box-shadow:0 1px 2px #17211d14}.diary-day{display:grid;gap:.7rem}.diary-day h2{margin:0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#717a75}.diary-hours{display:grid;gap:1.35rem}.diary-hour{display:grid;grid-template-columns:108px minmax(0,1fr);gap:1rem;align-items:start}.diary-hour-meta{position:relative;text-align:right;padding:.35rem 1.35rem 0 0}.diary-hour-meta strong{display:block;font-size:.92rem;letter-spacing:-.02em}.diary-hour-meta span{color:var(--muted);font-size:.75rem}.diary-hour-meta:before{content:"";position:absolute;right:4px;top:14px;bottom:-1.7rem;width:2px;background:#d5e4f7}.diary-hour:last-child .diary-hour-meta:before{bottom:auto;height:0}.diary-hour-meta:after{content:"";position:absolute;right:0;top:10px;width:10px;height:10px;border-radius:50%;background:#2f7cf6;box-shadow:0 0 0 4px #f5f5f2}.diary-cards{display:flex;flex-wrap:wrap;gap:.85rem;min-width:0}.diary-shot{flex:1 1 210px;max-width:280px;display:grid;gap:.55rem;justify-items:center;padding:.55rem .55rem .7rem;background:#fff;border:1px solid #e6ebf2;border-radius:16px;box-shadow:0 1px 2px #192e4c0a}.diary-shot .shot-frame{width:100%;min-height:0;border-radius:12px;background:#101418}.diary-shot .shot-content,.diary-shot .shot-frame img,.diary-shot .shot-open{width:100%;height:124px;min-height:0}.diary-shot .shot-frame img{object-fit:cover}.diary-shot-meta{width:100%;display:flex;justify-content:space-between;gap:.6rem;padding:0 .15rem;font-size:.82rem}.diary-shot-meta span{color:var(--muted)}.diary-delete{border:1px solid #f3c4c4;background:#fff;color:#e15a5a;border-radius:999px;padding:5px 12px;font-size:.75rem;font-weight:650}.diary-delete:hover{background:#fff6f6}.shot-open{display:block;border:0;padding:0;background:transparent;cursor:zoom-in}.shot-open img{display:block}.shot-alert{position:absolute;top:8px;right:8px;z-index:2;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e5484d;color:#fff;box-shadow:0 2px 6px #b4202059}.shot-alert svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.shot-alert:hover:after,.shot-alert:focus-visible:after{content:"Looks suspicious";position:absolute;top:calc(100% + 6px);right:0;white-space:nowrap;background:#1c2430;color:#fff;font-size:.72rem;font-weight:650;padding:4px 8px;border-radius:6px}.shot-lightbox{background:#10161cb8}.shot-lightbox figure{margin:0;display:grid;justify-items:end;gap:.7rem}.shot-lightbox img{max-width:min(1100px,92vw);max-height:82vh;border-radius:12px;background:#111;object-fit:contain}.shot-lightbox button{border:0;border-radius:999px;background:#fff;padding:8px 14px;font-weight:700}.image-caption .suspicious-mark,.block-details .suspicious-mark{color:#8a3d36;font-weight:700}.diary-list,.card-list{display:grid;gap:.9rem}.diary-block{display:grid;grid-template-columns:100px minmax(240px,38%) minmax(280px,1fr);overflow:hidden}.block-time{padding:1rem;display:grid;align-content:start;gap:.3rem;border-right:1px solid var(--line)}.block-time span{font-size:.75rem;color:var(--muted)}.shot-frame{min-height:180px;background:#e8ebe8;position:relative;display:grid;place-items:center;overflow:hidden}.shot-content{width:100%;height:100%;min-height:180px;display:grid;place-items:center}.shot-frame img{width:100%;height:100%;min-height:180px;object-fit:contain}.preview-button{background:#f7faf8;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.missing-shot{padding:1.2rem;color:#314039;text-align:center;display:grid;gap:.45rem}.missing-shot span{color:var(--muted);font-size:.75rem;line-height:1.45}.block-details{padding:1rem 1.2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.block-details>div{display:flex;flex-direction:column;gap:.35rem;min-width:0}.block-details small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.label{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.request-card{padding:1.2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.request-card h2{margin:.55rem 0 .35rem}.request-card p{margin-bottom:.45rem}.row-actions,.modal-actions{display:flex;gap:.6rem}.row-actions button:not(.primary-button){background:#edf0ed;color:#314039;border:0;border-radius:10px;padding:11px 18px;font-weight:700}.review-controls{display:grid;justify-items:end;gap:.4rem}.request-error{color:#862f2b;font-size:.75rem;margin-top:.7rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.empty-card{padding:2rem;color:var(--muted);text-align:center}.date-range-card{min-width:255px;display:flex;align-items:center;gap:.7rem;border:1px solid #dfe5ec;background:#fff;border-radius:12px;padding:.65rem .8rem;box-shadow:0 1px 2px #192e4c08}.date-range-card>span:last-child{display:grid;gap:.12rem}.date-range-card strong{font-size:.8rem}.date-range-card small{font-size:.68rem}.week-picker{display:flex;align-items:center;gap:.45rem}.week-picker>button{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #dfe5ec;border-radius:9px;background:#fff;color:#31506f;font-size:1rem;box-shadow:0 1px 2px #192e4c08}.week-picker>button:hover:not(:disabled){color:var(--green);border-color:#abcdf5;background:#f5f9ff}.week-picker>button:disabled{color:#aeb7c2;background:#f2f4f7}.icon-box{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px}.icon-box.blue{color:#1477ec;background:#e9f3ff}.icon-box.green{color:#09a860;background:#e3f8ee}.icon-box.amber{color:#f09a18;background:#fff2df}.icon-box.violet{color:#7255e9;background:#f0edff}.overview-icon{width:22px;height:22px;display:block}.overview-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem}.overview-metric{min-width:0;padding:1rem;display:flex;align-items:flex-start;gap:.8rem;border-radius:13px;box-shadow:0 2px 8px #1d314d06}.metric-action{text-align:left}.metric-action:hover{border-color:#abcdf5}.metric-action:focus-visible{outline:2px solid #1a7afd;outline-offset:2px}.modal.balance-details{width:min(850px,100%);max-height:85vh;overflow-y:auto}.balance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.balance-person{margin-top:1.5rem}.balance-person h3{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem}.balance-person h3 span{color:#8a5a16;white-space:nowrap}.balance-details p{font-size:.8rem;color:#617086}.balance-details table{min-width:600px}.balance-reset{margin:1.2rem 0 0}.overview-metric>.icon-box{color:inherit;font-size:inherit}.overview-metric .metric-copy{min-width:0;display:grid;gap:.18rem}.overview-metric .metric-copy>span{color:#617086;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-metric .metric-copy>strong{color:#101b35;font-size:1.35rem;line-height:1.12;letter-spacing:-.035em}.overview-metric .metric-copy>small{font-size:.66rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.75rem;align-items:stretch}.overview-layout>.panel,.daily-card{border-color:#e1e6ec;border-radius:13px;box-shadow:0 2px 8px #1d314d06}.hours-card{grid-column:span 6}.coverage-card,.source-card{grid-column:span 3}.team-card{grid-column:span 12}.task-card{grid-column:span 8}.insights-card{grid-column:span 4}.overview-panel-title{min-height:65px;padding:.85rem 1rem;gap:1rem}.overview-panel-title>div:first-child{min-width:0}.overview-panel-title h2{color:#101b35;font-size:.94rem;letter-spacing:-.015em}.overview-panel-title p{margin:.2rem 0 0;color:#718096;font-size:.68rem;line-height:1.35}.overview-link{white-space:nowrap}.chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;color:#6f7b8f;font-size:.65rem}.chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.chart-controls{display:grid;justify-items:end;gap:.45rem}.overview-select{width:auto;min-width:145px;padding:.4rem 1.8rem .4rem .6rem;border-radius:8px;background-color:#fff;color:#33435b;font-size:.69rem}.legend-swatch{width:8px;height:8px;border-radius:2px}.legend-swatch.automatic{background:#2785f7}.legend-swatch.manual{background:#8fc8ff}.legend-swatch.weekend{background:#c9b8a0}.chart-column.weekend .bar-automatic{background:linear-gradient(180deg,#d7c4a4,#c4a574)}.chart-column.weekend .bar-manual{background:#dfd0b8}.chart-column.weekend .bar-label{color:#9a7b4f}.weekend-row{background:#fbf8f3}.weekend-tag{color:#9a7b4f;font-weight:600}.carry-pill{display:inline-flex;padding:.2rem .55rem;border-radius:999px;background:#fff4df;color:#8a5a16;font-weight:700;font-size:.72rem}.legend-line{width:16px;border-top:1px dashed #8b9ab0}.hours-card.panel{overflow:visible}.hours-chart{display:grid;grid-template-columns:54px minmax(0,1fr);padding:1.1rem 1rem .75rem .4rem;min-height:258px}.chart-scale{height:190px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:.45rem;color:#8390a3;font-size:.61rem;white-space:nowrap}.chart-plot{height:190px;position:relative;border-bottom:1px solid #dfe5ed;background:repeating-linear-gradient(to bottom,#eef2f6 0,#eef2f6 1px,transparent 1px,transparent 50%);margin-bottom:45px;overflow:visible}.chart-bars{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.35rem,1vw,.8rem);padding:0 .35rem;overflow:visible}.chart-column{height:100%;min-width:0;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:visible}.chart-column:focus-visible{outline:2px solid #7aafff;outline-offset:2px}.chart-column[role=button]{cursor:pointer}.chart-column[aria-disabled=true]{cursor:default}.bar-tooltip{display:none;position:absolute;z-index:5;left:50%;top:.35rem;width:max-content;min-width:150px;max-width:220px;transform:translate(-50%);padding:.55rem .65rem;border:1px solid #dbe3ed;border-radius:9px;background:#fffffffa;box-shadow:0 10px 28px #1b2f4c29;color:#657389;font-size:.61rem;line-height:1.35;pointer-events:none;white-space:nowrap}.chart-column:first-child .bar-tooltip{left:0;transform:none}.chart-column:last-child .bar-tooltip{left:auto;right:0;transform:none}.bar-tooltip strong,.bar-tooltip span{display:block}.bar-tooltip strong{margin-bottom:.22rem;color:#17233b;font-size:.67rem}.bar-tooltip .positive{margin-top:.22rem;color:#07884a;font-weight:700}.bar-tooltip .negative{margin-top:.22rem;color:#d63e4c;font-weight:700}.chart-column:hover .bar-tooltip,.chart-column:focus-visible .bar-tooltip{display:block}.bar-track{width:min(46px,75%);height:100%;display:flex;align-items:flex-end}.bar-stack{width:100%;min-height:1px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:5px 5px 1px 1px;overflow:hidden;box-shadow:0 0 0 1px #1477ec0a}.bar-automatic{width:100%;background:linear-gradient(180deg,#3993fa,#1477ec)}.bar-manual{width:100%;background:#8fc8ff}.bar-value{position:absolute;left:50%;transform:translate(-50%);color:#6e7d91;font-size:.58rem;white-space:nowrap}.bar-label{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);display:grid;justify-items:center;gap:.1rem;color:#8490a2;font-size:.6rem;white-space:nowrap}.bar-label strong{color:#5e6b7d;font-weight:650}.target-line{position:absolute;z-index:2;left:0;right:0;border-top:1px dashed #7890aa;pointer-events:none}.target-line span{position:absolute;right:0;bottom:3px;padding-left:.3rem;background:#ffffffe6;color:#728197;font-size:.57rem}.coverage-value{color:#24324b;font-size:.82rem;white-space:nowrap}.coverage-body{padding:1.05rem 1rem 1rem;display:grid;gap:.9rem}.progress-track{height:15px;position:relative;border-radius:99px;background:#e8edf3}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#11b968,#20c979)}.progress-track:focus-visible{outline:2px solid #7aafff;outline-offset:3px}.progress-tooltip{display:none;position:absolute;z-index:4;left:50%;bottom:calc(100% + .5rem);width:max-content;max-width:220px;transform:translate(-50%);padding:.42rem .55rem;border:1px solid #dbe3ed;border-radius:8px;background:#fff;box-shadow:0 8px 22px #1b2f4c24;color:#40516a;font-size:.61rem}.progress-track:hover .progress-tooltip,.progress-track:focus-visible .progress-tooltip{display:block}.progress-labels{display:flex;justify-content:space-between;gap:.6rem;color:#68768a;font-size:.65rem}.progress-labels span{display:inline-flex;align-items:center;gap:.35rem}.status-bullet{width:8px;height:8px;display:inline-block;border-radius:50%}.status-bullet.good{background:#12ba68}.status-bullet.blue{background:#2785f7}.status-bullet.amber{background:#f5a623}.coverage-callout{margin-top:.2rem;display:flex;align-items:center;gap:.7rem;border-radius:11px;padding:.8rem;background:#f3f7fc}.coverage-callout>span:last-child{min-width:0;display:grid;gap:.15rem}.coverage-callout strong{color:#1f2d45;font-size:.72rem}.coverage-callout small{line-height:1.35;font-size:.65rem}.source-body{min-height:205px;padding:1rem;display:grid;grid-template-columns:minmax(100px,135px) 1fr;gap:1rem;align-items:center}.donut{width:130px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative}.donut:focus-visible{outline:2px solid #7aafff;outline-offset:3px}.donut:before{content:"";position:absolute;inset:24%;border-radius:50%;background:#fff}.donut>span{z-index:1;display:grid;justify-items:center}.donut strong{color:#17223a;font-size:1.25rem}.donut small{font-size:.6rem}.donut-tooltip{display:none;position:absolute;z-index:4;left:50%;bottom:-2rem;width:max-content;max-width:180px;transform:translate(-50%);padding:.42rem .55rem;border:1px solid #dbe3ed;border-radius:8px;background:#fff;box-shadow:0 8px 22px #1b2f4c24;color:#40516a;font-size:.61rem}.donut:hover .donut-tooltip,.donut:focus-visible .donut-tooltip{display:block}.source-legend{display:grid;gap:.8rem}.source-legend>div{display:grid;gap:.2rem;border-radius:8px;padding:.35rem;transition:background .15s ease}.source-legend>div:hover{background:#f3f7fc}.source-legend span{display:flex;align-items:center;gap:.38rem;color:#69768a;font-size:.66rem}.source-legend strong{color:#24314a;font-size:.78rem}.overview-table{table-layout:auto}.overview-table th{background:#fbfcfd;font-size:.61rem}.overview-table th,.overview-table td{padding:.72rem 1rem}.overview-table td{color:#536176;font-size:.75rem}.overview-table td strong{color:#152039}.target-badge{width:fit-content;display:inline-flex;align-items:center;gap:.25rem;border-radius:8px;padding:.28rem .5rem;font-size:.66rem;font-weight:700;white-space:nowrap}.target-badge.met{color:#07884a;background:#e5f8ef}.target-badge.below{color:#d63e4c;background:#ffeaed}.insight-list{display:grid;padding:.25rem 1rem .45rem}.insight-list>button,.insight-list>div{width:100%;min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.65rem 0;border:0;border-bottom:1px solid #edf0f4;background:transparent;text-align:left}.insight-list>div{grid-template-columns:38px minmax(0,1fr)}.insight-list>:last-child{border-bottom:0}.insight-list>button:hover{background:#f9fbfd}.insight-list>button>span:nth-child(2),.insight-list>div>span:nth-child(2){min-width:0;display:grid;gap:.12rem}.insight-list strong{color:#233149;font-size:.72rem}.insight-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem}.insight-list b{color:#6e7e93;font-size:1.1rem;font-weight:400}.insight-list .icon-box{width:34px;height:34px;flex-basis:34px;border-radius:50%}.insight-list .overview-icon{width:19px;height:19px}.task-count{color:#52647b;font-size:.69rem;font-weight:700;white-space:nowrap}.task-summary{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:.8rem 1rem;border-bottom:1px solid #edf0f4;background:#fbfcfe}.task-summary>div{display:grid;gap:.1rem}.task-summary span{color:#6d7a8e;font-size:.64rem}.task-summary strong{color:#16223a;font-size:1rem}.task-summary small{font-size:.61rem}.task-time-list{min-height:120px;display:grid;align-content:start;gap:.6rem;padding:.85rem 1rem}.task-time-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(90px,1fr) auto;gap:.7rem;align-items:center;border-radius:8px;padding:.25rem}.task-time-row:hover,.task-time-row:focus-visible{background:#f5f8fc;outline:none}.task-time-row>span{min-width:0;display:grid;gap:.08rem}.task-time-row strong,.task-time-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-time-row strong{color:#27354d;font-size:.69rem}.task-time-row small{font-size:.59rem}.task-time-row b{min-width:48px;color:#536176;font-size:.67rem;text-align:right;white-space:nowrap}.task-time-track{height:9px;overflow:hidden;border-radius:99px;background:#e8edf3}.task-time-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6fb5fb,#2785f7)}.task-empty{padding:1.2rem .4rem;color:#7a8798;font-size:.68rem;text-align:center}.trello-note{margin:0 1rem 1rem;display:flex;align-items:center;gap:.6rem;border-radius:10px;padding:.65rem .75rem;background:#f2f7fd;color:#287aca}.trello-note .overview-icon{width:18px;height:18px;flex:0 0 18px}.trello-note>span{display:grid;gap:.08rem}.trello-note strong{color:#29415f;font-size:.66rem}.trello-note small{font-size:.6rem;line-height:1.3}.daily-card{margin-top:.75rem}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#17211d73;display:grid;place-items:center;padding:1rem}.modal{width:min(520px,100%);border-radius:20px;background:#fff;padding:1.6rem;box-shadow:0 18px 55px #192b231f;border:1px solid var(--line)}.modal p{line-height:1.55}.modal.day-details{width:min(850px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto}.day-details-date{color:var(--muted);font-size:.85rem}.day-details-total{font-size:.85rem}.day-details-total>span{color:var(--muted)}.day-details-total>strong{font-size:1rem}.day-task-table{table-layout:fixed}.day-task-table th:first-child{width:46%}.day-task-table th:nth-child(2){width:22%}.day-task-table th:last-child{width:32%}.day-task-table td{overflow-wrap:anywhere}.day-task-share{display:flex;align-items:center;gap:.65rem}.day-task-track{flex:1;min-width:0;height:10px;border-radius:99px;background:#e8edf3;overflow:hidden}.day-task-track>span{display:block;height:100%;border-radius:inherit;background:var(--green)}.day-task-percentage{flex-shrink:0;min-width:3.5em;text-align:right;font-variant-numeric:tabular-nums;font-size:.75rem}.day-details-state{padding:1rem 0}@media(max-width:520px){.modal.day-details{padding:1rem}.day-details .overview-table th,.day-details .overview-table td{padding:.65rem .55rem}.day-task-share{flex-direction:column-reverse;align-items:stretch;gap:.35rem}.day-task-track{flex:none}}.check{display:flex;gap:.7rem;align-items:start;padding:.85rem;background:#f7f8f6;border-radius:10px;font-size:.82rem}.check input{width:auto;margin:.15rem 0 0}.modal-actions{justify-content:flex-end;margin-top:1rem}.danger-button{background:var(--red);color:#fff}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.report-page-actions{display:flex;flex-wrap:nowrap;flex-shrink:0;align-items:center;justify-content:flex-end;gap:.7rem}.export-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;background:#fff;border:1px solid var(--line);font-size:.8rem}.report-backdrop{background:#1a263a80;backdrop-filter:blur(5px)}.modal.report-export{width:min(1250px,100%);max-height:calc(100dvh - 2rem);padding:0;overflow:hidden;border-radius:16px;color:#10192e;border-color:#e0e5ef}.report-export-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 2rem)}.report-icon{display:block;width:24px;height:24px;flex:0 0 24px}.export-trigger .report-icon{width:17px;height:17px;flex-basis:17px}.report-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:25px 32px 24px}.report-heading h2{font-size:28px;letter-spacing:-.035em;margin:0 0 6px}.report-export .report-heading p{font-size:16px;color:#6b7690;margin:0;max-width:none}.report-close{border:0;background:transparent;padding:4px;color:#63718b;border-radius:6px}.report-close:hover{color:var(--green);background:var(--green-soft)}.report-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:stretch;gap:18px;padding:4px 22px 24px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.report-fields{display:grid;align-content:start;gap:16px;border:0;padding:0;margin:0;min-width:0}.report-section{border:1px solid #e3e8f1;border-radius:12px;padding:17px;background:#fff;min-width:0}.report-section h3{display:flex;align-items:center;gap:11px;font-size:18px;letter-spacing:-.02em;margin:0 0 14px}.report-section h3 .report-icon{width:22px;height:22px;flex-basis:22px}.report-date-presets{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:17px}.report-chip{border:1px solid #dce2ed;background:#fff;color:#35435c;border-radius:999px;font-size:12px;padding:8px 10px;font-weight:550}.report-chip.active{color:var(--green-deep);background:#f4f8ff;border-color:#8bbaff}.report-date-inputs,.report-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-export label{font-size:13px;font-weight:500;color:#35435c;letter-spacing:0}.report-export input[type=date],.report-export select{min-width:0;background:#fff;border-color:#d4dbe7;border-radius:8px;padding:11px 12px;color:#10192e}.report-export p.report-hint{color:#748099;font-size:12px;margin:11px 0 0;line-height:1.5}.report-content-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-preset{display:flex;align-items:flex-start;gap:18px;text-align:left;border:1px solid #dce2ed;border-radius:11px;padding:18px;background:#fff;min-width:0}.report-preset .report-icon{margin-top:2px;width:27px;height:27px;flex-basis:27px}.report-preset>span{display:grid;gap:7px}.report-preset strong{font-size:16px;letter-spacing:-.015em}.report-preset small{color:#6b7690;font-size:14px;line-height:1.5}.report-preset.active{border-color:var(--green);background:linear-gradient(115deg,#f3f7ff,#edf3ff)}.report-preset.active strong,.report-preset.active>.report-icon{color:var(--green-deep)}.report-includes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 12px}.report-export .report-choice{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#10192e}.report-choice input{accent-color:var(--green);margin:2px 0 0;width:17px;height:17px;flex:0 0 17px}.report-choice span{display:grid;gap:5px}.report-choice small{color:#748099;font-size:11px;line-height:1.4}.report-selects{margin-top:19px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-preview{padding:23px 20px;border:1px solid #e3ebfa;border-radius:12px;min-width:0;background:linear-gradient(120deg,#f7faff,#f3f6fc)}.report-preview h3{margin:0 0 8px;font-size:18px;letter-spacing:-.02em}.report-export .report-preview>p{margin:0 0 22px;color:#6b7690;font-size:14px}.report-preview-table{border:1px solid #dfe6f1;border-radius:8px;overflow:hidden;background:#ffffff8c}.report-preview-table table{table-layout:fixed;font-size:14px}.report-preview-table th,.report-preview-table td{padding:15px;border-right:1px solid #e3e8f2;border-bottom:1px solid #e3e8f2;line-height:1.45;overflow-wrap:anywhere}.report-preview-table th{text-transform:none;color:#18233c;background:#f1f4fa;font-size:14px;letter-spacing:0;font-weight:650}.report-preview-table th:first-child{width:48%}.report-preview-table td{color:#45536d}.report-preview-table th:last-child,.report-preview-table td:last-child{border-right:0}.report-preview-total{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:15px 0;color:#526079}.report-preview-total strong{color:#15233f}.report-preview-note{display:flex;align-items:flex-start;gap:14px;border:1px solid #dce8ff;background:#f0f5ff;padding:17px;border-radius:9px;margin-top:18px}.report-preview-note .report-icon{color:var(--green);width:21px;height:21px;flex-basis:21px;margin-top:2px}.report-export .report-preview-note p{margin:0;font-size:12px;color:#6b7690;line-height:1.6}.report-preview-state{display:grid;justify-items:start;align-content:center;gap:14px;min-height:190px;font-size:13px;color:#6b7690}.report-loading-dot{width:20px;height:20px;border:2px solid #d7e7ff;border-top-color:var(--green);border-radius:50%;animation:report-spin .8s linear infinite}.report-written-preview{border-top:1px solid #dfe6f1;padding-top:16px;margin-top:2px}.report-written-preview h4{margin:0 0 8px;font-size:12px}.report-export .report-written-preview p{color:#45536d;font-size:13px;margin:0 0 8px;line-height:1.6}.report-written-preview small{font-size:11px;color:#748099}.report-export .report-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e4e9f2;padding:14px 22px;background:#fff}.report-footer-status{font-size:12px;min-width:0}.report-download-success{color:#1b6245}.report-export .modal-actions{flex:0 0 auto;margin:0;gap:12px}.report-export .modal-actions button{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 21px;font-size:14px;border-radius:8px}.report-export .modal-actions .secondary-button{border:1px solid #d4dbe7;background:#fff}.report-export .modal-actions .report-icon{width:19px;height:19px;flex-basis:19px}.report-export p.report-error,.report-export .report-error{color:var(--red);font-size:12px;margin:8px 0 0}.report-export button:focus-visible{outline:3px solid #a8ccff;outline-offset:2px}@keyframes report-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.report-loading-dot{animation:none}}@media(max-width:950px){.report-body{grid-template-columns:1fr}.report-preview{min-height:220px;height:max-content}}@media(max-width:680px){.report-page-actions{width:100%}.report-page-actions .week-picker{flex:1;width:auto;min-width:0}.report-page-actions .date-range-card{min-width:0;flex:1}.report-page-actions .export-trigger{flex:0 0 40px;width:40px;height:40px;padding:0}.export-trigger-label{display:none}}@media(max-width:520px){.report-page-actions{justify-content:flex-start;width:100%}.report-page-actions .date-range-card .icon-box{display:none}.report-heading{padding:18px 16px 14px}.report-heading h2{font-size:23px}.report-export .report-heading p{font-size:12px}.report-body{padding:0 12px 14px;gap:12px}.report-fields{gap:12px}.report-section{padding:13px}.report-section h3{font-size:15px;gap:8px}.report-date-inputs,.report-selects{gap:10px}.report-export input[type=date],.report-export select{font-size:12px;padding:10px 7px}.report-chip{font-size:11px;padding:7px 9px}.report-content-presets{gap:8px}.report-preset{padding:12px;gap:9px}.report-preset .report-icon{width:18px;height:18px;flex-basis:18px}.report-preset strong{font-size:12px}.report-preset small{font-size:11px}.report-includes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.report-export .report-choice{font-size:12px;gap:7px}.report-selects{grid-template-columns:1fr}.report-preview{padding:16px 13px}.report-preview-table th,.report-preview-table td{padding:10px;font-size:11px}.report-export .report-footer{flex-wrap:wrap;gap:8px;padding:10px 12px}.report-footer-status:empty{display:none}.report-export .modal-actions{margin-left:auto;gap:8px}.report-export .modal-actions button{font-size:12px;padding:11px 14px}}@media(max-width:420px){.report-date-inputs{grid-template-columns:1fr}}.skeleton-grid i{height:120px;border-radius:16px;background:linear-gradient(90deg,#e7ebe8,#f7f8f6,#e7ebe8);background-size:200%;animation:pulse 1.4s infinite}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}@keyframes pulse{to{background-position:-200%}}@media(max-width:980px){.app-header{flex-wrap:wrap;height:auto}.section-nav{order:3;width:100%}.diary-block{grid-template-columns:80px 1fr}.block-details{grid-column:1 / -1}}@media(max-width:680px){.content{padding:1.2rem}.metric-grid{grid-template-columns:1fr}.page-header,.request-card{align-items:stretch;flex-direction:column}.account-card span:nth-child(2){display:none}.diary-block,.diary-hour{grid-template-columns:1fr}.diary-hour-meta{text-align:left;padding:0 0 .2rem 1.2rem}.diary-hour-meta:before{left:4px;right:auto;bottom:-1.2rem}.diary-hour-meta:after{left:0;right:auto}.block-time{border-right:0;border-bottom:1px solid var(--line)}.block-details{grid-template-columns:1fr}}@media(max-width:1240px){.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.hours-card{grid-column:span 12}.coverage-card,.source-card{grid-column:span 6}.team-card,.task-card,.insights-card{grid-column:span 12}}@media(max-width:760px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-card,.source-card{grid-column:span 12}.chart-legend{display:none}.chart-controls{justify-items:stretch}.source-body{min-height:0;grid-template-columns:130px 1fr;justify-content:center}.overview-table th,.overview-table td{padding:.7rem .8rem}}@media(max-width:520px){.overview-metrics{grid-template-columns:1fr}.date-range-card{width:100%;min-width:0}.week-picker{width:100%}.week-picker .date-range-card{flex:1}.hours-chart{grid-template-columns:44px minmax(0,1fr);padding-right:.5rem}.chart-bars{gap:.25rem;padding:0 .2rem}.bar-track{width:72%}.bar-label strong{font-size:.55rem}.bar-label span{display:none}.source-body{grid-template-columns:1fr;justify-items:center}.source-legend{width:100%;grid-template-columns:1fr 1fr}}
