@import"https://fonts.googleapis.com/css2?family=Raleway:wght@400;600&display=swap";:root{color:#251838;background:#fbf7ff;font-family:Raleway,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;font-weight:400;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0}.auth-shell{display:grid;min-height:100vh;place-items:center;align-content:center;gap:24px;padding:32px 16px}.auth-logo{width:min(230px,72vw);height:auto}.topbar,.top-actions,.route-toolbar,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar{margin-bottom:22px}.eyebrow{margin:0 0 6px;color:#7c3aed;font-size:.76rem;font-weight:600;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,5vw,4.5rem);font-weight:600;line-height:.95}h2{margin-bottom:0;font-size:1.3rem;font-weight:600}h3{margin-bottom:4px;font-size:1.02rem;font-weight:600}.brand-block{display:flex;align-items:center;min-width:260px}.app-logo{display:block;width:min(210px,36vw);height:auto}.top-actions{flex-wrap:wrap;justify-content:flex-end}.add-item-button{min-width:178px;padding:0 18px}.account-button{min-width:168px;padding:0 16px;background:#fbf9ff}.account-logout{width:42px;color:#7c3aed;background:#fbf9ff;border:1px solid #d8c5ff}.app-menu{width:fit-content;margin:0 0 16px}.app-menu button{min-width:160px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.95fr);gap:16px}.panel,.route-section,.crm-section{border:1px solid #eadcff;border-radius:8px;background:#ffffffeb;box-shadow:0 18px 50px #5c2c911a}.panel{padding:22px}.panel-heading svg{color:#8b5cf6}.progress-panel{display:grid;grid-template-columns:minmax(180px,.8fr) 1fr;align-items:center;gap:20px}.progress-panel .panel-heading{grid-column:1 / -1}.progress-ring{display:grid;width:160px;aspect-ratio:1;margin:0 auto;place-items:center;border-radius:50%;background:radial-gradient(circle closest-side,#ffffff 71%,transparent 72%),conic-gradient(#8b5cf6 var(--value),#eadcff 0)}.progress-ring span{font-size:1.5rem;font-weight:600}.mini-bars{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;min-height:126px}.mini-bar{display:grid;grid-template-rows:1fr auto;gap:8px;height:116px;text-align:center}.mini-bar span{align-self:end;min-height:6px;border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,#a78bfa,#7c3aed)}.mini-bar small{color:#7b7288;font-weight:400}.time-list{display:grid;gap:12px}.time-donut-layout{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:22px;margin-top:24px}.time-donut{display:grid;width:160px;aspect-ratio:1;place-items:center;border-radius:50%;background:radial-gradient(circle closest-side,#ffffff 64%,transparent 65%),conic-gradient(var(--segments))}.time-donut span{font-size:1.25rem;font-weight:600}.time-legend-row{display:grid;grid-template-columns:12px 1fr;align-items:center;gap:10px}.time-legend-row i{width:12px;height:12px;border-radius:50%}.time-legend-row div{display:flex;justify-content:space-between;gap:12px}.time-legend-row strong,.time-legend-row span{font-weight:400}.time-row{display:grid;gap:8px}.time-row div:first-child{display:flex;justify-content:space-between;gap:12px}.time-row span{color:#7b7288;font-weight:400}.track{overflow:hidden;height:10px;border-radius:999px;background:#f0e8ff}.track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#c084fc,#7c3aed)}.insight{margin:18px 0 0;color:#6d28d9;font-weight:400}.muted{color:#7b7288}.item-form{display:grid;gap:14px;margin-top:20px}label{display:grid;gap:7px;color:#51445f;font-size:.9rem;font-weight:400}input,select,textarea{width:100%;border:1px solid #e2d4fb;border-radius:8px;padding:12px 13px;background:#fbf9ff;color:#251838;outline:none}input:focus,select:focus,textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf624}textarea{min-height:92px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.select-wrap{position:relative}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px}.select-wrap svg{position:absolute;top:50%;right:12px;width:18px;height:18px;color:#7c3aed;pointer-events:none;transform:translateY(-50%)}.primary-button,.ghost-button,.icon-button,.check-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:8px;font-weight:400}.primary-button{background:#7c3aed;color:#fff;box-shadow:0 14px 28px #7c3aed3d}.ghost-button{border:1px solid #d8c5ff;background:#f7f1ff;color:#6d28d9}.route-section{margin-top:16px;padding:22px}.crm-section{padding:22px}.crm-total{color:#6d28d9;font-weight:600}.route-toolbar input{max-width:180px}.date-navigation{display:inline-flex;align-items:center;gap:8px}.date-navigation input{width:170px}.date-arrow{width:42px;color:#7c3aed;background:#fbf9ff;border:1px solid #d8c5ff}.route-controls{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:12px}.segmented-control{display:inline-grid;grid-template-columns:repeat(2,1fr);overflow:hidden;border:1px solid #d8c5ff;border-radius:8px;background:#fbf9ff}.segmented-control button{min-width:86px;padding:11px 14px;background:transparent;color:#6d28d9}.segmented-control button.active{background:#7c3aed;color:#fff}.section-tabs button{min-width:112px}.route-list{display:grid;gap:12px;margin-top:18px}.categories-manager{display:grid;gap:18px;margin-top:18px}.category-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.category-form .primary-button{min-width:196px;padding:0 18px}.category-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.category-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;border:1px solid #eadcff;border-radius:8px;padding:12px;background:#fff}.category-info{display:flex;align-items:center;flex:1;gap:10px;min-width:0}.category-item i{width:12px;height:12px;border-radius:50%}.category-item svg{color:#8b5cf6}.category-item strong{font-weight:600}.category-copy{display:grid;gap:3px;min-width:0}.category-copy span{color:#7b7288;font-size:.86rem}.category-actions{display:flex;gap:8px}.category-edit-input{min-width:0;padding:9px 10px}.route-item{display:grid;grid-template-columns:34px 145px 1fr auto;align-items:center;gap:14px;min-height:74px;border:1px solid #eadcff;border-radius:8px;padding:12px;background:#fff}.route-item.done{border-color:#c4b5fd;background:#fff}.route-item.done .route-copy h3{color:#7b7288;text-decoration:line-through}.check-button{width:34px;min-height:34px;border:1px solid #d8c5ff;color:#8b5cf6;background:#fff}.check-button.checked{border-color:#7c3aed;background:#7c3aed;color:#fff}.check-button svg{stroke-width:3}.route-time{display:inline-flex;align-items:center;gap:7px;color:#6d28d9;font-weight:600}.route-copy p{margin-bottom:0}.route-description{color:#51445f;font-size:.92rem}.route-meta{color:#7b7288;font-size:.92rem}.icon-button{width:42px;color:#8b5cf6;background:#fbf7ff}.item-actions{display:flex;gap:8px}.empty-state{display:grid;min-height:180px;place-items:center;border:1px dashed #d8c5ff;border-radius:8px;color:#7b7288;text-align:center}.empty-state svg{color:#8b5cf6}.week-board{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;margin-top:18px;overflow-x:auto;padding-bottom:4px}.week-column{display:grid;grid-template-rows:auto 1fr;min-height:360px;border:1px solid #eadcff;border-radius:8px;background:#fbf9ff}.week-column.selected{border-color:#8b5cf6;box-shadow:inset 0 0 0 1px #8b5cf633}.week-day-header{display:grid;gap:6px;border-bottom:1px solid #eadcff;padding:12px;background:#fff;color:#251838;text-align:left}.week-day-header span{color:#7c3aed;text-transform:uppercase}.week-day-header strong{font-size:1.8rem;font-weight:600}.week-items{display:grid;align-content:start;gap:8px;padding:10px}.week-item{display:grid;gap:4px;width:100%;border:1px solid #d8c5ff;border-radius:8px;padding:10px;background:#fff;color:#251838;text-align:left}.week-item span,.week-item small,.week-empty{color:#7b7288;font-size:.9rem}.week-item strong{font-weight:600}.week-item.done{border-color:#c4b5fd;background:#fff}.week-item.done strong{color:#7b7288;text-decoration:line-through}.week-description{color:#51445f}.week-empty{margin:0;padding:8px 2px}.crm-board{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:12px;margin-top:18px;overflow-x:auto;padding-bottom:6px}.crm-column{display:grid;grid-template-rows:auto 1fr;min-height:520px;border:1px solid #eadcff;border-radius:8px;background:#fbf9ff}.crm-column.dragging{border-color:#c4b5fd}.crm-column-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eadcff;padding:14px;background:#fff}.crm-column-header span{display:grid;min-width:30px;height:30px;place-items:center;border-radius:999px;background:#f3edff;color:#6d28d9;font-weight:600}.crm-card-list{display:grid;align-content:start;gap:10px;padding:10px}.resume-card{display:grid;gap:12px;border:1px solid #d8c5ff;border-radius:8px;padding:12px;background:#fff;cursor:grab}.resume-card:active{cursor:grabbing}.resume-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.resume-card-heading p,.resume-result{margin:0;color:#6f5e83}.resume-result span{color:#251838;font-weight:600}.resume-details{display:grid;gap:8px;margin:0}.resume-details div{display:grid;grid-template-columns:92px 1fr;gap:8px}.resume-details dt{color:#7b7288;font-size:.82rem}.resume-details dd{min-width:0;margin:0;color:#251838;overflow-wrap:anywhere}.resume-details a{color:#6d28d9;font-weight:600}.crm-empty{min-height:96px;border:1px dashed #d8c5ff;border-radius:8px;background:#fff;color:#6d28d9}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;z-index:10;place-items:center;padding:20px;background:#2518386b}.custom-modal,.item-modal{display:grid;width:min(460px,100%);gap:22px;border-radius:28px;padding:28px;background:#f3edff;box-shadow:0 30px 80px #25183847}.item-modal{width:min(560px,100%);background:#fff}.item-modal.resume-modal{width:min(760px,100%)}.auth-card{display:grid;gap:18px;width:min(430px,100%);border-radius:24px;padding:28px;background:#fff;box-shadow:0 30px 80px #25183847}.auth-tabs{width:100%}.auth-form{display:grid;gap:14px}.auth-form .primary-button{width:100%}.auth-message{margin:0;color:#6f5e83;font-size:.9rem;line-height:1.4}.link-button{justify-self:center;padding:6px 8px;background:transparent;color:#6d28d9}.custom-modal h2,.item-modal h2{font-size:1.55rem}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.inline-controls{display:grid;grid-template-columns:auto 64px 1fr;align-items:center;gap:10px}.weekday-picker{display:grid;gap:12px}.weekday-picker>div{display:flex;flex-wrap:wrap;gap:9px}.weekday-picker button{width:32px;height:32px;border-radius:50%;background:#e9ddff;color:#6d28d9;font-weight:600}.weekday-picker button.active{background:#7c3aed;color:#fff}.ends-group{display:grid;gap:12px}.ends-group label{grid-template-columns:20px auto 1fr auto;align-items:center;color:#251838;font-weight:400}.ends-group input[type=radio]{width:18px;accent-color:#7c3aed}.ends-group input:disabled{opacity:.5}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.modal-actions .primary-button,.modal-actions .ghost-button{padding:0 22px}@media(max-width:980px){.dashboard-grid,.progress-panel{grid-template-columns:1fr}.time-donut-layout{grid-template-columns:140px 1fr}}@media(max-width:680px){.app-shell{width:min(100% - 22px,1180px);padding:18px 0}.topbar,.app-menu,.route-toolbar,.panel-heading{align-items:flex-start;flex-direction:column}.app-menu{display:grid;width:100%}.app-menu button{width:100%}.route-toolbar input,.date-navigation,.account-button,.add-item-button{width:100%;max-width:none}.date-navigation input{flex:1}.top-actions,.route-controls{width:100%}.route-controls{align-items:stretch;flex-direction:column}.crm-board{grid-template-columns:repeat(5,minmax(260px,82vw))}.crm-column{min-height:420px}.resume-card-heading{display:grid}.resume-details div,.form-row,.route-item,.inline-controls,.time-donut-layout,.category-form{grid-template-columns:1fr}.time-donut{margin:0 auto}.route-item{align-items:start}.icon-button{width:100%}.date-arrow{width:42px;flex:0 0 42px}.account-logout{width:42px}.check-button{width:34px}.item-actions .icon-button{width:42px}.custom-modal{border-radius:18px;padding:22px}.ends-group label{grid-template-columns:20px auto}}
