:root{--bg-primary:#f7f6f2;--bg-elevated:#fff;--bg-secondary:#eeedea;--bg-hover:#e5e4df;--accent-primary:#6b8a7a;--accent-hover:#5a7566;--accent-light:#e8efe9;--accent-border:#b8cdc0;--status-saved:#8b9d83;--status-applied:#7a96b5;--status-interview:#b89068;--status-offer:#6b8a7a;--status-rejected:#a38a8a;--text-primary:#2d2d2a;--text-secondary:#6b6a63;--text-tertiary:#9d9c94;--shadow-sm:0 1px 2px #2d2d2a0a;--shadow-md:0 2px 8px #2d2d2a0f, 0 1px 3px #2d2d2a0a;--shadow-lg:0 8px 24px #2d2d2a14, 0 2px 6px #2d2d2a0a;--shadow-card:0 1px 3px #2d2d2a0d, 0 0 0 1px #2d2d2a05;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Arial,sans-serif}button,input,select,textarea{font:inherit}.app-container{min-height:100vh;display:flex}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--bg-secondary);width:240px;padding:var(--space-xl);gap:var(--space-2xl);flex-direction:column;flex-shrink:0;display:flex}.sidebar-header{align-items:center;gap:var(--space-md);display:flex}.app-logo{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-primary), var(--accent-hover));color:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:flex}.app-name{letter-spacing:-.02em;font-size:18px;font-weight:600}.nav-section{gap:var(--space-xs);flex-direction:column;display:flex}.nav-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:0 var(--space-sm);margin-bottom:var(--space-xs);font-size:11px;font-weight:600}.nav-item{width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--text-secondary);text-align:left;align-items:center;gap:var(--space-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-item.active{background:var(--accent-light);color:var(--accent-primary)}.nav-icon{font-size:14px;line-height:1}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sidebar-overlay{display:none}.mobile-menu-toggle{background:var(--bg-secondary);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:none}.mobile-menu-toggle:hover{background:var(--bg-hover)}.header-top{display:contents}.header{background:var(--bg-elevated);border-bottom:1px solid var(--bg-secondary);padding:var(--space-lg) var(--space-2xl);align-items:center;gap:var(--space-xl);box-shadow:var(--shadow-sm);display:flex}.header-left{flex:none;align-items:center;min-width:0;display:flex}.header-top{align-items:center;gap:var(--space-md);min-width:0;display:flex}.page-title{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;margin:0;font-size:24px;font-weight:600;overflow:hidden}.mobile-header-panel{flex:auto;justify-content:flex-end;align-items:center;min-width:0;margin-left:auto;display:flex}.header-controls{justify-content:flex-end;align-items:center;gap:var(--space-md);flex-wrap:nowrap;min-width:0;margin-left:auto;display:flex}.view-toggle{background:var(--bg-secondary);border-radius:var(--radius-md);flex-shrink:0;gap:2px;padding:3px;display:flex}.view-toggle button{padding:var(--space-sm) var(--space-lg);color:var(--text-secondary);border-radius:calc(var(--radius-md) - 3px);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-size:14px;font-weight:500}.search-wrapper{flex:none;position:relative}.search-icon{left:var(--space-md);color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input,.filter-select{border-radius:var(--radius-md);border:1px solid var(--bg-hover);height:42px;transition:all var(--transition-fast)}.search-input{background:var(--bg-primary);width:280px;color:var(--text-primary);padding:10px 12px 10px 40px}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus,.filter-select:focus{border-color:var(--accent-border);background:var(--bg-elevated);box-shadow:var(--shadow-sm);outline:none}.filter-select{background:var(--bg-elevated);min-width:150px;color:var(--text-primary);cursor:pointer;flex-shrink:0;padding:0 14px}.btn-primary,.btn-secondary{flex-shrink:0}button{cursor:pointer}.btn-primary,.btn-secondary{border-radius:var(--radius-md);height:42px;padding:0 var(--space-xl);align-items:center;gap:var(--space-sm);transition:all var(--transition-fast);border:none;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-secondary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.view-toggle{background:var(--bg-secondary);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.view-toggle button{color:var(--text-secondary);padding:var(--space-sm) var(--space-lg);border-radius:calc(var(--radius-md) - 3px);transition:all var(--transition-fast);background:0 0;border:none;font-size:14px;font-weight:500}.view-toggle button:hover{color:var(--text-primary)}.view-toggle button.active{background:var(--bg-elevated);color:var(--accent-primary);box-shadow:var(--shadow-sm)}.content{padding:var(--space-2xl);flex:1;overflow-y:auto}.container{background:0 0;border-radius:0;max-width:none;margin:0;padding:0}h1{text-align:left}.top-bar,.filters{display:contents}.filters-input,.filters-select{min-width:0}.feedback-message{margin:0 0 var(--space-lg);color:var(--text-secondary);font-size:14px}.error-message{color:#9b3e22}.table-wrapper{overflow-x:auto}.job-table{border-collapse:collapse;background:var(--bg-elevated);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);overflow:hidden}.job-table th,.job-table td{text-align:left;border-bottom:1px solid var(--bg-secondary);vertical-align:middle;padding:16px 18px}.job-table th{background:var(--bg-secondary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600}.table-row-clickable{cursor:pointer;transition:background var(--transition-fast)}.table-row-clickable:hover{background:var(--bg-primary)}.table-company-name{color:var(--text-primary);font-weight:600}.table-job-title{color:var(--text-primary);font-weight:500}.table-actions{align-items:center;gap:6px;display:flex}.table-icon-button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;margin-right:4px;padding:6px;transition:background .15s,color .15s}.table-icon-button:hover{background:var(--accent-light);color:var(--accent-primary)}.table-icon-button.danger:hover{color:#b42318;background:#fdecea}.job-table-empty{text-align:center;color:var(--text-secondary);padding:28px 18px}.kanban-board{gap:var(--space-lg);height:100%;padding-bottom:var(--space-lg);align-items:flex-start;display:flex;overflow-x:auto}.kanban-column{gap:var(--space-md);flex-direction:column;flex-shrink:0;width:320px;display:flex}.kanban-actions{justify-content:flex-end;gap:8px;margin-top:15px;display:flex}.column-header{padding:var(--space-md) var(--space-sm);justify-content:space-between;align-items:center;display:flex}.column-title{align-items:center;gap:var(--space-sm);display:flex}.column-name{color:var(--text-primary);font-size:14px;font-weight:600}.column-count{background:var(--bg-secondary);color:var(--text-secondary);border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.saved{background:var(--status-saved)}.status-dot.applied{background:var(--status-applied)}.status-dot.interview{background:var(--status-interview)}.status-dot.offer{background:var(--status-offer)}.status-dot.rejected{background:var(--status-rejected)}.cards-container{gap:var(--space-md);padding:var(--space-xs);background:var(--bg-secondary);border-radius:var(--radius-lg);min-height:220px;transition:background var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;flex:1;display:flex}.cards-container--active{background:var(--accent-light);box-shadow:inset 0 0 0 2px var(--accent-border)}.job-card{background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-card);cursor:grab;transition:all var(--transition-base);border:1px solid #0000;flex-direction:column;display:flex}.job-card:hover{box-shadow:var(--shadow-md);border-color:var(--bg-hover);transform:translateY(-2px)}.job-card:active{cursor:grabbing}.job-card--dragging{opacity:.45;transform:scale(.98)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.card-company{flex:1}.company-name{color:var(--text-primary);margin-bottom:var(--space-xs);letter-spacing:-.01em;font-size:16px;font-weight:600}.job-title{color:var(--text-secondary);font-size:14px;line-height:1.4}.card-meta{gap:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--bg-secondary);flex-wrap:wrap;display:flex}.meta-item{align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:13px;display:flex}.meta-icon{color:var(--text-tertiary);font-size:14px;line-height:1}.icon-button{color:var(--accent-primary);background:0 0;border:1px solid #d7e3db;border-radius:10px;padding:8px}.icon-button:hover{background:var(--accent-light)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#2d2d2a66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-elevated);border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);padding:20px;position:relative;overflow-y:auto}.modal-close{background:var(--bg-secondary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:10px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.05)}.modal-close:active{transform:scale(.96)}form{flex-direction:column;gap:10px;display:flex}.form-section{max-width:500px;margin:0 auto;padding-top:12px}.form-header{text-align:center;margin-bottom:24px}.form-section h2,.form-subtitle{text-align:center}.form-section h2{color:var(--text-primary);margin:0 0 8px;font-size:28px;line-height:1.15}.form-subtitle{color:var(--text-secondary);margin:0;font-size:14px}.form-error{color:#b42318;margin:4px 0 0;font-size:14px}.form-group{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-group label{color:var(--text-primary);font-size:14px;font-weight:600}.form-group input,.form-group textarea,.form-group select{border-radius:var(--radius-md);border:1px solid var(--bg-hover);background:var(--bg-primary);transition:all var(--transition-fast);color:var(--text-primary);outline:none;padding:12px 14px;font-size:14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent-primary);background:var(--bg-elevated);box-shadow:0 0 0 3px var(--accent-light)}.form-group textarea{resize:vertical;min-height:90px}.form-actions{gap:10px;margin-top:18px;display:flex}.form-actions--single{justify-content:stretch}.form-submit-button{justify-content:center;width:100%}.job-details{max-width:560px;margin:0 auto}.job-details-header{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:24px;display:flex}.job-details-header h2{color:var(--text-primary);margin:0;font-size:28px;line-height:1.15}.job-details-role{color:var(--text-secondary);margin:0;font-size:15px}.job-details-actions{justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:22px;display:flex}.job-details-actions button{cursor:pointer;color:var(--text-primary);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;padding:10px;display:flex}.job-details-actions button:hover{background:var(--accent-light);border-color:var(--accent-border);color:var(--accent-primary)}.job-details-content{flex-direction:column;gap:14px;display:flex}.job-details-section{background:#f9fafb;border:1px solid #eceff1;border-radius:14px;padding:16px}.job-details-section h3{color:var(--text-primary);margin:0 0 12px;font-size:14px}.job-details-section p{color:var(--text-primary);flex-direction:column;gap:4px;margin:0 0 12px;display:flex}.job-details-section p:last-child{margin-bottom:0}.job-details-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.job-details-link{color:var(--accent-primary);font-weight:600;text-decoration:none}.job-details-link:hover{text-decoration:underline}.job-details-text{white-space:pre-wrap;line-height:1.6}.status-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.status-saved{color:#6b5f52;background:#f3eee9}.status-applied{color:#3f7f91;background:#e6f2f5}.status-interview{color:#a8761d;background:#fff4e0}.status-offer{color:#3f7a5f;background:#e6f3ed}.status-rejected{color:#9b3e22;background:#fdebe5}.empty-state{padding:var(--space-3xl);text-align:center;color:var(--text-tertiary);background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{border-radius:var(--radius-lg);width:54px;height:54px;margin-bottom:var(--space-lg);justify-content:center;align-items:center;font-size:28px;display:flex}.empty-title{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:16px;font-weight:600}.empty-text{color:var(--text-tertiary);font-size:14px}.mobile-hint{display:none}.mobile-header-toggle{background:var(--bg-secondary);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:none}.mobile-header-toggle:hover{background:var(--bg-hover)}.mobile-header-panel{display:contents}@media (width<=1024px){.sidebar{z-index:1001;width:280px;height:100vh;padding:var(--space-xl);transition:left var(--transition-base);box-shadow:var(--shadow-lg);position:fixed;top:0;left:-280px}.sidebar.active{left:0}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#2d2d2a66;display:none;position:fixed;inset:0}.sidebar-overlay.active{display:block}.mobile-menu-toggle{display:flex}.header{padding:var(--space-lg);gap:var(--space-lg)}.page-title{font-size:22px}.mobile-header-panel{flex:auto;min-width:0}.header-controls{gap:var(--space-sm)}.view-toggle button{padding:var(--space-sm) var(--space-md)}.search-input{width:220px}.filter-select{min-width:130px}.kanban-column{width:280px}}@media (width<=1250px){.header{flex-wrap:wrap;align-items:flex-start}.header-left{flex:none;width:100%;min-width:0}.header-top{align-items:center;gap:var(--space-md);width:100%;min-width:0;display:flex}.page-title{font-size:22px}.mobile-header-panel{justify-content:flex-start;width:100%;margin-left:0}.header-controls{justify-content:flex-start;gap:var(--space-sm);flex-wrap:wrap;width:100%}.search-wrapper{flex:260px;min-width:220px}.filter-select{min-width:130px}.search-input{width:100%}}@media (width<=768px){.header{padding:var(--space-md);gap:var(--space-md);flex-direction:column;align-items:stretch}.header-left{gap:var(--space-md);flex-direction:column;align-items:stretch;width:100%}.header-top{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.page-title{font-size:20px}.mobile-header-toggle{display:flex}.mobile-header-panel{gap:var(--space-md);flex-direction:column;width:100%;margin-left:0;display:none}.mobile-header-panel.active{display:flex}.header-controls{gap:var(--space-md);flex-direction:column;justify-content:flex-start;width:100%}.view-toggle{width:100%}.view-toggle button{padding:var(--space-md);flex:1}.search-wrapper{flex:none;width:100%;min-width:0}.search-input{width:100%}.filter-select{width:100%;min-width:0}.btn-primary,.btn-secondary{width:100%;padding:var(--space-md) var(--space-xl);justify-content:center}.content{padding:var(--space-lg) 0 var(--space-lg) var(--space-lg)}.mobile-hint{color:#666;background:#00000008;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:fit-content;margin-bottom:12px;margin-left:auto;margin-right:auto;padding:6px 12px;font-size:12px;font-weight:500;display:flex}.kanban-board{gap:var(--space-md);-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:var(--space-md);scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;overflow:auto hidden}.kanban-board::-webkit-scrollbar{display:none}.kanban-column{scroll-snap-align:start;flex-shrink:0;width:82vw;min-width:260px;max-width:320px}.column-header{padding:var(--space-md) var(--space-sm);margin-bottom:var(--space-md)}.cards-container{min-height:150px}.job-card{padding:var(--space-lg)}.company-name{font-size:15px}.job-title{font-size:13px}.card-meta{gap:var(--space-sm);flex-direction:column;align-items:flex-start}.table-wrapper{overflow-x:auto}.job-table{min-width:720px}.modal-content{width:100%;max-width:100%;height:100vh;max-height:100vh;padding:var(--space-lg);border-radius:0;margin:0}.form-section,.job-details{max-width:100%}.form-actions{flex-direction:column}.form-submit-button{width:100%}}@media (width<=375px){.page-title{font-size:18px}.kanban-column{width:86vw;min-width:240px}.card-meta{font-size:12px}}@media (hover:none) and (pointer:coarse){.nav-item,.view-toggle button,.btn-primary,.btn-secondary,.modal-close,.mobile-menu-toggle,.mobile-header-toggle{min-height:44px}.job-card:hover{box-shadow:var(--shadow-card);transform:none}.job-card:active{box-shadow:var(--shadow-md);transform:scale(.98)}.btn-primary:hover{transform:none}.btn-primary:active{transform:scale(.98)}}
