:root{color:#111827;background:#f5f5f7;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f5f5f7;--surface: rgba(255, 255, 255, .82);--surface-strong: rgba(255, 255, 255, .96);--line: rgba(17, 24, 39, .1);--line-strong: rgba(17, 24, 39, .16);--text: #111827;--muted: #697386;--muted-2: #8a93a4;--accent: #007aff;--accent-soft: rgba(0, 122, 255, .12);--green: #1f9d68;--orange: #c66a2b;--red: #d92d20;--shadow: 0 14px 42px rgba(15, 23, 42, .08);--shadow-soft: 0 6px 18px rgba(15, 23, 42, .06)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#fbfbfd 0%,var(--bg) 38%,#eef1f6 100%)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:default;opacity:.55}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.nav{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;height:100vh;padding:22px 14px;color:var(--text);border-right:1px solid var(--line);background:#ffffffad;-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%)}.brand{display:grid;gap:4px;padding:4px 10px 12px}.brand span{font-size:21px;font-weight:800}.brand small{color:var(--muted);overflow-wrap:anywhere}.tab-list{display:grid;gap:7px}.tab-list button{position:relative;display:flex;align-items:center;gap:11px;min-height:44px;padding:0 12px;color:#3b4454;border-radius:8px;background:transparent;text-align:left;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.tab-list button.active,.tab-list button:hover{color:var(--accent);background:var(--surface-strong);box-shadow:var(--shadow-soft)}.tab-list button:active{transform:scale(.98)}.workspace{min-width:0;padding:30px clamp(18px,3vw,42px) 42px}.topbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-30px calc(-1*clamp(18px,3vw,42px)) 24px;padding:22px clamp(18px,3vw,42px) 16px;background:#f5f5f7b8;-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%)}.topbar p{margin:0 0 4px;color:var(--muted);font-size:13px}.topbar h1{margin:0;color:var(--text);font-size:clamp(24px,3vw,34px);line-height:1.05}.sync-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;color:#273244;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);white-space:nowrap}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #1f9d681f}.sync-dot.active{animation:pulse 1.1s ease-in-out infinite}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;color:var(--accent);border:1px solid var(--line);background:var(--surface-strong);box-shadow:var(--shadow-soft);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.icon-button:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.icon-button:active{transform:scale(.97)}.icon-button.compact{width:34px;height:34px;flex:0 0 auto}.grid{display:grid;gap:20px;animation:fade-up .26s ease both}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1 / -1}.section{min-width:0}.section h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#253044;font-size:15px;font-weight:700}.list,.timeline{display:grid;gap:11px}.item,.event,.metric,.form{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}.item,.event,.metric{animation:fade-up .22s ease both}.item{display:grid;gap:9px;padding:14px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.item:hover{transform:translateY(-1px);border-color:#007aff38;background:var(--surface-strong);box-shadow:var(--shadow)}.item.row,.item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.item strong{min-width:0;overflow-wrap:anywhere}.item span,.event span,.meta span,.metric span{color:var(--muted);font-size:13px}.task p{margin:0;color:#3b4454;font-size:14px;line-height:1.48;overflow-wrap:anywhere}.meta{display:flex;flex-wrap:wrap;gap:6px}.meta span,.checks span{padding:4px 8px;border-radius:8px;color:#475569;background:#94a3b824}.checks{display:flex;flex-wrap:wrap;gap:6px}.checks .done{color:var(--green);background:#1f9d681a;text-decoration:line-through}.event{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;padding:13px}.event time{color:var(--accent);font-weight:700;font-size:13px}.event div{display:grid;gap:3px;min-width:0}.calendar-screen{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;align-items:start;animation:fade-up .26s ease both}.calendar-main,.calendar-agenda{min-width:0}.calendar-toolbar,.calendar-actions,.calendar-caption,.calendar-load-summary{display:flex;align-items:center}.calendar-toolbar{justify-content:space-between;gap:12px;margin-bottom:12px}.calendar-actions{gap:8px}.ghost-button{min-height:34px;padding:0 12px;color:#273244;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);box-shadow:var(--shadow-soft);font-weight:700;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.ghost-button:hover{transform:translateY(-1px);border-color:#007aff3d;box-shadow:var(--shadow)}.calendar-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:#ffffffa3}.calendar-switch button{min-height:36px;border-radius:8px;color:#475569;background:transparent;font-weight:700;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-switch button.active,.calendar-switch button:hover{color:var(--accent);background:#fff;box-shadow:var(--shadow-soft)}.calendar-switch button:active{transform:scale(.98)}.calendar-caption,.calendar-load-summary{justify-content:space-between;gap:10px;margin-bottom:10px}.calendar-caption strong{color:#253044;font-size:18px;text-transform:capitalize}.calendar-caption span,.calendar-load-summary span{color:var(--muted);font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekday{min-height:28px;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:800}.calendar-day{position:relative;display:grid;grid-template-rows:auto 1fr;align-items:start;min-width:0;min-height:74px;padding:9px;text-align:left;color:#253044;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.calendar-day:hover{transform:translateY(-1px);border-color:#007aff3d;background:var(--surface-strong);box-shadow:var(--shadow)}.calendar-day.muted{color:var(--muted-2);background:#ffffff6b}.calendar-day.in-period{border-color:#007aff47;background:#007aff12}.calendar-day.selected{border-color:#007aff94;box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-soft)}.calendar-day.today .day-number{color:#fff;background:var(--accent)}.day-number{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;font-weight:800}.load{align-self:end;justify-self:end;display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 7px;border-radius:999px;color:#475569;background:#94a3b829;font-size:12px;font-weight:800}.load-1{color:#1f6a4d;background:#1f9d6829}.load-2{color:#8a5a00;background:#f59e0b2e}.load-3{color:#9a3412;background:#ea580c2e}.load-4{color:#991b1b;background:#d92d202e}.calendar-agenda .list{max-height:calc(100vh - 210px);overflow:auto;padding-right:2px}.calendar-agenda-item{width:100%;text-align:left}.calendar-agenda-item:disabled{cursor:default;opacity:1}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric{display:grid;gap:8px;min-height:92px;padding:16px}.metric strong{color:#0f172a;font-size:18px;line-height:1.25;overflow-wrap:anywhere}.finance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-summary-card{display:grid;gap:8px;min-height:116px;padding:15px;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.finance-summary-card:hover,.finance-summary-card.active{transform:translateY(-1px);border-color:#007aff47;background:var(--surface-strong);box-shadow:var(--shadow)}.finance-summary-card.active{box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-soft)}.finance-summary-card span,.finance-summary-card small{color:var(--muted)}.finance-summary-card span{font-size:13px;font-weight:700}.finance-summary-card strong{color:#0f172a;font-size:19px;line-height:1.25;overflow-wrap:anywhere}.finance-summary-card small{font-size:12px}.finance-detail-row{grid-template-columns:minmax(0,1fr) minmax(132px,auto) auto;align-items:center}.client-card{width:100%;text-align:left}.client-card.active{border-color:#007aff61;background:var(--surface-strong);box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-soft)}.client-card small,.client-report small{color:var(--muted);font-size:12px}.client-report{display:grid;gap:14px}.client-profile{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.client-profile>div:first-child{display:grid;gap:4px}.client-profile strong{color:#0f172a;font-size:18px}.client-profile span{color:var(--muted)}.client-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form,.inline-form{display:grid;gap:11px}.form{padding:15px}.inline-form{grid-template-columns:minmax(0,1fr) auto}.money-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:10px}label{display:grid;gap:6px;color:#475569;font-size:13px}input,select,textarea{width:100%;min-height:40px;padding:9px 11px;color:var(--text);border:1px solid var(--line);border-radius:8px;outline:none;background:#ffffffc7;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input:focus,select:focus,textarea:focus{border-color:#007aff8c;background:#fff;box-shadow:0 0 0 4px var(--accent-soft)}textarea{resize:vertical}.primary,.inline-form button,.toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 13px;border-radius:8px;color:#fff;background:var(--accent);font-weight:700;white-space:nowrap;box-shadow:0 8px 20px #007aff2e;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.primary:hover,.inline-form button:hover{transform:translateY(-1px);background:#006ee6;box-shadow:0 12px 28px #007aff3d}.primary:active,.inline-form button:active,.toggle:active{transform:scale(.98)}.inline-form button{width:42px;padding:0}.inline-form .primary{width:auto;padding:0 13px}.compact-select{width:auto;min-width:132px;min-height:36px;padding:7px 10px;font-size:13px}.toggle{min-width:64px;color:#334155;background:#94a3b82e;box-shadow:none}.toggle.on{color:#fff;background:var(--green)}.money{white-space:nowrap}.money.in{color:var(--green)}.money.out{color:var(--orange)}.empty{display:grid;gap:6px;align-content:center;min-height:220px;padding:22px;color:var(--muted);border:1px dashed var(--line-strong);border-radius:8px;background:#ffffffa8;animation:fade-up .22s ease both}.empty.compact{min-height:88px}.empty.error{color:var(--red);border-color:#d92d2038;background:#fff5f5db}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:22px;background:#0f172a5c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:fade-in .16s ease both}.task-detail{width:min(980px,100%);max-height:min(880px,calc(100vh - 44px));overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fafafcf0;box-shadow:0 24px 70px #0f172a38;animation:modal-pop .18s ease both}.detail-header{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid var(--line);background:#fafafcd6;-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%)}.detail-header span{color:var(--muted);font-size:13px}.detail-header h2{margin:4px 0 0;color:var(--text);font-size:22px;line-height:1.2;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}.detail-grid section{min-width:0;display:grid;gap:10px}.detail-grid h3{margin:0;color:#253044;font-size:14px}.detail-grid p{margin:0;color:#3b4454;line-height:1.48;overflow-wrap:anywhere}.detail-wide{grid-column:1 / -1}.detail-meta{margin-bottom:2px}.travel-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.travel-detail>div,.travel-edit{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffffb3}.travel-detail span{display:block;margin-bottom:3px;color:var(--muted);font-size:12px}.travel-detail strong,.travel-detail p{color:var(--text);overflow-wrap:anywhere}.travel-detail small{display:block;margin-top:4px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.travel-detail .travel-note{grid-column:1 / -1}.travel-edit{grid-column:1 / -1;display:grid;gap:10px}.travel-edit legend{padding:0 5px;color:#253044;font-weight:700}.detail-checks{display:grid}.check-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;color:#3b4454}.check-row input{width:18px;min-height:18px;padding:0;accent-color:var(--accent)}.check-row span{padding:0;background:transparent;overflow-wrap:anywhere}.check-row.done span{color:var(--green);text-decoration:line-through}.assignment-picker,.member-tasks{display:flex;flex-wrap:wrap;gap:8px}.assignment-picker{padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffffa8}.assignment-picker .check-row{grid-template-columns:18px minmax(0,1fr);min-width:min(180px,100%);padding:6px 8px;border-radius:8px;background:#94a3b81a}.member-card{gap:10px}.member-tasks span{padding:4px 8px;color:#475569;border-radius:8px;background:#007aff1a}.assignment-form{margin-top:2px}.task-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.task-edit-form>label,.task-edit-form>.money-row,.task-edit-form>button{grid-column:1 / -1}.reminder-rule{grid-template-columns:minmax(0,1fr) auto;align-items:center}.reminder-rule .inline-form{grid-template-columns:minmax(0,1fr) 96px auto}.invite-form{grid-template-columns:90px minmax(130px,1fr) auto;margin-bottom:11px}.assignment-row .item-head>div{display:grid;gap:3px;min-width:0}.compact-list{gap:8px}.attachment-ai{display:block;margin-top:4px;color:#1f7a4f;font-weight:600}.attachment-ai.muted{color:var(--muted);font-weight:500}.comment-form{margin-top:10px}.link-form{margin-top:11px}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.62}}@media(max-width:980px){.app-shell{grid-template-columns:1fr;padding-bottom:78px}.nav{position:fixed;left:12px;right:12px;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));z-index:10;height:62px;padding:7px;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px #0f172a29}.brand{display:none}.tab-list{grid-template-columns:repeat(7,minmax(0,1fr));height:100%;gap:4px}.tab-list button{justify-content:center;min-height:48px;padding:0}.tab-list button span{display:none}.workspace{padding:24px 14px 26px}.topbar{margin:-24px -14px 20px;padding:18px 14px 14px}.grid.two,.calendar-screen,.finance-summary-grid,.client-report-grid,.metrics,.detail-grid,.travel-detail,.event{grid-template-columns:1fr}.calendar-agenda .list{max-height:none}}@media(max-width:560px){.topbar{align-items:flex-start}.sync-pill{min-height:34px;padding:0 9px;font-size:12px}.item.row,.item-head{display:grid;align-items:stretch}.item-head select,.item-head .icon-button{width:100%}.inline-form{grid-template-columns:minmax(0,1fr) 42px}.money-row{grid-template-columns:1fr}.finance-detail-row{grid-template-columns:1fr;align-items:stretch}.compact-select{width:100%}.task-edit-form,.reminder-rule,.reminder-rule .inline-form,.invite-form{grid-template-columns:1fr}.calendar-toolbar,.calendar-caption,.calendar-load-summary{align-items:stretch;flex-direction:column}.calendar-actions{width:100%}.calendar-actions .ghost-button{flex:1}.calendar-grid{gap:5px}.calendar-day{min-height:58px;padding:7px}.day-number{width:24px;height:24px}.load{min-width:24px;height:20px;padding:0 6px}.modal-backdrop{padding:8px}.task-detail{max-height:calc(100vh - 16px)}.detail-header,.detail-grid{padding:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
