:root{--kc-navy:#1a3a5c;--kc-blue:#2563eb;--kc-light:#e8eff6;--kc-bg:#f5f7fa;--kc-white:#fff;--kc-text:#1a1a1a;--kc-muted:#6b7280;--kc-border:#e2e5ea;--kc-success:#16a34a;--kc-warning:#d97706;--kc-danger:#dc2626;--kc-radius:12px;--kc-surface:#fff;--kc-card-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--kc-tab-bar-bg:hsla(0,0%,100%,.92);--kc-tab-bar-border:#e2e5ea;--kc-input-bg:#fff}.dark{--kc-navy:#0f3460;--kc-blue:#3b82f6;--kc-light:#1e2a3a;--kc-bg:#1a1a2e;--kc-white:#16213e;--kc-text:#e0e0e0;--kc-muted:#9ca3af;--kc-border:#2d3a4e;--kc-success:#22c55e;--kc-warning:#f59e0b;--kc-danger:#ef4444;--kc-surface:#16213e;--kc-card-shadow:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);--kc-tab-bar-bg:rgba(22,33,62,.95);--kc-tab-bar-border:#2d3a4e;--kc-input-bg:#1e2a3a}@media (prefers-color-scheme:dark){.auto-dark{--kc-navy:#0f3460;--kc-blue:#3b82f6;--kc-light:#1e2a3a;--kc-bg:#1a1a2e;--kc-white:#16213e;--kc-text:#e0e0e0;--kc-muted:#9ca3af;--kc-border:#2d3a4e;--kc-success:#22c55e;--kc-warning:#f59e0b;--kc-danger:#ef4444;--kc-surface:#16213e;--kc-card-shadow:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);--kc-tab-bar-bg:rgba(22,33,62,.95);--kc-tab-bar-border:#2d3a4e;--kc-input-bg:#1e2a3a}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--kc-bg);color:var(--kc-text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain}button,input,select,textarea{font-family:inherit;font-size:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}.top-bar{background:var(--kc-navy);color:#fff;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:50;min-height:52px}.top-bar h1{font-size:17px;font-weight:600;letter-spacing:-.3px}.top-bar .subtitle{font-size:12px;opacity:.7;margin-top:1px}.top-bar-actions{display:flex;align-items:center;gap:8px}.notif-btn{background:none;border:none;font-size:20px;cursor:pointer;position:relative;padding:4px;width:44px;height:44px}.notif-badge,.notif-btn{color:#fff;display:flex;align-items:center;justify-content:center}.notif-badge{position:absolute;top:2px;right:2px;background:var(--kc-danger);font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%}.dark-toggle{background:none;border:none;color:#fff;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px}.dark-toggle:active{background:hsla(0,0%,100%,.1)}.dark-toggle svg{width:20px;height:20px}.sign-out-btn{background:none;border:none;color:hsla(0,0%,100%,.7);font-size:13px;cursor:pointer;padding:8px 12px;min-height:44px;display:flex;align-items:center}.bottom-tab-bar{position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom,0);background:var(--kc-tab-bar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--kc-tab-bar-border);display:flex;z-index:50}.bottom-tab-bar button{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;cursor:pointer;color:var(--kc-muted);padding:8px 4px;min-height:64px;transition:color .15s;-webkit-tap-highlight-color:transparent}.bottom-tab-bar button.active{color:var(--kc-blue)}.bottom-tab-bar button svg{width:24px;height:24px}.bottom-tab-bar button span{font-size:10px;font-weight:500;letter-spacing:.2px}.page-content{flex:1 1;padding:0 16px 16px;max-width:900px;margin:0 auto;width:100%}.filter-bar{position:-webkit-sticky;position:sticky;top:52px;z-index:10;background:var(--kc-bg);padding:12px 0;display:flex;gap:8px;flex-wrap:wrap}.filter-bar select{padding:10px 14px;border:1px solid var(--kc-border);border-radius:var(--kc-radius);background:var(--kc-input-bg);font-size:14px;color:var(--kc-text);min-height:44px;cursor:pointer}.pull-indicator{text-align:center;padding:12px;color:var(--kc-muted);font-size:13px;transition:opacity .2s}.pull-indicator.refreshing{color:var(--kc-blue)}.task-card{background:var(--kc-surface);border-radius:var(--kc-radius);box-shadow:var(--kc-card-shadow);margin-bottom:12px;overflow:hidden;position:relative}.task-card-stripe{position:absolute;top:0;left:0;bottom:0;width:4px}.task-card-inner{padding:14px 14px 14px 18px;display:flex;align-items:flex-start;gap:12px}.task-card-check{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.task-card-check input[type=checkbox]{width:24px;height:24px;accent-color:var(--kc-success);cursor:pointer}.task-card-body{flex:1 1;min-width:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.task-card-project{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.task-card-title{font-size:16px;font-weight:600;line-height:1.3;color:var(--kc-text)}.task-card-title.done{text-decoration:line-through;color:var(--kc-muted)}.task-card-meta{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;align-items:center}.task-card-meta .assigned,.task-card-meta .due-date{font-size:12px;color:var(--kc-muted)}.task-card-meta .start-date{font-size:12px;color:var(--kc-blue);font-weight:500}.task-card-overdue{color:var(--kc-danger)}.task-card-due-soon,.task-card-overdue{font-size:12px;font-weight:600;margin-top:4px}.task-card-due-soon{color:var(--kc-warning)}.task-card-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.task-card-actions button{background:none;border:none;cursor:pointer;color:var(--kc-muted);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px}.task-card-actions button:active{background:var(--kc-bg)}.status-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.status-pill.not-started{background:#f1efe8;color:#5f5e5a}.status-pill.in-progress{background:#dbeafe;color:#1d4ed8}.status-pill.complete{background:#dcfce7;color:#166534}.status-pill.blocked{background:#fee2e2;color:#b91c1c}.dark .status-pill.not-started{background:#374151;color:#9ca3af}.dark .status-pill.in-progress{background:#1e3a5f;color:#60a5fa}.dark .status-pill.complete{background:#14532d;color:#4ade80}.dark .status-pill.blocked{background:#450a0a;color:#fca5a5}@media (prefers-color-scheme:dark){.auto-dark .status-pill.not-started{background:#374151;color:#9ca3af}.auto-dark .status-pill.in-progress{background:#1e3a5f;color:#60a5fa}.auto-dark .status-pill.complete{background:#14532d;color:#4ade80}.auto-dark .status-pill.blocked{background:#450a0a;color:#fca5a5}}.task-card-expanded{border-top:1px solid var(--kc-border);padding:14px 18px;background:var(--kc-bg)}.task-card-expanded .description{font-size:14px;color:var(--kc-text);margin-bottom:12px;line-height:1.5}.task-card-expanded .expand-actions{display:flex;gap:10px;margin-top:10px}.task-card-expanded .expand-actions button{padding:10px 16px;min-height:44px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--kc-border);background:var(--kc-surface);color:var(--kc-text)}.task-card-expanded .expand-actions button:active{background:var(--kc-bg)}.category-toggle{display:flex;border:1px solid var(--kc-border);border-radius:8px;overflow:hidden}.category-toggle button{flex:1 1;padding:10px 14px;min-height:44px;font-size:14px;font-weight:500;border:none;cursor:pointer;background:var(--kc-input-bg);color:var(--kc-muted);transition:all .15s}.category-toggle button.active{background:var(--kc-blue);color:#fff}.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.badge-high{background:#fee2e2;color:#b91c1c}.badge-medium{background:#fef3c7;color:#92400e}.badge-low{background:#dcfce7;color:#166534}.badge-overdue{background:#fee2e2;color:#b91c1c}.badge-due-soon{background:#fef3c7;color:#92400e}.dark .badge-high{background:#450a0a;color:#fca5a5}.dark .badge-medium{background:#451a03;color:#fcd34d}.dark .badge-low{background:#14532d;color:#4ade80}.dark .badge-overdue{background:#450a0a;color:#fca5a5}.dark .badge-due-soon{background:#451a03;color:#fcd34d}@media (prefers-color-scheme:dark){.auto-dark .badge-high{background:#450a0a;color:#fca5a5}.auto-dark .badge-medium{background:#451a03;color:#fcd34d}.auto-dark .badge-low{background:#14532d;color:#4ade80}.auto-dark .badge-overdue{background:#450a0a;color:#fca5a5}.auto-dark .badge-due-soon{background:#451a03;color:#fcd34d}}.metrics{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.metric{background:var(--kc-surface);border:1px solid var(--kc-border);border-radius:var(--kc-radius);padding:12px 14px;box-shadow:var(--kc-card-shadow)}.metric-label{font-size:11px;font-weight:500;color:var(--kc-muted);text-transform:uppercase;letter-spacing:.3px}.metric-value{font-size:24px;font-weight:700;margin-top:2px;color:var(--kc-text)}.project-section-header{display:flex;align-items:center;gap:8px;padding:16px 0 8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.project-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.schedule-week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.schedule-week-nav .week-label{font-size:15px;font-weight:600;color:var(--kc-text)}.schedule-week-nav button{width:44px;height:44px;border:1px solid var(--kc-border);border-radius:10px;background:var(--kc-surface);color:var(--kc-text);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.schedule-week-nav button:active{background:var(--kc-bg)}.schedule-day-row{background:var(--kc-surface);border-radius:var(--kc-radius);box-shadow:var(--kc-card-shadow);margin-bottom:8px;overflow:hidden}.schedule-day-row.today{border-left:3px solid var(--kc-blue)}.schedule-day-header{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;min-height:48px;-webkit-tap-highlight-color:transparent}.schedule-day-header .day-name{font-size:15px;font-weight:600;color:var(--kc-text)}.schedule-day-header .day-date{font-size:13px;color:var(--kc-muted);margin-left:8px}.schedule-day-header .entry-count{font-size:12px;color:var(--kc-muted);background:var(--kc-bg);padding:2px 10px;border-radius:12px}.schedule-day-entries{border-top:1px solid var(--kc-border);padding:8px 16px 12px}.schedule-entry-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;margin:4px 4px 4px 0;border-radius:8px;background:var(--kc-bg);font-size:13px;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent}.schedule-entry-chip:active{opacity:.7}.schedule-entry-chip .vendor-name{font-weight:600;color:var(--kc-text)}.schedule-entry-chip .project-name{font-size:11px;color:var(--kc-muted)}.schedule-add-btn{width:44px;height:44px;border:1px dashed var(--kc-border);border-radius:10px;background:none;color:var(--kc-muted);font-size:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin:4px}.schedule-add-btn:active{background:var(--kc-bg)}.bid-card{background:var(--kc-surface);border-radius:var(--kc-radius);box-shadow:var(--kc-card-shadow);padding:14px 16px;margin-bottom:10px}.bid-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.bid-card-title{font-size:15px;font-weight:600;color:var(--kc-text)}.bid-card-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:12px}.bid-card-meta .project-label{color:var(--kc-muted)}.bid-card-meta .vendor-label{font-weight:500;color:var(--kc-text)}.bid-card-meta .amount-label{font-weight:600;color:var(--kc-success)}.bid-card select{cursor:pointer}.bid-card input,.bid-card select{font-size:13px;padding:8px 12px;border:1px solid var(--kc-border);border-radius:8px;background:var(--kc-input-bg);color:var(--kc-text);min-height:44px}.bid-card input{width:100px;text-align:right}.bid-card .desc{font-size:13px;color:var(--kc-muted);margin-top:6px}.status-card{background:var(--kc-surface);border-radius:var(--kc-radius);box-shadow:var(--kc-card-shadow);padding:16px;margin-bottom:12px;overflow:hidden}.status-card-header{padding:4px 0 8px;border-bottom:none}.status-card h3{font-size:16px;font-weight:600;margin-bottom:2px}.status-card .address{font-size:12px;color:var(--kc-muted);margin-bottom:8px}.progress-bar{height:6px;background:var(--kc-bg);border-radius:3px;overflow:hidden;margin:8px 0}.progress-fill{height:100%;background:var(--kc-success);border-radius:3px;transition:width .3s}.status-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;font-size:12px;margin-top:8px}.status-stats span{color:var(--kc-muted)}.status-stats strong{display:block;font-size:14px;color:var(--kc-text)}.btn-primary{background:var(--kc-blue);color:#fff;border:none;padding:12px 18px;border-radius:var(--kc-radius);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s;min-height:44px}.btn-primary:active{opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:8px 14px;font-size:13px;min-height:36px}.fab{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom, 0px));right:20px;width:56px;height:56px;border-radius:50%;background:var(--kc-blue);color:#fff;border:none;font-size:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:40;-webkit-tap-highlight-color:transparent}.fab:active{transform:scale(.95)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:60;display:flex;align-items:flex-end;justify-content:center}.modal-content{background:var(--kc-surface);border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;padding:20px 20px calc(20px + env(safe-area-inset-bottom, 0px));animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{font-size:18px;font-weight:600;color:var(--kc-text)}.modal-close{background:none;border:none;font-size:24px;color:var(--kc-muted);cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:500;color:var(--kc-muted);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--kc-border);border-radius:8px;font-size:15px;color:var(--kc-text);background:var(--kc-input-bg);min-height:44px}.field textarea{resize:vertical;min-height:60px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--kc-blue);box-shadow:0 0 0 3px rgba(37,99,160,.1)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:20px;background:var(--kc-bg)}.login-card{background:var(--kc-surface);border-radius:16px;padding:32px 24px;width:100%;max-width:380px;border:1px solid var(--kc-border);box-shadow:var(--kc-card-shadow)}.login-card h1{font-size:22px;font-weight:700;text-align:center;color:var(--kc-blue);margin-bottom:4px}.login-card .sub{text-align:center;color:var(--kc-muted);font-size:14px;margin-bottom:24px}.login-card .btn-primary{width:100%;padding:14px;font-size:16px;margin-top:8px}.login-error{background:#fee2e2;color:#b91c1c;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}.password-change-page{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:20px;background:var(--kc-bg)}.password-change-card{background:var(--kc-surface);border-radius:16px;padding:32px 24px;width:100%;max-width:380px;border:1px solid var(--kc-border);box-shadow:var(--kc-card-shadow)}.password-change-card h2{font-size:20px;font-weight:700;text-align:center;color:var(--kc-text);margin-bottom:8px}.password-change-card .sub{text-align:center;color:var(--kc-muted);font-size:14px;margin-bottom:24px;line-height:1.4}.notes-panel{border-top:1px solid var(--kc-border);padding:12px 18px;background:var(--kc-bg)}.note-item{display:flex;gap:8px;margin-bottom:8px;font-size:13px}.note-author{font-weight:600;color:var(--kc-blue);white-space:nowrap}.note-time{color:var(--kc-muted);font-size:11px;margin-left:auto;white-space:nowrap}.note-input{display:flex;gap:8px;margin-top:8px}.note-input input{flex:1 1;padding:10px 12px;border:1px solid var(--kc-border);border-radius:8px;font-size:14px;min-height:44px;background:var(--kc-input-bg);color:var(--kc-text)}.notif-panel{position:fixed;top:0;right:0;bottom:0;width:320px;max-width:100%;background:var(--kc-surface);border-left:1px solid var(--kc-border);z-index:55;overflow-y:auto;animation:slideIn .2s ease-out;box-shadow:-4px 0 20px rgba(0,0,0,.15)}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.notif-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;position:-webkit-sticky;position:sticky;top:0;background:var(--kc-surface)}.notif-item,.notif-panel-header{border-bottom:1px solid var(--kc-border)}.notif-item{padding:12px 16px;font-size:13px}.notif-item.unread{background:var(--kc-light)}.notif-item .title{font-weight:600;margin-bottom:2px;color:var(--kc-text)}.notif-item .body,.notif-item .time{color:var(--kc-muted)}.notif-item .time{font-size:11px;margin-top:4px}.empty-state{text-align:center;padding:48px 20px}.empty-state svg{width:64px;height:64px;opacity:.4}.empty-state .message,.empty-state svg{color:var(--kc-muted);margin-bottom:16px}.empty-state .message{font-size:16px;font-weight:500}.empty-state .btn-primary{display:inline-flex;align-items:center;gap:6px}.investor-eye{display:inline-flex;align-items:center;color:var(--kc-muted);opacity:.6}.investor-eye svg{width:14px;height:14px}.camera-fab{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom, 0px));right:20px;width:56px;height:56px;border-radius:50%;background:var(--kc-blue);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:40;-webkit-tap-highlight-color:transparent}.camera-fab:active{transform:scale(.95)}.camera-fab svg{width:24px;height:24px}.photo-capture-row{display:flex;gap:12px;margin-bottom:16px}.capture-btn{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;border:2px dashed var(--kc-border);border-radius:var(--kc-radius);background:var(--kc-bg);color:var(--kc-text);cursor:pointer;min-height:80px;font-size:13px;font-weight:500}.capture-btn:active{background:var(--kc-border)}.capture-btn svg{width:24px;height:24px;color:var(--kc-blue)}.photo-preview-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.photo-thumb-wrap{position:relative;width:80px;height:80px}.photo-thumb{width:100%;height:100%;object-fit:cover;border-radius:8px}.photo-remove{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;background:var(--kc-danger);color:#fff;border:none;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.weather-toggle{display:flex;gap:8px}.weather-toggle button{width:48px;height:48px;border:1px solid var(--kc-border);border-radius:10px;background:var(--kc-input-bg);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.weather-toggle button.active{border-color:var(--kc-blue);background:var(--kc-light)}.log-card{background:var(--kc-surface);border-radius:var(--kc-radius);box-shadow:var(--kc-card-shadow);padding:14px 16px;margin-bottom:12px}.log-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.log-date{font-size:14px;font-weight:600;color:var(--kc-text);margin-right:8px}.log-project{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.log-meta{font-size:12px;color:var(--kc-muted);display:flex;gap:6px;align-items:center}.log-note{font-size:14px;color:var(--kc-text);line-height:1.4;margin-bottom:8px}.log-photos{display:flex;gap:8px;flex-wrap:wrap}.log-photo-thumb{width:80px;height:80px;object-fit:cover;border-radius:8px;cursor:pointer}.log-photo-thumb:active{opacity:.8}.photo-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:70;display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-lightbox img{max-width:95%;max-height:90vh;object-fit:contain}.photo-lightbox .modal-close{position:absolute;top:16px;right:16px;color:#fff;font-size:28px}.status-tab-toggle{display:flex;border:1px solid var(--kc-border);border-radius:8px;overflow:hidden;margin-bottom:16px}.status-tab-toggle button{flex:1 1;padding:10px 14px;min-height:44px;font-size:14px;font-weight:500;border:none;cursor:pointer;background:var(--kc-input-bg);color:var(--kc-muted);transition:all .15s}.status-tab-toggle button.active{background:var(--kc-blue);color:#fff}.nlp-input-container{margin-bottom:16px}.nlp-input-bar{display:flex;gap:6px;align-items:center;background:var(--kc-surface);border:1px solid var(--kc-border);border-radius:var(--kc-radius);padding:4px 4px 4px 14px;box-shadow:var(--kc-card-shadow)}.nlp-input-bar input{flex:1 1;border:none;background:none;font-size:15px;color:var(--kc-text);min-height:44px;outline:none}.nlp-input-bar input::placeholder{color:var(--kc-muted)}.nlp-mic-btn,.nlp-send-btn{width:44px;height:44px;border:none;border-radius:10px;background:none;color:var(--kc-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nlp-mic-btn svg,.nlp-send-btn svg{width:20px;height:20px}.nlp-send-btn{background:var(--kc-blue);color:#fff}.nlp-send-btn:disabled{opacity:.4;cursor:not-allowed}.nlp-mic-btn.recording{background:var(--kc-danger);color:#fff}.recording-dot{width:12px;height:12px;border-radius:50%;background:#fff;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.nlp-confirm-card{background:var(--kc-surface);border:2px solid var(--kc-blue);border-radius:var(--kc-radius);padding:16px;margin-top:12px;box-shadow:var(--kc-card-shadow)}.nlp-confirm-header{font-size:14px;font-weight:600;color:var(--kc-blue);margin-bottom:12px}.nlp-confirm-card .field{margin-bottom:10px}.nlp-confirm-card .field label{font-size:12px;margin-bottom:2px}.nlp-confirm-card .category-toggle button{padding:8px 10px;min-height:36px;font-size:12px}.sub-lists-btn{padding:10px 16px;border:1px solid var(--kc-border);border-radius:var(--kc-radius);background:var(--kc-input-bg);font-size:14px;color:var(--kc-text);cursor:pointer;min-height:44px;font-weight:500}.sub-lists-btn.active{background:var(--kc-blue);color:#fff;border-color:var(--kc-blue)}.vendor-card{background:var(--kc-surface);border-radius:var(--kc-radius);box-shadow:var(--kc-card-shadow);padding:14px 16px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:60px;-webkit-tap-highlight-color:transparent}.vendor-card:active{opacity:.8}.vendor-card-name{font-size:16px;font-weight:600;color:var(--kc-text)}.vendor-card-meta{font-size:13px}.vendor-card-meta,.vendor-card-sent{color:var(--kc-muted);margin-top:2px}.vendor-card-sent{font-size:11px;font-style:italic}.vendor-card svg{width:16px;height:16px;flex-shrink:0}.back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--kc-blue);font-size:14px;font-weight:500;cursor:pointer;padding:8px 0;min-height:44px;margin-bottom:8px}.back-btn svg{width:16px;height:16px}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--kc-border);border-radius:8px;background:var(--kc-surface);color:var(--kc-text);font-size:13px;font-weight:500;cursor:pointer;min-height:44px}.action-btn:active{background:var(--kc-bg)}.action-btn svg{width:16px;height:16px}.milestones-section{margin-top:12px;border-top:1px solid var(--kc-border);padding-top:12px}.milestones-header{font-size:13px;font-weight:600;color:var(--kc-text);margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.milestone-card{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--kc-border)}.milestone-card:last-child{border-bottom:none}.milestone-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0}.milestone-info{flex:1 1;min-width:0}.milestone-title{font-size:13px;color:var(--kc-text)}.milestone-start{font-size:11px;color:var(--kc-blue);margin-top:2px}.milestone-date{font-size:11px;color:var(--kc-muted);flex-shrink:0}.gear-btn{background:none;border:none;color:#fff;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px}.gear-btn:active{background:hsla(0,0%,100%,.1)}.gear-btn svg{width:20px;height:20px}.settings-panel{position:fixed;right:0;bottom:0;width:360px;max-width:100%;border-left:1px solid var(--kc-border);z-index:55;overflow-y:auto;animation:slideIn .2s ease-out;box-shadow:-4px 0 20px rgba(0,0,0,.15)}.settings-header,.settings-panel{top:0;background:var(--kc-surface)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--kc-border);position:-webkit-sticky;position:sticky;z-index:1}.settings-header h3{font-size:16px;font-weight:600;color:var(--kc-text);margin:0}.settings-section{padding:16px;border-bottom:1px solid var(--kc-border)}.settings-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--kc-muted);margin-bottom:12px}.settings-field{display:flex;justify-content:space-between;align-items:center;padding:8px 0;min-height:40px}.settings-field .field-label{font-size:14px;color:var(--kc-muted)}.settings-field .field-value{font-size:14px;color:var(--kc-text);font-weight:500}.settings-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--kc-border);background:var(--kc-bg);color:var(--kc-text);font-size:14px;min-height:44px;box-sizing:border-box}.settings-input:focus{outline:none;border-color:var(--kc-blue)}.settings-save-btn{padding:10px 20px;background:var(--kc-blue);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;min-height:44px}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;min-height:44px;cursor:pointer;font-size:14px;color:var(--kc-text)}.toggle-switch{width:50px;height:28px;border-radius:14px;background:var(--kc-border);position:relative;transition:background .2s;flex-shrink:0}.toggle-switch.on{background:var(--kc-blue)}.toggle-switch.disabled{opacity:.4}.toggle-knob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}.toggle-switch.on .toggle-knob{transform:translateX(22px)}.settings-nav-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 0;background:none;border:none;color:var(--kc-text);font-size:15px;cursor:pointer;min-height:44px}.settings-nav-btn:active{opacity:.7}.settings-msg{padding:12px 16px;text-align:center;font-size:13px;color:var(--kc-blue);font-weight:500}.settings-logout-btn{width:100%;padding:12px;background:none;border:1px solid var(--kc-danger);border-radius:8px;color:var(--kc-danger);font-size:15px;font-weight:600;cursor:pointer;min-height:44px}.settings-logout-btn:active{background:var(--kc-danger);color:#fff}.recurring-card{background:var(--kc-surface);border:1px solid var(--kc-border);border-radius:10px;padding:14px 16px;margin-bottom:10px;cursor:pointer}.recurring-card:active{background:var(--kc-light)}.status-pill.waiting{background:#fef3c7;color:#92400e}.dark .status-pill.waiting{background:#451a03;color:#fcd34d}@media (prefers-color-scheme:dark){.auto-dark .status-pill.waiting{background:#451a03;color:#fcd34d}}.trade-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:600;background:var(--kc-light);color:var(--kc-navy);white-space:nowrap}.trade-group{margin-bottom:4px}.trade-group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--kc-surface);border:1px solid var(--kc-border);border-radius:8px;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent}.trade-group-header:active{background:var(--kc-bg)}.trade-name{font-size:14px;font-weight:600;color:var(--kc-text)}.trade-count{font-size:12px;color:var(--kc-muted)}.admin-task-row{display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;grid-gap:8px;gap:8px;padding:8px 14px;border-top:1px solid var(--kc-border);background:var(--kc-surface);cursor:pointer;min-height:40px;-webkit-tap-highlight-color:transparent}.admin-task-row:active{background:var(--kc-bg)}.admin-task-check{display:flex;align-items:center;justify-content:center}.admin-task-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--kc-success);cursor:pointer}.admin-task-title{font-size:14px;color:var(--kc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-task-title.done{text-decoration:line-through;color:var(--kc-muted)}.admin-task-assignee,.admin-task-due{font-size:12px;color:var(--kc-muted);white-space:nowrap}.myday-section{margin-bottom:16px}.myday-section-header{font-size:14px;font-weight:600;color:var(--kc-text);margin-bottom:8px;padding:0 2px}.myday-task{background:var(--kc-surface);border-radius:var(--kc-radius);box-shadow:var(--kc-card-shadow);padding:12px 14px;margin-bottom:8px;border-left:3px solid var(--kc-blue)}.myday-task-title{font-size:15px;font-weight:600;color:var(--kc-text);margin-bottom:4px}.myday-task-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--kc-muted)}.search-bar-container{position:relative;margin-bottom:12px}.search-input{width:100%;padding:10px 14px;border:1px solid var(--kc-border);border-radius:var(--kc-radius);background:var(--kc-surface);font-size:14px;color:var(--kc-text);min-height:44px;box-shadow:var(--kc-card-shadow)}.search-input:focus{outline:none;border-color:var(--kc-blue);box-shadow:0 0 0 3px rgba(37,99,160,.1)}.search-input::placeholder{color:var(--kc-muted)}.search-results{position:absolute;top:100%;left:0;right:0;z-index:30;background:var(--kc-surface);border:1px solid var(--kc-border);border-radius:var(--kc-radius);box-shadow:0 4px 16px rgba(0,0,0,.12);max-height:60vh;overflow-y:auto;margin-top:4px}.search-group{padding:8px 0;border-bottom:1px solid var(--kc-border)}.search-group:last-of-type{border-bottom:none}.search-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--kc-muted);padding:4px 14px}.search-result-item{display:flex;flex-direction:column;gap:2px;padding:8px 14px;cursor:pointer;min-height:40px;justify-content:center}.search-result-item:active,.search-result-item:hover{background:var(--kc-bg)}.search-result-item span:first-child{font-size:14px;color:var(--kc-text);font-weight:500}.search-result-meta{font-size:12px;color:var(--kc-muted)}.search-close{display:block;width:100%;padding:10px;border:none;background:var(--kc-bg);color:var(--kc-blue);font-size:13px;font-weight:600;cursor:pointer;min-height:40px;border-radius:0 0 var(--kc-radius) var(--kc-radius)}.search-close:active{background:var(--kc-border)}.filter-pill{display:inline-block;padding:6px 14px;border:1px solid var(--kc-border);border-radius:20px;background:var(--kc-surface);color:var(--kc-muted);font-size:12px;font-weight:500;cursor:pointer;min-height:32px;white-space:nowrap;text-transform:capitalize}.filter-pill.active{background:var(--kc-blue);color:#fff;border-color:var(--kc-blue)}.filter-pill:active{opacity:.8}@media (min-width:600px){.metrics{grid-template-columns:repeat(4,1fr)}.modal-overlay{align-items:center}.modal-content{border-radius:16px;max-height:80vh}}