:root{--primary: #4f46e5;--primary-hover: #4338ca;--bg-main: #f8fafc;--bg-sidebar: #ffffff;--text-main: #0f172a;--text-muted: #64748b;--border-color: #e2e8f0;--col-new: #3b82f6;--col-backlog: #8b5cf6;--col-applied: #eab308;--col-interview: #f97316;--col-offer: #22c55e;--col-rejected: #ef4444}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background-color:var(--bg-main);color:var(--text-main)}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:24px 0}.brand{display:flex;align-items:center;gap:12px;padding:0 0 0 24px}.brand h2{margin:0;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#4f46e5,#9333ea);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.logo{max-width:32px;height:auto}.nav-links{list-style:none;padding:0;margin:0;flex:1}.nav-item{display:block;padding:12px 24px;color:var(--text-muted);text-decoration:none;font-weight:500;transition:all .2s ease;border-left:3px solid transparent}.nav-item:hover,.nav-item.active{background-color:#f1f5f9;color:var(--primary);border-left-color:var(--primary)}.badge{background-color:#ef4444;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:999px;margin-left:8px;font-weight:600}.badge-today{background-color:#dcfce7;color:#166534;font-size:.65rem;padding:2px 8px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border:1px solid #bbf7d0}.sidebar-footer{padding:24px;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border-color)}.content{flex:1;padding:32px 48px;overflow-y:auto}.view{display:none;animation:fadeIn .3s ease}.view.section-active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-header{margin-bottom:32px}.section-header h1{margin:0 0 8px;font-size:1.875rem;font-weight:700}.subtitle{margin:0;color:var(--text-muted)}.kanban-board{display:flex;gap:20px;height:calc(100vh - 160px);overflow-x:auto;padding-bottom:20px}.kanban-column{background-color:#f1f5f9;border-radius:12px;width:300px;min-width:300px;display:flex;flex-direction:column}.column-header{padding:16px;font-weight:600;font-size:.95rem;display:flex;align-items:center;border-bottom:1px solid var(--border-color)}.column-body{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.dot{width:10px;height:10px;border-radius:50%;margin-right:8px;display:inline-block}.dot.new{background-color:var(--col-new)}.dot.backlog{background-color:var(--col-backlog)}.dot.applied{background-color:var(--col-applied)}.dot.interview{background-color:var(--col-interview)}.dot.offer{background-color:var(--col-offer)}.dot.rejected{background-color:var(--col-rejected)}.count{margin-left:auto;background:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;color:var(--text-muted)}.job-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000d;cursor:grab;transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--border-color)}.job-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.job-card:active{cursor:grabbing}.job-title{font-weight:600;font-size:.95rem;margin:0 0 4px;color:var(--text-main)}.job-company{font-size:.8rem;color:var(--text-muted);margin:0 0 12px}.job-actions{display:flex;justify-content:space-between;align-items:center}.job-link{font-size:.75rem;color:var(--primary);text-decoration:none;font-weight:500}.job-link:hover{text-decoration:underline}.job-delete{color:#ef4444;background:none;border:none;cursor:pointer;font-size:.75rem;padding:4px}.list-container,.sites-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-color);max-width:800px}.site-form{display:flex;gap:12px;margin-bottom:24px}.site-form input{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem}.btn{padding:10px 16px;border:none;border-radius:6px;font-weight:500;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.site-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px}.site-info h4{margin:0 0 4px}.site-info a{color:var(--text-muted);font-size:.8rem;text-decoration:none}.site-actions{display:flex;gap:8px}.job-list-row{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.job-list-row:last-child{border-bottom:none}.job-list-info{flex:1}.job-list-actions{display:flex;gap:8px;align-items:center}.job-list-info .job-title{margin:0 0 6px;font-size:1.05rem}.job-list-info .job-company{margin:0 0 4px;font-size:.9rem;font-weight:500}.job-list-info .job-date{font-size:.75rem;color:var(--text-muted)}.btn-sm{padding:6px 10px;font-size:.8rem}.pagination{display:flex;justify-content:center;gap:12px;align-items:center;margin-top:24px;padding:16px}.pagination .btn{min-width:80px}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{background:#fff;padding:24px;border-radius:8px;width:400px;max-width:90%;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid var(--border-color);padding-bottom:12px}.modal-header h3{margin:0}.btn-close-modal{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted)}.timeline-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.timeline-item{padding:10px 0;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;font-size:.9rem}.timeline-item:last-child{border-bottom:none}.timeline-item .status{font-weight:600;text-transform:capitalize}.timeline-item .date{color:var(--text-muted);font-size:.8rem}.profile-form{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;max-width:500px;padding:24px;background:#fff;border-radius:8px;border:1px solid var(--border-color)}.profile-form input[type=text],.profile-form input[type=file]{padding:10px;border:1px solid var(--border-color);border-radius:6px}.profile-list-item{padding:16px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;background:#fff;display:flex;justify-content:space-between;align-items:center}.job-profile-select{width:100%;margin-top:12px;padding:6px;font-size:.8rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-main)}.job-date-current{font-size:.75rem;color:var(--text-muted);margin-bottom:8px}.btn-timeline{font-size:.75rem;background:none;border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;cursor:pointer;margin-top:8px;width:100%}.btn-timeline:hover{background:var(--bg-main)}.profile-editor{max-width:600px;margin:0 auto;background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000000d;border:1px solid var(--border-color)}.editor-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.editor-header h2{margin:0 0 4px}.progress-bar-container{display:flex;gap:4px;height:8px;border-radius:4px;overflow:hidden;margin-bottom:32px;background:#e2e8f0}.progress-segment{flex:1;background:transparent;transition:background-color .3s}.progress-segment.active{background-color:var(--primary)}.step-content{animation:fadeIn .3s ease}.dropzone{border:2px dashed var(--border-color);border-radius:12px;padding:32px 16px;text-align:center;transition:all .2s;background:#f8fafc}.dropzone.dragging{border-color:var(--primary);background:#eef2ff}.icon-circle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;background:#eef2ff}.icon-pulse{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;background:#eef2ff;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #4f46e566}70%{transform:scale(1);box-shadow:0 0 0 10px #4f46e500}to{transform:scale(.95);box-shadow:0 0 #4f46e500}}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-name{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;cursor:pointer;color:var(--text-main)}.file-name:hover{color:var(--primary)}.section-container{border:1px solid var(--border-color);border-radius:8px;padding:16px;background:#f8fafc}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.section-header-row h3{margin:0;font-size:1.1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-main)}.form-group input,.form-group textarea{padding:10px;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}.items-list{display:flex;flex-direction:column;gap:16px}.item-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:16px}.relative{position:relative}.absolute-top-right{position:absolute;top:12px;right:12px}.btn-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px}.btn-remove:hover{color:#ef4444;background:#fee2e2}.skills-container{display:flex;flex-wrap:wrap;gap:8px}.skill-badge{background:#eef2ff;color:var(--primary);padding:4px 12px;border-radius:999px;font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:6px}.skill-badge button{background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center}.skill-badge button:hover{color:#ef4444}.editor-footer{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color)}.btn-icon-only{padding:8px;display:flex;align-items:center;justify-content:center}.empty-message{text-align:center;padding:24px;color:var(--text-muted);font-size:.9rem}.empty-message.border-dashed{border:2px dashed var(--border-color);border-radius:8px}.job-card-buttons{display:flex;flex-direction:column;gap:4px;margin-top:8px}.btn-offline{color:#0369a1;border-color:#bae6fd;background:#f0f9ff}.btn-offline:hover{background:#e0f2fe}.btn-profile-view{color:#7c3aed;border-color:#ddd6fe;background:#f5f3ff}.btn-profile-view:hover{background:#ede9fe}.btn-notes{color:#b45309;border-color:#fde68a;background:#fffbeb}.btn-notes:hover{background:#fef3c7}.profile-modal-content{width:680px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column}.profile-modal-body{overflow-y:auto;padding-right:4px}.profile-modal-section{border-top:1px solid var(--border-color);padding:16px 0}.profile-modal-section:first-child{border-top:none;padding-top:0}.profile-modal-section-title{margin:0 0 12px;font-size:.9rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.profile-info-grid{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;font-size:.9rem;align-items:start}.profile-info-label{font-weight:500;color:var(--text-muted);font-size:.82rem}.profile-modal-entry{background:#f8fafc;border:1px solid var(--border-color);border-radius:8px;padding:12px;margin-bottom:8px;font-size:.9rem}.profile-modal-entry:last-child{margin-bottom:0}.markdown-note{background:#f8fafc;border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;font-size:.9rem;line-height:1.6;color:var(--text-main);overflow-x:auto}.markdown-note h1,.markdown-note h2,.markdown-note h3{color:var(--text-main)}.markdown-note ul{margin:4px 0;padding-left:20px}.markdown-note p{margin:4px 0}.pipeline-list-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-color);width:100%;overflow-x:auto;overflow-y:hidden;margin-top:16px}.pipeline-list-table{width:100%;border-collapse:collapse;font-size:.9rem}.pipeline-list-table th,.pipeline-list-table td{padding:16px;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle}.pipeline-list-table tbody tr:last-child td{border-bottom:none}.pipeline-list-table th{background:#f1f5f9;font-weight:600;color:var(--text-muted)}.pipeline-list-table tbody tr:hover{background:#f8fafc}.pipeline-list-table .job-title-cell{font-weight:600;color:var(--text-main);max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipeline-list-table .job-company{color:var(--text-muted);font-size:.85rem}.pipeline-list-table .job-profile-select{margin-top:0;min-width:160px}.pipeline-list-table .status-badge{display:inline-block;padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:600;color:#fff;text-align:center;min-width:80px}.pipeline-list-table .status-badge.backlog{background-color:var(--col-backlog)}.pipeline-list-table .status-badge.applied{background-color:var(--col-applied)}.pipeline-list-table .status-badge.interview{background-color:var(--col-interview)}.pipeline-list-table .status-badge.offer{background-color:var(--col-offer)}.pipeline-list-table .status-badge.rejected{background-color:var(--col-rejected)}.pipeline-list-table .job-list-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pipeline-list-table select.status-select{padding:6px 12px;font-size:.85rem;border-radius:6px;border:1px solid var(--border-color);background-color:#fff;color:var(--text-main);outline:none;cursor:pointer}.pipeline-layout-toggle button{transition:all .2s;outline:none;cursor:pointer}.pipeline-layout-toggle button:hover{opacity:.9}.pipeline-list-table tbody tr.status-row-offer{background-color:#22c55e14}.pipeline-list-table tbody tr.status-row-interview{background-color:#f9731614}.pipeline-list-table tbody tr.status-row-backlog{background-color:#8b5cf614}.pipeline-list-table tbody tr.status-row-applied{background-color:#eab30814}.pipeline-list-table tbody tr.status-row-rejected{background-color:#ef444414}.pipeline-list-table tbody tr.status-row-offer td:first-child{border-left:3px solid var(--col-offer)}.pipeline-list-table tbody tr.status-row-interview td:first-child{border-left:3px solid var(--col-interview)}.pipeline-list-table tbody tr.status-row-backlog td:first-child{border-left:3px solid var(--col-backlog)}.pipeline-list-table tbody tr.status-row-applied td:first-child{border-left:3px solid var(--col-applied)}.pipeline-list-table tbody tr.status-row-rejected td:first-child{border-left:3px solid var(--col-rejected)}.sidebar-top-bar{display:flex;align-items:center;justify-content:space-between;padding-right:12px;padding-bottom:32px}.btn-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-bottom:16px;border-radius:6px;border:1px solid var(--border-color);align-self:flex-start}.btn-hamburger span{display:block;width:22px;height:2px;background:var(--text-main);border-radius:2px}.btn-hamburger:hover{background:var(--bg-main)}.btn-sidebar-close{display:none;background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-muted);padding:4px 8px;border-radius:4px;line-height:1}.btn-sidebar-close:hover{color:var(--text-main);background:var(--bg-main)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:99}@media(max-width:768px){.layout{position:relative}.sidebar{position:fixed;top:0;left:0;height:100%;z-index:100;transform:translate(-100%);transition:transform .25s ease;box-shadow:none}.sidebar.sidebar-open{transform:translate(0);box-shadow:4px 0 20px #00000026}.sidebar-overlay{display:block}.content{width:100%;padding:20px 16px}.btn-hamburger{display:flex}.btn-sidebar-close{display:block}.kanban-board{height:calc(100vh - 200px)}.section-header{flex-direction:column;align-items:flex-start!important;gap:12px}.list-container,.sites-container{padding:16px}.job-list-row{flex-direction:column;align-items:flex-start;gap:12px}.job-list-actions{width:100%;flex-wrap:wrap}.pipeline-list-container{border:none;box-shadow:none;background:transparent;overflow:visible;margin-top:8px}.pipeline-list-table,.pipeline-list-table thead,.pipeline-list-table tbody,.pipeline-list-table th,.pipeline-list-table td,.pipeline-list-table tr{display:block}.pipeline-list-table thead{display:none}.pipeline-list-table tbody tr{margin-bottom:16px;border:1px solid var(--border-color);border-radius:12px;padding:16px;background:#fff;box-shadow:0 1px 3px #0000000d}.pipeline-list-table td{border:none;border-bottom:1px solid #f1f5f9;position:relative;padding:10px 0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.pipeline-list-table td:last-child{border-bottom:none;padding-bottom:0}.pipeline-list-table td:before{content:attr(data-label);font-weight:600;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.pipeline-list-table .job-title-cell{font-size:1.15rem;white-space:normal;max-width:none;padding-bottom:8px;border-bottom:none}.pipeline-list-table .job-title-cell:before{display:none}.pipeline-list-table .job-company{font-size:1rem;padding-bottom:16px;color:var(--text-muted)}.pipeline-list-table .job-company:before{display:none}.pipeline-list-table .job-list-actions{flex-direction:row;flex-wrap:wrap;width:100%;margin-top:8px}.pipeline-list-table .job-list-actions:before{display:none}.pipeline-list-table .job-profile-select{margin-top:0;width:100%;max-width:none}.pipeline-list-table .status-select{flex:1;min-width:100px}.pipeline-list-table tbody tr.status-row-offer td:first-child,.pipeline-list-table tbody tr.status-row-interview td:first-child,.pipeline-list-table tbody tr.status-row-backlog td:first-child,.pipeline-list-table tbody tr.status-row-applied td:first-child,.pipeline-list-table tbody tr.status-row-rejected td:first-child{border-left:none}.pipeline-list-table tbody tr.status-row-offer{border-left:4px solid var(--col-offer)}.pipeline-list-table tbody tr.status-row-interview{border-left:4px solid var(--col-interview)}.pipeline-list-table tbody tr.status-row-backlog{border-left:4px solid var(--col-backlog)}.pipeline-list-table tbody tr.status-row-applied{border-left:4px solid var(--col-applied)}.pipeline-list-table tbody tr.status-row-rejected{border-left:4px solid var(--col-rejected)}}
