*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #080c12;--bg-card: #111827;--bg-input: #1f2937;--border: #374151;--text: #f3f4f6;--text-muted: #9ca3af;--accent: #4ade80;--accent-hover: #22c55e;--danger: #f87171;--warning: #fbbf24;--info: #60a5fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html,body{overflow-x:hidden;min-height:100dvh}.app{display:flex;flex-direction:column;min-height:100dvh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top,0px));background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.topbar-brand{font-weight:700;font-size:1.1rem;color:var(--accent)}.main-content{flex:1;padding:1rem;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));padding-left:calc(1rem + env(safe-area-inset-left,0px));padding-right:calc(1rem + env(safe-area-inset-right,0px));max-width:48rem;width:100%;margin:0 auto}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:50}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:3.25rem;padding:.5rem 0;color:var(--text-muted);text-decoration:none;font-size:.65rem;font-weight:500;letter-spacing:.02em;transition:color .15s;user-select:none;-webkit-user-select:none}.nav-tab.active{color:var(--accent)}.nav-icon svg{width:1.35rem;height:1.35rem}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;-webkit-user-select:none;user-select:none}.btn-primary{background:var(--accent);color:var(--bg);font-weight:600;padding:.625rem 1.25rem;border-radius:.5rem;font-size:.9rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center}.btn-primary:active{background:var(--accent-hover);transform:scale(.97)}.btn-ghost{color:var(--text-muted);padding:.5rem .75rem;border-radius:.375rem;font-size:.9rem;min-height:2.75rem;display:inline-flex;align-items:center}.btn-ghost:active{color:var(--text);background:var(--bg-input)}.btn-delete{color:var(--text-muted);font-size:1.4rem;min-width:2.75rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;flex-shrink:0}.btn-delete:active{color:var(--danger);background:#f871711a}input,textarea,select{font-family:inherit;font-size:1rem;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:.5rem;padding:.75rem;width:100%;min-height:2.75rem;outline:none;-webkit-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem}.page h2{margin-bottom:1rem;font-size:1.25rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.page-loading{display:flex;align-items:center;justify-content:center;height:100dvh;color:var(--text-muted)}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.9rem}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:1rem}.login-form{display:flex;flex-direction:column;gap:1rem;width:min(20rem,100%)}.login-form h1{text-align:center;color:var(--accent);font-size:1.5rem}.login-form button{background:var(--accent);color:var(--bg);font-weight:600;padding:.75rem;border-radius:.5rem;font-size:1rem;min-height:2.75rem}.login-form button:disabled{opacity:.5;cursor:not-allowed}.error{color:var(--danger);text-align:center;font-size:.9rem}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem 1rem;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--accent);line-height:1.2}.stat-label{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.add-form{display:flex;gap:.5rem;margin-bottom:1rem}.add-form input{flex:1;min-width:0}.add-form button{background:var(--accent);color:var(--bg);font-weight:600;padding:.75rem 1.25rem;border-radius:.5rem;white-space:nowrap;min-height:2.75rem;flex-shrink:0}.add-form button:disabled{opacity:.4}.filter-tabs{display:flex;gap:.25rem;margin-bottom:.75rem}.filter-btn{padding:.5rem 1rem;border-radius:1rem;font-size:.85rem;color:var(--text-muted);min-height:2.25rem}.filter-btn.active{background:var(--bg-input);color:var(--accent)}.filter-btn:active{transform:scale(.96)}.task-list{list-style:none}.task-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border);min-height:3rem}.task-item.done .task-text{text-decoration:line-through;color:var(--text-muted)}.task-check{font-size:1.4rem;min-width:2.75rem;min-height:2.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:.375rem}.task-check:active{background:var(--bg-input)}.task-content{flex:1;min-width:0}.task-text{display:block;font-size:.95rem;word-break:break-word}.task-due{font-size:.75rem;color:var(--warning)}.priority-badge{font-size:.7rem;text-transform:uppercase;font-weight:600;padding:.2rem .5rem;border-radius:.25rem;background:var(--bg-input);flex-shrink:0;letter-spacing:.03em}.priority-badge.high,.priority-badge.urgent{color:var(--danger)}.priority-badge.medium{color:var(--warning)}.priority-badge.low{color:var(--text-muted)}.job-form{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem;background:var(--bg-card);padding:1rem;border-radius:.75rem;border:1px solid var(--border)}.job-form button{background:var(--accent);color:var(--bg);font-weight:600;padding:.75rem;border-radius:.5rem;min-height:2.75rem}.job-form button:active{background:var(--accent-hover)}.job-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}.job-card{background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:1rem}.job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.job-header strong{display:block;font-size:1rem;word-break:break-word}.job-role{color:var(--text-muted);font-size:.875rem;display:block;margin-top:.1rem}.job-salary{font-size:.9rem;color:var(--accent);margin:.4rem 0}.job-status-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.job-status-row select{width:auto;min-width:8rem;font-size:.9rem;padding:.5rem 2.25rem .5rem .75rem;min-height:2.5rem;border-width:2px}.job-date{font-size:.8rem;color:var(--text-muted)}.job-notes{font-size:.85rem;color:var(--text-muted);margin-top:.5rem;word-break:break-word}.count-badge{font-size:.8rem;background:var(--bg-input);padding:.15rem .6rem;border-radius:1rem;font-weight:500;color:var(--text-muted);vertical-align:middle}.email-list{list-style:none}.email-item{display:flex;align-items:flex-start;gap:.25rem;padding:.75rem 0;border-bottom:1px solid var(--border);cursor:pointer;min-height:3.5rem}.email-item:active{background:var(--bg-input);margin:0 -1rem;padding-left:1rem;padding-right:1rem}.email-item.read{opacity:.55}.email-item.starred .star-btn{color:var(--warning)}.star-btn{font-size:1.3rem;min-width:2.75rem;min-height:2.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted);border-radius:.375rem}.star-btn:active{background:var(--bg-input)}.email-content{flex:1;min-width:0;padding:.25rem 0}.email-sender{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-subject{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-snippet{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem}.email-date{font-size:.75rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0;padding-top:.3rem;padding-left:.25rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;font-size:.9rem;color:var(--text-muted)}.pagination button{color:var(--accent);font-size:.9rem;padding:.5rem 1rem;min-height:2.75rem;border-radius:.375rem}.pagination button:active{background:var(--bg-input)}.pagination button:disabled{color:var(--text-muted);opacity:.4;cursor:not-allowed}.task-create-form{margin-bottom:1rem}.options-toggle{font-size:.8rem;color:var(--text-muted);padding:.35rem .5rem;margin-top:.25rem;min-height:2rem}.options-toggle:active{color:var(--accent)}.task-options{background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:.75rem;margin-top:.5rem;display:flex;flex-direction:column;gap:.6rem}.task-options-row{display:flex;gap:.75rem}.option-group{flex:1;min-width:0}.option-group label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.pill-group{display:flex;gap:.3rem}.pill{padding:.4rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600;background:var(--bg-input);color:var(--text-muted);min-height:2rem;min-width:2.5rem;display:flex;align-items:center;justify-content:center}.pill:active{transform:scale(.95)}.pill.active{color:var(--bg)}.pill.active.urgent{background:var(--danger)}.pill.active.high{background:#f97316}.pill.active.medium{background:var(--warning)}.pill.active.low{background:var(--text-muted)}.task-meta{display:flex;gap:.5rem;align-items:center;margin-top:.15rem;flex-wrap:wrap}.cat-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;font-weight:600;color:var(--info);background:#60a5fa1f;padding:.1rem .4rem;border-radius:.2rem}.task-due.overdue{color:var(--danger);font-weight:600}.nav-icon-wrap{position:relative;display:inline-flex}.nav-badge{position:absolute;top:-.3rem;right:-.5rem;background:var(--danger);color:#fff;font-size:.55rem;font-weight:700;min-width:1rem;height:1rem;padding:0 .2rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;line-height:1}.job-url{display:inline-block;font-size:.8rem;color:var(--info);text-decoration:none;margin:.25rem 0;padding:.25rem 0;min-height:2rem}.job-url:active{color:var(--accent)}.job-form-row{display:flex;flex-direction:column;gap:.25rem}.job-form-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.pulse h2{font-size:1.15rem;color:var(--text-muted);font-weight:400;margin-bottom:.75rem}.pulse-section{margin-bottom:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem}.pulse-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.5rem;font-weight:700}.pulse-section.fires{border-color:var(--danger)}.pulse-section.fires h3{color:var(--danger)}.fire-icon{flex-shrink:0;font-size:.9rem;width:1.5rem;text-align:center}.pulse-empty{color:var(--text-muted);font-size:.85rem;padding:.5rem 0}.pulse-note{display:flex;flex-direction:column;gap:.15rem;font-size:.7rem;color:var(--text-muted);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.money-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.money-card{background:var(--bg-input);border-radius:.5rem;padding:.75rem .6rem;text-align:center}.money-value{font-size:1.25rem;font-weight:700;color:var(--accent);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.money-value.dim{color:var(--text-muted)}.money-card.stripe .money-value{color:#a78bfa}.money-label{font-size:.65rem;color:var(--text-muted);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.priority-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.priority-dot.urgent{background:var(--danger)}.priority-dot.high{background:#f97316}.priority-dot.medium{background:var(--warning)}.priority-dot.low{background:var(--text-muted)}.briefing-clear.compact{padding:1rem;margin-top:0;font-size:.85rem}.stat-card{cursor:pointer;transition:border-color .15s}.stat-card:active{border-color:var(--accent);transform:scale(.97)}.briefing-section{margin-top:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem}.briefing-section h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.5rem;font-weight:600}.briefing-section.danger{border-color:var(--danger)}.briefing-section.danger h3{color:var(--danger)}.briefing-section.warning{border-color:var(--warning)}.briefing-section.warning h3{color:var(--warning)}.briefing-section.info{border-color:var(--info)}.briefing-section.info h3{color:var(--info)}.briefing-list{list-style:none}.briefing-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border);cursor:pointer;min-height:2.75rem}.briefing-item:last-child{border-bottom:none}.briefing-item:active{opacity:.7}.briefing-text{flex:1;min-width:0;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.briefing-meta{font-size:.8rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.briefing-meta.overdue{color:var(--danger);font-weight:600}.briefing-clear{margin-top:1.25rem;text-align:center;color:var(--accent);font-weight:500;padding:2rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;font-size:.95rem}.email-search-form{display:flex;gap:.5rem;margin-bottom:1rem}.email-search-form input{flex:1;min-width:0}.search-btn{flex-shrink:0;padding:.625rem 1rem;font-size:.85rem}.search-clear{flex-shrink:0;padding:.5rem .75rem;font-size:.85rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem;text-align:center;color:var(--danger)}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;text-align:center;gap:1rem}.error-screen h2{color:var(--danger);font-size:1.5rem}.error-screen p{color:var(--text-muted);max-width:24rem}@media(min-width:640px){.stat-grid{grid-template-columns:repeat(4,1fr)}.main-content{padding:1.5rem 2rem;padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}.task-options-row{flex-direction:row}}
