.shell{display:flex;min-height:100vh}.shell-sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--pine-dark);color:var(--paper);display:flex;flex-direction:column;padding:var(--space-5) var(--space-4);position:sticky;top:0;height:100vh}.shell-brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-7);padding:0 var(--space-2)}.shell-brand-mark{color:var(--gold);font-size:14px}.shell-brand-name{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--paper)}.shell-nav{display:flex;flex-direction:column;gap:2px;flex:1}.shell-nav-link{display:block;padding:9px 12px;border-radius:var(--radius-sm);color:#f0f1ecb8;text-decoration:none;font-size:14px;font-weight:500;transition:background-color .12s ease,color .12s ease}.shell-nav-link:hover{background:#f0f1ec14;color:var(--paper)}.shell-nav-link.is-active{background:#f0f1ec24;color:var(--paper)}.shell-footer{border-top:1px solid rgba(240,241,236,.14);padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.shell-user{font-size:12.5px;color:#f0f1ec99;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--space-2)}.shell-footer .btn-ghost{color:#f0f1ecb8;justify-content:flex-start}.shell-footer .btn-ghost:hover{background:#f0f1ec14;color:var(--paper)}.shell-main{flex:1;min-width:0;padding:var(--space-6) var(--space-7)}@media (max-width: 860px){.shell{flex-direction:column}.shell-sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;padding:var(--space-3) var(--space-4)}.shell-brand{margin-bottom:0}.shell-nav{flex-direction:row;flex:1;justify-content:center}.shell-footer{border-top:none;flex-direction:row;align-items:center}.shell-user{display:none}.shell-main{padding:var(--space-5)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper);padding:var(--space-5)}.auth-card{width:100%;max-width:380px}.auth-brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6)}.auth-brand-mark{color:var(--gold);font-size:16px}.auth-brand-name{font-family:var(--font-display);font-size:18px;font-weight:600}.auth-card h1{margin-bottom:var(--space-1)}.auth-subtitle{color:var(--ink-soft);font-size:14px;margin-bottom:var(--space-6)}.auth-form{margin-top:var(--space-5)}.auth-switch{margin-top:var(--space-5);font-size:14px;color:var(--ink-soft);text-align:center}.status-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}.job-card{display:flex;background:var(--paper-raised);border:1px solid var(--hairline);border-radius:var(--radius-sm);text-decoration:none;color:var(--ink);margin-bottom:var(--space-3);cursor:grab;transition:border-color .12s ease,box-shadow .12s ease;overflow:hidden}.job-card:hover{border-color:var(--hairline-strong);box-shadow:0 2px 8px #1c232114}.job-card:active{cursor:grabbing}.job-card-tab{width:4px;flex-shrink:0;background:var(--tab-color, var(--ink-faint))}.job-card-body{padding:var(--space-3) var(--space-4);flex:1;min-width:0}.job-card-company{font-size:12px;color:var(--ink-faint);text-transform:none;margin-bottom:2px}.job-card-title{font-family:var(--font-display);font-size:16px;font-weight:600;margin-bottom:var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-card-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.job-card-stale{font-size:12px;color:var(--gold);font-weight:600}.job-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-2)}.job-card-tag{font-size:11px;color:var(--ink-soft);background:var(--paper);border:1px solid var(--hairline);padding:1px 7px;border-radius:var(--radius-sm)}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:var(--space-4);align-items:start}.kanban-column{background:transparent;border-radius:var(--radius-md);min-height:200px;transition:background-color .12s ease;padding:var(--space-2)}.kanban-column.is-drag-over{background:var(--pine-tint)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2) var(--space-3);border-bottom:1px solid var(--hairline-strong);margin-bottom:var(--space-3)}.kanban-column-header h3{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--ink-soft)}.kanban-column-count{font-size:12px;color:var(--ink-faint);background:var(--paper-raised);border:1px solid var(--hairline);border-radius:10px;padding:1px 8px}.kanban-column-empty{font-size:13px;color:var(--ink-faint);padding:var(--space-4) var(--space-2);text-align:center;font-style:italic}@media (max-width: 1100px){.kanban-board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.kanban-board{grid-template-columns:1fr}}.empty-state{border:1px dashed var(--hairline-strong);border-radius:var(--radius-md);padding:var(--space-8) var(--space-5);text-align:center;max-width:420px;margin:var(--space-7) auto}.empty-state h2{margin-bottom:var(--space-2)}.empty-state p{color:var(--ink-soft);font-size:14px;margin-bottom:var(--space-5)}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.dashboard-stale-note{color:var(--gold);font-weight:600}.list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.list-header-actions{display:flex;gap:var(--space-2)}.list-filters{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-5);flex-wrap:wrap}.list-search{flex:1;min-width:220px;padding:8px 11px;border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--paper-raised);font-size:14px}.list-filters select{padding:8px 11px;border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--paper-raised);font-size:14px}.list-archive-toggle{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-soft);white-space:nowrap}.job-table{width:100%;border-collapse:collapse;background:var(--paper-raised);border:1px solid var(--hairline);border-radius:var(--radius-md);overflow:hidden}.job-table th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-faint);text-transform:none;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--hairline-strong)}.job-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--hairline);font-size:14px;vertical-align:middle}.job-table tr:last-child td{border-bottom:none}.job-table-title{color:var(--ink);font-weight:500;text-decoration:none}.job-table-title:hover{color:var(--pine)}.is-archived-row{opacity:.55}.archived-tag{font-size:11px;color:var(--ink-faint);border:1px solid var(--hairline);padding:2px 7px;border-radius:var(--radius-sm)}@media (max-width: 720px){.job-table thead{display:none}.job-table,.job-table tbody,.job-table tr,.job-table td{display:block;width:100%}.job-table tr{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--hairline)}.job-table td{border-bottom:none;padding:2px 0}}.tag-input{display:flex;flex-wrap:wrap;gap:6px;padding:7px 9px;border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--paper-raised)}.tag-input:focus-within{border-color:var(--pine)}.tag-chip{display:inline-flex;align-items:center;gap:5px;background:var(--pine-tint);color:var(--pine-dark);padding:3px 6px 3px 10px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500}.tag-chip-remove{background:none;border:none;color:var(--pine-dark);cursor:pointer;font-size:14px;line-height:1;padding:2px;opacity:.6}.tag-chip-remove:hover{opacity:1}.tag-input-field{border:none;outline:none;background:transparent;flex:1;min-width:120px;font-size:14px;padding:3px 4px}.job-form{max-width:620px}.job-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.job-form textarea{padding:9px 11px;border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--paper-raised);resize:vertical;min-height:100px}.job-form textarea:focus{border-color:var(--pine)}@media (max-width: 560px){.job-form-row{grid-template-columns:1fr}}.new-job-page{max-width:680px}.page-subtitle{color:var(--ink-soft);font-size:14px;margin-top:var(--space-1);margin-bottom:var(--space-5)}.quick-add-box{background:var(--paper-raised);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-6)}.quick-add-form{display:flex;gap:var(--space-2)}.quick-add-form input{flex:1;padding:8px 10px;border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--paper);font-size:13.5px}.quick-add-note{margin-top:var(--space-2);font-size:12.5px;color:var(--ink-soft)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c232166;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.confirm-dialog{background:var(--paper-raised);border-radius:var(--radius-md);padding:var(--space-5);max-width:380px;width:100%;box-shadow:0 12px 32px #1c232138}.confirm-message{margin-top:var(--space-2);color:var(--ink-soft);font-size:14px;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.job-detail-page{max-width:680px}.job-detail-back{display:inline-block;font-size:13px;color:var(--ink-soft);text-decoration:none;margin-bottom:var(--space-4)}.job-detail-back:hover{color:var(--pine)}.job-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-3)}.job-detail-company{font-size:13px;color:var(--ink-faint);margin-bottom:2px}.job-detail-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.job-detail-status-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.job-detail-stale{font-size:13px;color:var(--gold);font-weight:500}.job-detail-status-select{max-width:260px;margin-bottom:var(--space-6)}.job-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6);margin:0 0 var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--hairline)}.job-detail-grid dt{font-size:12px;color:var(--ink-faint);margin-bottom:2px}.job-detail-grid dd{margin:0;font-size:14px}.job-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-5)}.job-detail-section{margin-bottom:var(--space-6)}.job-detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.job-detail-notes{font-size:14px;color:var(--ink-soft);white-space:pre-wrap;line-height:1.6}.job-detail-empty{font-size:13.5px;color:var(--ink-faint);font-style:italic}.attachment-list{list-style:none;padding:0;margin:0;border:1px solid var(--hairline);border-radius:var(--radius-sm);overflow:hidden}.attachment-list li{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--hairline);background:var(--paper-raised)}.attachment-list li:last-child{border-bottom:none}.attachment-link{background:none;border:none;padding:0;color:var(--pine);font-size:13.5px;cursor:pointer;text-align:left}.attachment-link:hover{text-decoration:underline}@media (max-width: 560px){.job-detail-grid{grid-template-columns:1fr}}.analytics-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin:var(--space-6) 0 var(--space-3)}.analytics-secondary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-7)}.stat-card{background:var(--paper-raised);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-4)}.stat-card-accent{border-color:var(--gold);background:var(--gold-tint)}.stat-card-value{font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--ink);margin-bottom:2px}.stat-card-small .stat-card-value{font-size:22px}.stat-card-label{font-size:12.5px;color:var(--ink-soft)}.analytics-breakdown-title{margin-bottom:var(--space-4)}.analytics-breakdown{display:flex;flex-direction:column;gap:var(--space-3);max-width:520px}.breakdown-row{display:grid;grid-template-columns:110px 1fr 28px;align-items:center;gap:var(--space-3)}.breakdown-label{font-size:13px;color:var(--ink-soft)}.breakdown-bar-track{height:8px;background:var(--hairline);border-radius:4px;overflow:hidden}.breakdown-bar-fill{height:100%;border-radius:4px}.breakdown-count{font-size:13px;color:var(--ink-faint);text-align:right}@media (max-width: 720px){.analytics-stats,.analytics-secondary{grid-template-columns:repeat(2,1fr)}}:root{--paper: #f0f1ec;--paper-raised: #f8f8f4;--ink: #1c2321;--ink-soft: #4a534e;--ink-faint: #8b938e;--hairline: rgba(28, 35, 33, .14);--hairline-strong: rgba(28, 35, 33, .28);--pine: #1f4741;--pine-dark: #14312c;--pine-tint: #e4ebe9;--gold: #c99a3b;--gold-tint: #f5ead0;--status-applied: #5b7b9a;--status-applied-tint: #e6edf2;--status-interviewing: #c99a3b;--status-interviewing-tint: #f5ead0;--status-offer: #2f7a5d;--status-offer-tint: #e1f0e8;--status-rejected: #a8503a;--status-rejected-tint: #f4e3de;--status-withdrawn: #8a8a82;--status-withdrawn-tint: #eaeae6;--font-display: "Fraunces", "Iowan Old Style", serif;--font-ui: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 3px;--radius-md: 5px;--sidebar-width: 232px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0;color:var(--ink)}h1{font-size:30px;letter-spacing:-.01em}h2{font-size:21px}h3{font-size:17px}p{margin:0}a{color:var(--pine)}button{font-family:var(--font-ui)}input,select,textarea{font-family:var(--font-ui);font-size:14px;color:var(--ink)}:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:9px 16px;font-size:14px;font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background-color .12s ease,border-color .12s ease;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--pine);color:var(--paper-raised)}.btn-primary:hover:not(:disabled){background:var(--pine-dark)}.btn-secondary{background:transparent;border-color:var(--hairline-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){border-color:var(--ink);background:var(--paper-raised)}.btn-danger{background:transparent;border-color:var(--status-rejected);color:var(--status-rejected)}.btn-danger:hover:not(:disabled){background:var(--status-rejected-tint)}.btn-ghost{background:transparent;color:var(--ink-soft);padding:6px 10px}.btn-ghost:hover:not(:disabled){background:var(--paper-raised);color:var(--ink)}.btn-sm{padding:5px 10px;font-size:13px}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-size:13px;font-weight:500;color:var(--ink-soft)}.field input,.field select,.field textarea{padding:9px 11px;border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--paper-raised);color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pine)}.field-error{font-size:12.5px;color:var(--status-rejected)}.field-hint{font-size:12.5px;color:var(--ink-faint)}.banner-error{background:var(--status-rejected-tint);border:1px solid var(--status-rejected);color:var(--status-rejected);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:14px;margin-bottom:var(--space-4)}.banner-info{background:var(--gold-tint);border:1px solid var(--gold);color:#6b5220;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:14px;margin-bottom:var(--space-4)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
