:root{color-scheme:light;font-family:Manrope,system-ui,sans-serif;background:#f7f7f5;color:#111}*{box-sizing:border-box}body{margin:0;background:#f7f7f5}button,input{font-family:inherit}.app{min-height:100vh;padding:32px 48px 56px;display:flex;flex-direction:column;gap:32px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(circle at top,#fff,#f3f3ef 45%,#e9e7df)}.login-card{width:min(420px,100%);background:#fff;border-radius:28px;padding:32px;box-shadow:0 24px 60px #11111129;display:flex;flex-direction:column;gap:20px}.login-header{display:flex;flex-direction:column;gap:8px}.login-title{margin:0;font-size:28px;font-weight:700;letter-spacing:.12em}.login-subtitle{margin:0;color:#5c5c5c;font-size:14px}.login-form{display:flex;flex-direction:column;gap:16px}.login-form label{display:flex;flex-direction:column;gap:10px;font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:#5c5c5c}.login-form input{border:1px solid #e0e0e0;border-radius:14px;padding:12px 14px;font-size:15px;outline:none}.login-error{margin:0;color:#c92d2d;font-size:13px}.login-lock{margin:0;color:#111;font-size:12px}.topbar{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;flex-direction:column;gap:6px}.logo-mark{font-size:28px;font-weight:700;letter-spacing:.04em}.logo-sub{color:#5c5c5c;font-size:13px;text-transform:uppercase;letter-spacing:.2em}.topbar-actions{display:flex;gap:12px;align-items:center}.timer{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;border:1px solid #d8d5cd;background:#fdfcf9}.timer-display{font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:13px;min-width:60px;text-align:center}.timer-controls{display:flex;gap:6px}.sync-status{font-size:12px;color:#5c5c5c;text-transform:uppercase;letter-spacing:.16em}.sync-status.alert{color:#c92d2d}.btn{border:none;background:#111;color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #1111112e}.btn.ghost{background:transparent;border:1px solid #111;color:#111;box-shadow:none}.btn.ghost:hover{box-shadow:0 6px 18px #1111111f}.btn.logout{background:#111;color:#fff;border:1px solid #111;box-shadow:none}.btn.small{padding:8px 14px;font-size:13px}.btn.danger{background:#c92d2d;color:#fff}.btn.ghost.danger{background:transparent;border-color:#c92d2d;color:#c92d2d}.summary{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.summary-card{background:#fff;border-radius:24px;padding:24px;box-shadow:0 20px 60px #11111114;display:flex;gap:24px;align-items:center}.summary-card.highlight{background:#111;color:#fff;flex-direction:column;align-items:stretch;gap:18px}.summary-card label{display:flex;flex-direction:column;gap:10px;font-size:13px;color:#5c5c5c;width:100%}.summary-card input{border:none;border-bottom:1px solid #d5d5d5;padding:10px 0;font-size:16px;outline:none;background:transparent;color:inherit}.input-prefix{display:flex;align-items:center;gap:8px}.input-prefix span{color:inherit;font-weight:600}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.2em;margin:0 0 8px;color:#fff9}.summary-card.highlight h2{margin:0;font-size:28px}.summary-card-header{display:flex;justify-content:space-between;align-items:center}.summary-range-label{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:#fff9}.summary-range{position:relative}.summary-range select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;padding:6px 30px 6px 12px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;cursor:pointer}.summary-range:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-35%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #fff;pointer-events:none}.summary-metrics{display:flex;justify-content:space-between;gap:24px}.workspace{display:grid;grid-template-columns:320px 1fr;gap:24px;flex:1}.projects{background:#fff;border-radius:24px;padding:20px;box-shadow:0 18px 40px #11111114;display:flex;flex-direction:column;gap:16px}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h3{margin:0}.project-list{display:flex;flex-direction:column;gap:10px}.project-row{border:1px solid transparent;background:#f6f6f6;padding:16px;border-radius:16px;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:border .2s ease,background .2s ease}.project-row.active{background:#fff;border-color:#111}.project-name{margin:0 0 6px;font-weight:600}.project-meta{margin:0;color:#5c5c5c;font-size:13px}.chevron{font-size:20px;color:#111}.project-actions{display:flex;align-items:center;gap:12px}.project-rate{display:inline-flex;align-items:center;gap:4px;background:#fff;border-radius:999px;padding:5px 6px;border:1px solid #e4e4e4;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#5c5c5c}.project-rate input{border:none;background:transparent;width:44px;text-align:right;font-size:12px;font-weight:600;color:#111;outline:none}.project-rate input::-webkit-outer-spin-button,.project-rate input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.project-rate input[type=number]{-moz-appearance:textfield}.archived-toggle{border:none;background:transparent;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#5c5c5c;cursor:pointer;padding:6px 2px 0}.project-detail{background:#fff;border-radius:24px;padding:28px;box-shadow:0 20px 60px #11111114;display:flex;flex-direction:column;gap:24px}.detail-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.project-title{font-size:24px;font-weight:600;border:none;outline:none;background:transparent;width:100%}.detail-actions{display:flex;gap:10px}.tabs{display:inline-flex;padding:6px;border-radius:999px;background:#f1f1f1;gap:6px;align-self:flex-start}.tab{border:none;background:transparent;padding:8px 18px;border-radius:999px;font-weight:600;cursor:pointer}.tab.active{background:#111;color:#fff}.entries{display:flex;flex-direction:column;gap:16px}.entries-header{display:grid;grid-template-columns:1.1fr .6fr .6fr 40px;font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:#5c5c5c}.entry-row{display:grid;grid-template-columns:1.1fr .6fr .6fr 40px;gap:12px;align-items:center;border-bottom:1px solid #efefef;padding-bottom:12px}.entry-row input{padding:8px 10px;border-radius:10px;border:1px solid #e4e4e4;background:#fafafa}.icon-button{border:none;background:#f1f1f1;border-radius:12px;width:36px;height:36px;cursor:pointer}.text-button{border:none;background:transparent;color:#111;font-size:12px;text-transform:uppercase;letter-spacing:.16em;cursor:pointer}.empty-state{border:1px dashed #d3d3d3;border-radius:20px;padding:32px;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center;color:#5c5c5c}.calendar{display:flex;flex-direction:column;gap:18px}.calendar-header{display:flex;justify-content:space-between;align-items:center}.calendar-title{display:flex;align-items:center;gap:14px}.calendar-toggle{display:inline-flex;background:#f1f1f1;padding:4px;border-radius:999px;gap:4px}.calendar-range{margin:0;font-size:16px;font-weight:600}.calendar-toggle-btn{border:none;background:transparent;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer}.calendar-toggle-btn.active{background:#111;color:#fff}.calendar-actions{display:flex;gap:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-grid-scroll{width:100%;min-width:0}.calendar-day{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:#5c5c5c}.calendar-cell{border-radius:16px;padding:12px;background:#f6f6f6;min-height:90px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;position:relative}.calendar-cell.today{background:#fff;border:1px solid #111;box-shadow:0 10px 24px #11111114}.calendar-cell.editing{background:#fff;border:1px solid #111}.calendar-cell.muted{background:transparent}.calendar-date{font-weight:600}.calendar-hours{display:flex;flex-direction:column;gap:4px;font-size:12px}.calendar-empty{color:#b0b0b0;font-size:12px}.calendar-add{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:999px;border:1px solid #e4e4e4;background:#fff;color:#7a7a7a;font-size:16px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.calendar-edit{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-radius:10px;border:1px solid #e4e4e4;padding:6px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#5c5c5c}.calendar-edit input{border:none;background:transparent;width:50px;text-align:right;font-size:13px;font-weight:600;color:#111;outline:none}.calendar-edit input::-webkit-outer-spin-button,.calendar-edit input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calendar-edit input[type=number]{-moz-appearance:textfield}@media (max-width: 1024px){.app{padding:24px}.summary,.workspace{grid-template-columns:1fr}}@media (max-width: 720px){.app{padding:24px 20px 40px;gap:24px}.login-card{padding:24px}.login-title{font-size:24px;letter-spacing:.08em}.topbar{flex-direction:column;align-items:flex-start;gap:16px}.logo-mark{font-size:24px}.logo-sub{font-size:12px;letter-spacing:.16em}.topbar-actions{width:100%;flex-direction:column;align-items:stretch;gap:10px}.topbar-actions .btn{width:100%}.timer{width:100%;justify-content:space-between;padding:8px 12px}.timer-controls{flex:1;justify-content:flex-end}.timer .btn{width:auto}.summary-card{flex-direction:column;align-items:stretch;padding:20px}.summary-card.highlight h2{font-size:24px}.summary-card-header{flex-direction:column;align-items:flex-start;gap:10px}.summary-range,.summary-range select{width:100%}.detail-header{flex-direction:column;align-items:flex-start}.detail-actions{flex-wrap:wrap;width:100%}.detail-actions .btn{flex:1 1 auto}.tabs{width:100%}.tab{flex:1 1 auto;text-align:center}.entries-header,.entry-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.entries-header{font-size:10px}.entry-row{gap:10px}.icon-button{width:32px;height:32px}.workspace{gap:20px;min-width:0}.projects{padding:16px;min-width:0}.project-row{align-items:flex-start;gap:12px}.project-actions{width:100%;justify-content:space-between}.project-detail{padding:20px;min-width:0}.calendar-header{flex-direction:column;align-items:flex-start;gap:12px}.calendar-actions{width:100%;flex-wrap:wrap}.calendar-grid{gap:6px}.calendar-day{font-size:10px;letter-spacing:.12em}.calendar-cell{min-height:70px;padding:10px}.calendar-date{font-size:12px}.calendar-hours{font-size:11px;line-height:1.2}.calendar.week{overflow-x:hidden}.calendar.week .calendar-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0}.calendar.week .calendar-grid{min-width:560px;width:max-content}.calendar.month{overflow-x:hidden}.calendar.month .calendar-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar.month .calendar-grid{min-width:560px;width:max-content}.summary-metrics{flex-direction:column;align-items:flex-start;gap:16px}.modal{padding:18px}.modal-header{flex-direction:column;align-items:flex-start}.modal-footer{flex-direction:column;align-items:stretch}.modal-footer .btn{width:100%}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11111173;display:flex;align-items:center;justify-content:center;padding:24px;z-index:10}.modal{background:#fff;border-radius:24px;box-shadow:0 30px 80px #1113;width:min(680px,100%);padding:24px;display:flex;flex-direction:column;gap:20px}.confirm-modal{width:min(520px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.modal-title{margin:0;font-size:20px;font-weight:700}.modal-subtitle{margin:6px 0 0;color:#5c5c5c;font-size:13px}.modal-body{display:flex;flex-direction:column;gap:20px}.modal-section{background:#f7f7f5;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.modal-section-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-section-header h4{margin:0}.modal-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.modal-checkbox{display:flex;align-items:center;gap:10px;font-size:14px}.modal-checkbox input{width:16px;height:16px}.modal-pills{display:inline-flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid #111;background:transparent;color:#111;padding:6px 12px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;cursor:pointer}.modal-range{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.modal-range label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#5c5c5c}.modal-range input{border:1px solid #e0e0e0;border-radius:12px;padding:8px 10px;font-size:14px;background:#fff}.modal-footer{display:flex;justify-content:flex-end;gap:12px}.archived-empty{margin:0;color:#5c5c5c;font-size:14px}.archived-list{display:flex;flex-direction:column;gap:12px}.archived-row{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-radius:16px;padding:12px 14px;border:1px solid #e6e6e6}.archived-actions{display:flex;gap:8px;align-items:center}.archived-name{margin:0 0 6px;font-weight:600}
