:root{--red: #e11d22;--red-dark: #b3141a;--black: #0a0a0a;--ink: #141414;--surface: #1b1b1b;--surface-2: #242424;--line: #2e2e2e;--white: #ffffff;--muted: #9a9a9a;--muted-2: #6f6f6f;--green: #2fbf71;--amber: #e0a52b;--radius: 16px;--radius-sm: 10px;--pad: 16px;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--black);color:var(--white);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:16px}.app{max-width:640px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.appbar{position:sticky;top:0;z-index:20;background:#0a0a0ad9;-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line);padding:calc(env(safe-area-inset-top) + 12px) var(--pad) 12px;display:flex;align-items:center;gap:12px}.appbar h1{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0}.appbar .spacer{flex:1}.appbar-back{background:none;border:none;color:var(--red);font-size:17px;font-weight:600;padding:4px 0;display:inline-flex;align-items:center;gap:4px}.content{flex:1;padding:var(--pad);padding-bottom:calc(96px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;gap:8px;background:#0a0a0ae6;-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.tab{flex:1;max-width:160px;background:none;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:11px;font-weight:600;border-radius:var(--radius-sm)}.tab.active{color:var(--white)}.tab.active .tab-icon{color:var(--red)}.tab-icon{width:24px;height:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--pad)}.card+.card{margin-top:12px}.client-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px}.client-card:active{background:var(--surface-2)}.client-card-top{display:flex;align-items:center;gap:12px}.avatar{width:44px;height:44px;border-radius:12px;background:var(--ink);border:1px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:17px;color:var(--white);flex-shrink:0;object-fit:cover}.client-card-name{font-weight:700;font-size:17px;letter-spacing:-.01em}.client-card-sub{color:var(--muted);font-size:13px;margin-top:2px}.client-card-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:999px;background:var(--muted-2)}.badge.red{color:#ff8a92;border-color:#e11d2a66;background:#e11d2a1f}.badge.red .dot{background:var(--red)}.badge.green{color:#8cf0ba;border-color:#2fbf7159;background:#2fbf711f}.badge.green .dot{background:var(--green)}.badge.amber{color:#f3d18a;border-color:#e0a52b59;background:#e0a52b1f}.badge.amber .dot{background:var(--amber)}.badge.solid-red{background:var(--red);color:#fff;border-color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-sm);padding:13px 16px;font-size:16px;font-weight:700;background:var(--surface-2);color:var(--white);border:1px solid var(--line)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--red);border-color:var(--red);color:#fff}.btn-primary:active{background:var(--red-dark)}.btn-danger{background:transparent;border-color:#e11d2a80;color:#ff8a92}.btn-block{width:100%}.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(86px + env(safe-area-inset-bottom));z-index:25;width:56px;height:56px;border-radius:18px;background:var(--red);color:#fff;border:none;box-shadow:0 8px 24px #e11d2a66;display:grid;place-items:center}.fab:active{background:var(--red-dark)}.search{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--white);padding:12px 14px;margin-bottom:12px;outline:none}.search::placeholder{color:var(--muted-2)}.search:focus{border-color:var(--red)}.filter-row{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.chip{flex-shrink:0;background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600}.chip.active{background:var(--white);color:var(--black);border-color:var(--white)}.section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-2);margin:22px 4px 10px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.row-label{color:var(--muted);font-size:14px}.row-value{font-weight:600;text-align:right}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stat.accent{background:var(--red);border-color:var(--red)}.stat-label{font-size:13px;color:var(--muted)}.stat.accent .stat-label{color:#ffffffd9}.stat-value{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:4px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--white);padding:12px 14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red)}.field textarea{resize:vertical;min-height:80px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:12px}.toggle-row span{font-weight:600}.switch{position:relative;width:50px;height:30px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;transition:.2s}.slider:before{content:"";position:absolute;height:24px;width:24px;left:2px;top:2px;background:var(--white);border-radius:50%;transition:.2s}.switch input:checked+.slider{background:var(--red);border-color:var(--red)}.switch input:checked+.slider:before{transform:translate(20px)}.form-actions{display:flex;gap:10px;margin-top:8px}.form-actions .btn{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.empty{text-align:center;color:var(--muted);padding:48px 16px}.empty-emoji{font-size:40px;margin-bottom:8px}.loading{text-align:center;color:var(--muted);padding:40px}.note-banner{background:#e0a52b1a;border:1px solid rgba(224,165,43,.3);color:#f3d18a;border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-bottom:14px}.detail-header{display:flex;align-items:center;gap:14px;margin-bottom:8px}.detail-header .avatar{width:56px;height:56px;font-size:22px}.detail-name{font-size:24px;font-weight:800;letter-spacing:-.02em}.invoice-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.invoice-row:last-child{border-bottom:none}.invoice-amount{font-weight:800;font-size:17px}.muted{color:var(--muted)}.text-sm{font-size:13px}.brand-logo{height:26px;width:auto;display:block}.flag-inline{font-size:.85em;margin-left:4px;vertical-align:middle}.chevron-right{color:var(--muted-2);display:inline-flex;width:18px;flex-shrink:0;transform:rotate(180deg)}.badge.segment{background:transparent;border-color:var(--line);color:var(--white)}.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px;margin:18px 0 16px}.tab-seg{flex:1;background:none;border:none;color:var(--muted);font-size:14px;font-weight:600;padding:9px 6px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.tab-seg.active{background:var(--red);color:#fff}.tab-seg .count{background:#fff3;border-radius:999px;padding:0 6px;font-size:11px;min-width:18px;text-align:center}.tab-seg:not(.active) .count{background:var(--surface-2);color:var(--muted)}.project-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.project-card:active{background:var(--surface-2)}.project-card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.project-name{flex:1;font-weight:700;font-size:16px;letter-spacing:-.01em;min-width:0}.metric-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.metric{background:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 8px;text-align:center}.metric-value{font-weight:800;font-size:16px;letter-spacing:-.02em}.metric-label{font-size:11px;color:var(--muted-2);margin-top:2px}.lp-link{margin-top:12px;background:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;color:#ff8a92;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-picker{display:flex;align-items:center;gap:14px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}.logo-picker .btn{padding:9px 12px;font-size:14px}.task-card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px}.task-card:active{background:var(--surface-2)}.task-check{width:28px;height:28px;border-radius:50%;border:2px solid var(--muted-2);background:transparent;color:#fff;font-size:15px;font-weight:800;display:grid;place-items:center;flex-shrink:0}.task-check.in_progress{border-color:var(--amber);color:var(--amber)}.task-check.done{background:var(--green);border-color:var(--green)}.task-title{font-weight:600;font-size:16px}.task-title.done{text-decoration:line-through;color:var(--muted)}.task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px}.priority-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.priority-btn{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--white);padding:11px 12px;font-size:14px;font-weight:600}.priority-btn.active{background:var(--surface-2)}.member-avatar{border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;flex-shrink:0}.member-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.member-row+.member-row{margin-top:0}.role-select{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--white);padding:8px 10px;font-size:14px;font-weight:600}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px}.login-logo{height:34px;width:auto;display:block;margin:0 auto 6px}.login-sub{text-align:center;color:var(--muted);font-size:14px;margin:0 0 28px}.login-error{background:#e11d221f;border:1px solid rgba(225,29,34,.4);color:#ff8a92;border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;margin-bottom:14px}.login-note{text-align:center;color:var(--muted-2);font-size:12px;margin-top:18px}
