@media (max-width: 700px){.fit__grid{display:flex;flex-direction:column;gap:12px}.fit__panel,.fit__panel--main{min-width:0;width:100%;max-width:100vw;box-sizing:border-box}.fit__head{flex-direction:column;align-items:flex-start;gap:6px;width:100%}.fit__stats{width:100%;justify-content:flex-start;margin-bottom:8px;gap:16px;font-size:15px}.fit__add,.fit__add--row{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%}.fit__add input,.fit__add--row input{width:100%;min-width:0;box-sizing:border-box}.fit__table{overflow-x:auto;width:100%;min-width:0;margin-top:12px}.fit__row,.fit__row--head{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;font-size:14px;min-width:500px}.fit__bwlist li{flex-direction:row;flex-wrap:wrap;font-size:15px}.fit__bwstats{grid-template-columns:1fr;gap:4px;font-size:15px}.fit__panel--main{padding:0 0 12px;background:none;border:none}}@media (max-width: 700px){.fit__grid{display:flex;flex-direction:column;gap:12px}.fit__panel,.fit__panel--main{min-width:0;width:100%;max-width:100vw;box-sizing:border-box}.fit__head{flex-direction:column;align-items:flex-start;gap:6px}.fit__add,.fit__add--row{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%}.fit__add input,.fit__add--row input{width:100%;min-width:0;box-sizing:border-box}.fit__table{overflow-x:auto;width:100%;min-width:0}.fit__row,.fit__row--head{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;font-size:14px}.fit__bwlist li{flex-direction:row;flex-wrap:wrap;font-size:15px}.fit__bwstats{grid-template-columns:1fr;gap:4px;font-size:15px}}.ass-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end;margin:10px 0 6px}.ass-row{display:flex;flex-direction:column;gap:4px}.ass-row>label{font-size:12px;color:#555}.ass-form input,.ass-form select{padding:8px;border:1px solid #ddd;border-radius:8px}.ass-add{padding:10px 12px;border:1px solid #bcd7ff;background:#e9f3ff;border-radius:10px;cursor:pointer}.ass-filter{display:flex;gap:8px;align-items:center;margin:8px 0 12px}.ass-filter select{padding:6px 8px;border:1px solid #ddd;border-radius:8px}.ass-table{position:relative;border:1px solid #eee;border-radius:12px;overflow:hidden}.ass-rowH,.ass-rowD{display:grid;grid-template-columns:200px 300px 220px 140px 180px;align-items:center}.ass-rowH{background:#333;color:#fff;font-weight:600;height:42px}.ass-rowH>div{padding:0 10px;display:flex;align-items:center}.ass-rowD:nth-child(odd){background:#fcfcfc}.ass-rowD:nth-child(2n){background:#f7f7f7}.ass-cell{padding:10px;border-top:1px solid #eee;cursor:text}.ass-cell:hover{background:#eef6ff}.ass-due{text-align:left;font-weight:600}.ass-prog{cursor:pointer}.ass-empty{padding:16px;color:#666}.ass-input-inline{width:100%;padding:8px 10px;border:1px solid #bbb;border-radius:8px;background:#fff}.ass-dd-item{padding:10px 12px;border-bottom:1px solid #eaeaea;cursor:pointer}.ass-dd-item:hover{background:#e0f3ff}.ass-dd-close{padding:8px 12px;text-align:center;cursor:pointer;background:#f0f0f0}.ass-dd-close:hover{background:#e8e8e8}.habits__layout{display:grid;grid-template-columns:350px 1fr;gap:16px}.habits__sidebar{border:1px solid #eee;border-radius:12px;padding:12px;background:#fafafa}.habits__sidebar h3{margin-top:0}.habits__list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}.habits__list li{display:flex;gap:8px;align-items:center}.habits__list li.is-active button:first-child{font-weight:700}.habits__list button{border:1px solid #ddd;background:#fff;border-radius:8px;padding:6px 8px;cursor:pointer}.habits__list .edit-btn{border-color:#c0e0c0;background:#f5fff5}.habits__list .spacer{flex:1}.habits__list .danger{border-color:#f3c0c0;background:#fff5f5}.habit-actions{display:flex;gap:8px;align-items:center;min-width:140px;justify-content:flex-end}.habit-edit{display:flex;gap:8px;align-items:center;flex:1}.habit-edit input{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:8px}.habits__add{display:flex;gap:8px;margin-top:8px}.habits__add input{flex:1;padding:8px;border:1px solid #ddd;border-radius:8px}.habits__add button{padding:8px 10px;border:1px solid #bcd7ff;background:#e9f3ff;border-radius:8px;cursor:pointer}.habits__main{border:1px solid #eee;border-radius:12px;padding:12px;background:#fff}.habits__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.habits__streaks{display:flex;gap:16px;color:#444}.cal{-webkit-user-select:none;user-select:none}.cal__top{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 10px}.cal__top button{border:1px solid #ddd;background:#fafafa;border-radius:8px;padding:6px 10px;cursor:pointer}.cal__label{font-weight:700}.cal__week--head,.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal__head{text-align:center;font-size:12px;color:#666;padding-bottom:2px}.cal__cell{height:64px;border:1px solid #e6e6e6;border-radius:10px;background:#f9f9f9;padding:6px;font-weight:600;display:flex;align-items:flex-start;justify-content:flex-start}.cal__cell:hover{outline:2px solid #bcd7ff;background:#f0f7ff}.cal__cell--blank{background:transparent;border:none;height:0}.cal__cell.is-yes{background:#a5d6a7;border-color:#98c79a}.cal__cell.is-skip{background:#fff59d;border-color:#e9e087}.cal__cell.is-no{background:#ef9a9a;border-color:#e28989}.cal__cell.is-future{background:#fff;color:#aaa}.cal__cell.is-today{box-shadow:inset 0 0 0 2px #6aa4ff}.habits__legend{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.legend{padding:6px 10px;border-radius:999px;border:1px solid #ddd;background:#fafafa;font-size:12px}.legend.is-yes{background:#a5d6a7;border-color:#98c79a}.legend.is-skip{background:#fff59d;border-color:#e9e087}.legend.is-no{background:#ef9a9a;border-color:#e28989}.legend.is-today{box-shadow:inset 0 0 0 2px #6aa4ff}.mental-health{background:#f8fafc;min-height:100vh;padding:1rem}.mental-health h2{margin:0 0 1rem;color:#1e293b;font-size:1.5rem;font-weight:700;text-align:left;background:none;-webkit-background-clip:initial;-webkit-text-fill-color:initial;background-clip:initial;letter-spacing:normal}.mh-header{margin-bottom:1.5rem}.mh-tabs-container{background:#fff;border-radius:1rem;padding:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid #e2e8f0}.mh-tabs{display:flex;gap:.25rem;position:relative}.mh-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:.75rem;background:transparent;cursor:pointer;font-weight:500;color:#64748b;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;flex:1;justify-content:center;min-height:48px}.mh-tab:hover{background:#f8fafc;color:#334155;transform:translateY(-1px)}.mh-tab.is-active{background:#3b82f6!important;color:#fff!important;box-shadow:0 4px 12px #3b82f64d!important;transform:translateY(-2px)!important}.mh-tab-icon{transition:transform .2s ease}.mh-tab:hover .mh-tab-icon{transform:scale(1.1)}.mh-tab.is-active .mh-tab-icon{transform:scale(1.05)}.mh-tab-text{font-size:.875rem;font-weight:500;letter-spacing:.025em}@media (max-width: 640px){.mh-tab{padding:.75rem 1rem;min-height:44px}.mh-tab-text{font-size:.8rem}.mh-tab-icon{width:16px;height:16px}.mental-health h2{font-size:1.25rem}}.mh-card{border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;background:#fff;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.mh-card:hover{box-shadow:0 4px 6px #0000001a}.mh-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.mh-field>label{font-size:.875rem;color:#6b7280;font-weight:500}.mh-field textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;min-height:120px;resize:vertical;font-family:inherit;transition:border-color .2s,box-shadow .2s}.mh-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mh-field input{padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;transition:border-color .2s,box-shadow .2s}.mh-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mh-actions{display:flex;gap:.75rem}.mh-btn{padding:.75rem 1.5rem;border:1px solid #d1d5db;background:#f9fafb;border-radius:.5rem;cursor:pointer;font-weight:500;color:#374151;transition:all .2s}.mh-btn:hover{background:#f3f4f6;border-color:#9ca3af}.mh-btn.primary{border-color:#3b82f6!important;background:#3b82f6!important;color:#fff!important}.mh-btn.primary:hover{background:#3b82f6!important;border-color:#3b82f6!important}.mh-sep{height:1px;background:#e5e7eb;margin:1.5rem 0}.mh-empty{color:#6b7280;padding:1rem;text-align:center}.mh-list{display:flex;flex-direction:column;gap:.75rem}.mh-row{display:grid;grid-template-columns:220px 1fr 180px;gap:1rem;align-items:center;padding:1rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#f8fafc;transition:background-color .2s,border-color .2s}.mh-row:hover{background:#f1f5f9;border-color:#cbd5e1}.mh-row-actions{display:flex;gap:.5rem;justify-content:flex-end}.mh-col.sm{font-size:.875rem;color:#6b7280}.mh-col.md{font-weight:600;color:#1f2937}.mh-col.lg{color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mh-pre{margin:0;white-space:pre-wrap}.mh-mood-pills{display:flex;gap:.75rem;flex-wrap:wrap}.pill{width:2.5rem;height:2.5rem;border-radius:999px;border:2px solid #d1d5db;background:#fff;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:.875rem}.pill:hover{border-color:#9ca3af;background:#f9fafb}.pill.is-selected{outline:2px solid #3b82f6;border-color:#3b82f6;background:#eff6ff}.mh-flex-between{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.mh-stats-inline{display:flex;gap:1rem;color:#6b7280;font-size:.875rem}.mh-stats{list-style:none;padding-left:0;display:grid;gap:.75rem}.cal__cell.is-yes{background:#10b981;border-color:#059669;color:#000!important}.cal__cell.is-no{background:#ef4444;border-color:#dc2626;color:#000!important}.cal__cell.is-today{box-shadow:inset 0 0 0 2px #3b82f6}.cal__cell.is-future{background:#fff;color:#9ca3af}.mh-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100}.mh-modal__backdrop{position:absolute;inset:0;background:#00000059}.mh-modal__card{position:relative;width:min(720px,92vw);max-height:80vh;background:#fff;border-radius:12px;border:1px solid #ddd;box-shadow:0 12px 28px #0003;display:flex;flex-direction:column}.mh-modal__head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #eee}.mh-modal__body{padding:12px;overflow:auto}.fit__grid{display:grid;grid-template-columns:260px 1fr 260px;gap:16px}.fit__panel{border:1px solid #eee;border-radius:12px;padding:12px;background:#fff}.fit__panel--main{min-height:300px}.fit__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.fit__stats{display:flex;gap:16px;color:#444;flex-wrap:wrap}.fit__add{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:10px}.fit__add input{padding:8px;border:1px solid #ddd;border-radius:8px;width:100%}.fit__add button{padding:8px 10px;border:1px solid #bcd7ff;background:#e9f3ff;border-radius:8px;cursor:pointer}.fit__add--row{display:grid;grid-template-columns:auto minmax(120px,1fr) auto minmax(90px,1fr) auto minmax(80px,1fr) auto;align-items:center;gap:8px}.fit__add--row label{font-size:12px;color:#555}.fit__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.fit__list li{display:flex;align-items:center;gap:8px}.fit__list li.is-active button:first-child{font-weight:700}.fit__list button{border:1px solid #ddd;background:#fafafa;border-radius:8px;padding:6px 8px;cursor:pointer}.fit__list .spacer{flex:1}.fit__list .danger{border-color:#f3c0c0;background:#fff5f5}.fit__table{border:1px solid #eee;border-radius:12px;overflow:hidden}.fit__row,.fit__row--head{display:grid;grid-template-columns:140px 100px 80px 80px 100px;align-items:center}.fit__row--head{background:#333;color:#fff;height:40px;font-weight:600}.fit__row>div,.fit__row--head>div{border-top:1px solid #eee;padding:8px 10px}.fit__row:nth-child(odd){background:#fcfcfc}.fit__row:nth-child(2n){background:#f7f7f7}.fit__actions{display:flex;justify-content:flex-end}.fit__empty{padding:12px;color:#666}.fit__bwlist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.fit__bwlist li{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid #eee;border-radius:10px;background:#fafafa}.fit__bwlist .spacer{flex:1}.fit__bwstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}*,*:before,*:after{box-sizing:border-box}input,select,textarea{padding:8px 12px;line-height:1.25;border-radius:10px;min-height:36px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button,.btn{padding:8px 12px;line-height:1;border-radius:10px;max-width:100%;background:#fff!important;color:#374151!important;border:1px solid #d1d5db!important}.tabs{display:flex;justify-content:center;gap:8px;padding:8px 12px}.tab{border-radius:10px 10px 0 0}.tab.active{position:relative}.panel,.card,section{border-radius:12px;overflow:hidden}.spc-topbar .spc-toolbar{max-width:none;width:100%}.spc-content{max-width:none;width:100%;grid-template-columns:320px 1fr}.spc-main-card{height:calc(100vh - 140px);display:flex;flex-direction:column}.spc-scroll{max-height:none;height:100%;overflow-y:auto}.spc-railWrap{min-height:100%}.spc-block{overflow:hidden;border-radius:12px}.spc-block .spc-block-title,.spc-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fit__add{display:grid;grid-template-columns:1fr 1.6fr auto;gap:8px}.fit__add input{width:100%;min-width:0}.fit__add button{white-space:nowrap}.input-row,.input-group,.add-row,.inline-controls{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}input+button,select+button{margin-left:8px}.fit__row>div,.fit__bwlist li>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habits__add{gap:8px}.habits__add input{min-width:0}.table,table{table-layout:fixed}.table td,table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spc-root{--bd:#e2e8f0;--ink:#0f172a;--muted:#64748b;--bg:#ffffff;--chip:#f1f5f9;--shadow:0 6px 20px rgba(0,0,0,.06)}.spc-root{color:var(--ink);background:var(--bg)}.spc-topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--bd);background:#ffffffe6;-webkit-backdrop-filter:saturate(150%) blur(6px);backdrop-filter:saturate(150%) blur(6px)}.spc-toolbar{display:flex;align-items:center;gap:.5rem;padding:.75rem}.spc-content{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:300px 1fr;gap:16px;padding:16px}.spc-card{border:1px solid var(--bd);border-radius:16px;padding:12px;box-shadow:var(--shadow);background:#fff}.spc-main-card{border:1px solid var(--bd);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.tab-nav{position:sticky;top:0;z-index:1000;background:#fff}.schedule-planner{height:100vh;display:flex;flex-direction:column;background:#f8fafc}.schedule-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;flex-shrink:0;min-height:60px}.date-navigation{display:flex;align-items:center;gap:1rem}.current-date{font-size:1.25rem;font-weight:600;color:#1e293b;min-width:300px;text-align:center}.nav-btn{padding:.5rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.nav-btn:hover{background:#e2e8f0}.header-controls{display:flex;gap:.5rem;flex-wrap:wrap}.control-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;color:#475569;transition:all .2s}.control-btn:hover{background:#e2e8f0;border-color:#94a3b8}.control-btn.active,.control-btn.primary{background:#3b82f6!important;color:#fff!important;border-color:#2563eb!important}.control-btn.primary:hover{background:#2563eb}.legend-panel{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 2rem}.legend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;color:#374151}.legend-items{display:flex;gap:2rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.legend-color{width:16px;height:16px;border-radius:3px}.close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280;padding:.25rem}.close-btn:hover{color:#374151}.main-container{display:flex;flex:1;overflow:hidden}.main-container .schedule-content{flex:1;transition:all .4s cubic-bezier(.25,.46,.45,.94);will-change:width,transform;backface-visibility:hidden;transform:translateZ(0)}.main-container.sidebar-closed .schedule-content{width:100%;margin-left:-350px;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.main-container.sidebar-open .schedule-content{width:calc(100% - 350px);margin-left:0;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.legend-sidebar{width:350px;min-width:350px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;box-shadow:2px 0 4px #0000000d;transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .4s cubic-bezier(.25,.46,.45,.94);transform:translateZ(0);opacity:1;overflow:hidden;backface-visibility:hidden}.legend-sidebar.hidden{transform:translate3d(-100%,0,0);opacity:0;pointer-events:none}.legend-sidebar.opening{animation:slideInFromLeft .4s cubic-bezier(.25,.46,.45,.94)}.legend-sidebar.closing{animation:slideOutToLeft .4s cubic-bezier(.25,.46,.45,.94);position:relative;z-index:10}@keyframes slideInFromLeft{0%{transform:translate3d(-100%,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes slideOutToLeft{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(-100%,0,0);opacity:0}}.legend-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f8fafc;display:flex;justify-content:space-between;align-items:center}.legend-header h3{margin:0;color:#374151;font-size:1.125rem;font-weight:600}.legend-close{background:#e2e8f0;border:none;width:24px;height:24px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569}.legend-close:hover{background:#cbd5e1}.legend-content{flex:1;padding:1.5rem;overflow-y:auto}.no-labels{text-align:center;color:#9ca3af;font-style:italic;padding:2rem 0;line-height:1.5}.labels-list{margin-bottom:2rem}.label-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:.5rem;background:#f9fafb}.label-info{display:flex;align-items:center;gap:.75rem}.label-actions{display:flex;align-items:center;gap:4px}.edit-label-btn{padding:4px;background:none;border:none;border-radius:4px;cursor:pointer;opacity:.6;transition:opacity .2s,background-color .2s;font-size:12px}.edit-label-btn:hover{opacity:1;background-color:#f3f4f6}.label-edit-form{display:flex;align-items:center;gap:8px;width:100%;position:relative;z-index:200}.label-edit-inputs{display:flex;align-items:center;gap:8px;flex:1}.label-edit-name{flex:1;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.label-edit-color{width:32px;height:24px;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.label-edit-actions{display:flex;gap:4px}.save-edit-btn,.cancel-edit-btn{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700;transition:background-color .2s;position:relative;z-index:300}.save-edit-btn{background-color:#3b82f6;color:#fff}.save-edit-btn:hover{background-color:#1d4ed8}.save-edit-btn:disabled{background-color:#d1d5db;cursor:not-allowed}.cancel-edit-btn{background-color:#ef4444;color:#fff}.cancel-edit-btn:hover{background-color:#dc2626}.label-color-dot{width:16px;height:16px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #0000001a}.label-name{color:#374151;font-weight:500}.delete-label-btn{background:#f87171;border:none;width:20px;height:20px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}.delete-label-btn:hover{background:#ef4444}.create-label-btn{width:100%;padding:.75rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-weight:500}.create-label-btn:hover{background:#2563eb}.label-form{border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;background:#fff}.label-name-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;margin-bottom:.75rem;box-sizing:border-box}.label-color-input{width:100%;height:40px;border:1px solid #d1d5db;border-radius:.375rem;margin-bottom:.75rem;cursor:pointer}.label-form-actions{display:flex;gap:.5rem}.save-label-btn{flex:1;padding:.5rem;background:#22c55e;color:#fff;border:none;border-radius:.375rem;cursor:pointer}.save-label-btn:disabled{background:#9ca3af;cursor:not-allowed}.schedule-content{flex:1;overflow:hidden;position:relative;height:calc(100vh - 60px);transition:all .3s ease-in-out}.three-column-view{display:grid;grid-template-columns:1fr 1fr 1fr;height:100%;gap:1px;background:#e2e8f0}.schedule-column{background:#fff;display:flex;flex-direction:column}.column-header{padding:.5rem;background:#f8fafc;border-bottom:2px solid #e2e8f0;font-weight:600;color:#374151;text-align:center;flex-shrink:0;min-height:40px;display:flex;align-items:center;justify-content:center}.column-content{flex:1;position:relative;overflow-y:auto;min-height:calc(100vh - 140px)}.time-markers{position:absolute;left:0;top:0;bottom:0;width:60px;background:#f8fafc;border-right:1px solid #e2e8f0}.time-marker{height:83px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#6b7280;border-bottom:1px solid #f1f5f9}.blocks-container{margin-left:60px;min-height:664px;position:relative;padding:0 1rem;cursor:crosshair;-webkit-user-select:none;user-select:none}.blocks-container:active{cursor:grabbing}.placeholder-text{color:#9ca3af;text-align:center;padding:2rem;font-style:italic;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%}.schedule-block{position:absolute;left:0;right:0;background:#3b82f6;border:2px solid #2563eb;border-radius:.5rem;padding:.5rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a;overflow:hidden;display:flex;flex-direction:column;z-index:10}.schedule-block:hover{transform:translate(-2px);box-shadow:0 4px 12px #00000026;z-index:20;opacity:1!important;outline:2px solid rgba(255,255,255,.8)}.schedule-block[style*="#9ca3af"]{border-style:dashed}.block-content{flex:1;font-weight:500}.block-title{font-weight:600;font-size:14px;line-height:1.2;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.5)}.block-time{font-size:.75rem;margin-bottom:.25rem}.block-description{font-size:.7rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis}.block-label{position:absolute;top:.25rem;right:.25rem;background:#0000004d;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 0 2px rgba(0,0,0,.5);min-width:2rem;text-align:center}.free-time-highlight{background:#86efac4d!important;border:2px dashed #22c55e!important;border-radius:6px!important;cursor:default!important;animation:pulse-green 2s infinite}.free-time-highlight:hover{transform:none!important;outline:2px solid rgba(34,197,94,.5)!important;background:#86efac66!important}@keyframes pulse-green{0%,to{background:#86efac4d}50%{background:#86efac66}}.day-view{height:100%}.day-header{background:#fff;padding:1rem 2rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center}.day-header h2{margin:0;color:#374151;font-size:1.5rem;font-weight:600}.calendar-view{height:100%;padding:2rem;background:#fff}.fullscreen-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.fullscreen-content{background:#fff;border-radius:.5rem;width:90%;height:90%;display:flex;flex-direction:column;max-width:1200px}.fullscreen-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid #e2e8f0}.segment-navigation{display:flex;align-items:center;gap:1rem}.segment-title{font-size:1.5rem;font-weight:600;color:#1e293b;min-width:200px;text-align:center}.fullscreen-schedule{flex:1;padding:2rem;overflow:auto}.modal-content{background:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;overflow-y:auto;border:1px solid #e5e7eb}.input-page{width:90%;max-width:450px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f8fafc}.modal-header h3{margin:0;color:#374151;font-size:1rem;font-weight:600}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid #e5e7eb;background:#f8fafc}.close-x{background:#cbd5e1;border:none;width:24px;height:24px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#475569}.close-x:hover{background:#94a3b8}.modal-content.input-page{padding:0}.modal-content.input-page .form-group{padding:0 1.5rem;margin-bottom:1.5rem}.modal-content.input-page .form-group:first-of-type{margin-top:1.5rem}.form-group:last-child{margin-bottom:0}.label-dropdown,.repeat-dropdown{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background:#fff}.new-label-section{display:flex;gap:.5rem;margin-top:.5rem;align-items:center}.new-label-input{flex:1;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem}.label-color-picker{width:40px;height:32px;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer}.add-label-btn{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem}.add-label-btn:disabled{background:#9ca3af;cursor:not-allowed}.time-inputs{display:flex;align-items:center;gap:1rem}.time-input{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem}.time-separator{color:#6b7280;font-weight:500}.time-selector-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.time-label{min-width:40px;color:#6b7280;font-weight:500;font-size:.875rem}.time-select{padding:.4rem .3rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background:#fff;min-width:50px}.time-colon{color:#374151;font-weight:600;font-size:1rem}.time-display{background:#f3f4f6;padding:.75rem;border-radius:.5rem;text-align:center;color:#374151;font-weight:600;border:1px solid #e5e7eb}.note-textarea{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;resize:vertical;font-family:inherit;box-sizing:border-box}.label-preview{padding:0 1.5rem;margin-bottom:1.5rem}.label-chip{display:inline-block;padding:.375rem .75rem;background:#3b82f6;color:#fff;border-radius:1rem;font-size:.75rem;font-weight:500;margin-right:.5rem;margin-bottom:.5rem}.example-labels{margin-top:.5rem}.modal-footer{padding:1.5rem;border-top:1px solid #e5e7eb;background:#f8fafc;display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-buttons{display:flex;gap:1rem;width:100%;justify-content:space-between}.add-block-btn,.save-block-btn{background:#22c55e;color:#fff;border:none;padding:.75rem 2rem;border-radius:.375rem;font-weight:500;cursor:pointer;font-size:.875rem;flex:1}.add-block-btn:hover,.save-block-btn:hover{background:#16a34a}.delete-block-btn{background:#ef4444;color:#fff;border:none;padding:.75rem 2rem;border-radius:.375rem;font-weight:500;cursor:pointer;font-size:.875rem;flex:1}.delete-block-btn:hover{background:#dc2626}.recurring-blocks-text{color:#6b7280;font-size:.75rem;text-align:center}.days-modal{width:90%;max-width:500px}.days-description{color:#6b7280;font-size:.875rem;margin-bottom:1.5rem;text-align:center}.days-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.day-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#f9fafb;transition:background-color .2s}.day-checkbox:hover{background:#f3f4f6}.day-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6}.day-name{font-weight:500;color:#374151;font-size:.875rem}.days-actions{display:flex;gap:1rem;justify-content:center}.save-days-btn,.cancel-days-btn{padding:.75rem 2rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;font-size:.875rem;transition:background-color .2s}.save-days-btn{background:#22c55e;color:#fff}.save-days-btn:hover{background:#16a34a}.cancel-days-btn{background:#6b7280;color:#fff}.cancel-days-btn:hover{background:#4b5563}.modal-content.input-page input:focus,.modal-content.input-page select:focus,.modal-content.input-page textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width: 1200px){.header-controls{gap:.25rem}.control-btn{padding:.5rem .75rem;font-size:.75rem}.current-date{font-size:1rem;min-width:250px}}@media (max-width: 768px){.schedule-header{flex-direction:column;gap:1rem;padding:1rem}.three-column-view{grid-template-columns:1fr;grid-template-rows:1fr 1fr 1fr}.time-markers{width:50px}.blocks-container{margin-left:50px}.legend-panel{padding:1rem}.legend-items{gap:1rem}}.calendar-view{height:100%;display:flex;flex-direction:column;background:#f8fafc;overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fff;border-bottom:1px solid #e2e8f0;gap:1rem}.calendar-header h2{margin:0;color:#374151;font-size:1.5rem;font-weight:600;flex:1;text-align:center}.nav-button{background:#3b82f6;color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;font-size:1.25rem;transition:background-color .2s;min-width:40px}.nav-button:hover{background:#2563eb}.close-calendar{background:#6b7280;color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;transition:background-color .2s;white-space:nowrap}.close-calendar:hover{background:#4b5563}.calendar-grid{flex:1;display:flex;flex-direction:column;overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-bottom:2px solid #e2e8f0}.weekday{padding:1rem;text-align:center;font-weight:600;color:#6b7280;background:#f1f5f9;border-right:1px solid #e2e8f0}.weekday:last-child{border-right:none}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);flex:1;overflow:hidden}.calendar-day{border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff;cursor:pointer;transition:background-color .2s;display:flex;flex-direction:column;min-height:140px;position:relative;overflow:hidden}.calendar-day:last-child{border-right:none}.calendar-day:hover:not(.empty){background:#f8fafc}.calendar-day.empty{background:#f9fafb;cursor:default}.calendar-day.today{background:#eff6ff;border:2px solid #3b82f6}.calendar-day.today:hover{background:#dbeafe}.day-number{padding:.5rem;font-weight:600;color:#374151;text-align:center;border-bottom:1px solid #f1f5f9}.calendar-day.today .day-number{color:#1d4ed8;background:#3b82f61a;border-radius:.25rem;margin:.25rem}.day-blocks{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:6px;overflow:hidden;justify-content:flex-start;align-items:stretch}.calendar-block{border-radius:6px;flex-shrink:0;transition:all .2s;position:relative;min-height:12px;box-shadow:0 2px 4px #0000001a;font-weight:500}.calendar-block:hover{opacity:1}.more-blocks{font-size:.75rem;color:#6b7280;text-align:center;padding:.25rem;background:#f1f5f9;border-radius:.25rem;margin-top:2px}@media (max-width: 768px){.calendar-header{padding:.75rem}.calendar-header h2{font-size:1.25rem}.weekday{padding:.5rem;font-size:.875rem}.calendar-day{min-height:100px}.day-number{padding:.25rem;font-size:.875rem}.nav-button{padding:.375rem .75rem;min-width:35px}.close-calendar{padding:.375rem .75rem;font-size:.75rem}}.work-schedule-modal{width:90%;max-width:700px;max-height:85vh;border-radius:20px;background:linear-gradient(135deg,#fff,#fefeff);box-shadow:0 25px 50px #3b82f626,0 10px 25px #0000001a,0 0 0 1px #fffc;border:1px solid rgba(59,130,246,.1);animation:workModalSlideIn .4s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column}@keyframes workModalSlideIn{0%{opacity:0;transform:scale(.9) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.work-schedule-modal .modal-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid rgba(59,130,246,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.75rem 2rem;flex-shrink:0}.work-schedule-modal .modal-header h3{color:#1e40af;font-size:1.25rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.05)}.work-schedule-modal .close-x{background:linear-gradient(135deg,#e2e8f0,#f1f5f9);border:1px solid rgba(59,130,246,.15);width:28px;height:28px;border-radius:8px;color:#6b7280;font-size:16px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.work-schedule-modal .close-x:hover{background:linear-gradient(135deg,#fecaca,#fee2e2);border-color:#f87171;color:#dc2626;transform:scale(1.1)}.work-schedule-content{padding:2rem;background:linear-gradient(180deg,#fff,#fefeff);animation:contentSlideUp .5s cubic-bezier(.4,0,.2,1) .1s both;flex:1;overflow-y:auto;min-height:0}@keyframes contentSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.shifts-section{margin-bottom:2.5rem;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid rgba(59,130,246,.1);border-radius:16px;padding:2rem;animation:sectionFadeIn .6s cubic-bezier(.4,0,.2,1) .2s both;position:relative;overflow:hidden}.shifts-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent)}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.shifts-section h4{margin:0 0 1.5rem;color:#1e40af;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.05)}.no-shifts{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#f9fafb,#fff);border-radius:12px;border:2px dashed rgba(59,130,246,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.no-shifts:hover{border-color:#3b82f666;background:linear-gradient(135deg,#f8fafc,#fff)}.no-shifts p{margin:0;color:#6b7280;font-style:italic;font-size:1rem}.shifts-list{display:flex;flex-direction:column;gap:1rem}.shift-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:linear-gradient(135deg,#f0f9ff,#fff);border-radius:12px;border:1px solid rgba(59,130,246,.1);transition:all .3s cubic-bezier(.4,0,.2,1);animation:shiftItemSlideIn .5s cubic-bezier(.4,0,.2,1) both;box-shadow:0 2px 4px #3b82f60d}.shift-item:hover{transform:translateY(-2px);box-shadow:0 8px 16px #3b82f61a;border-color:#3b82f633}@keyframes shiftItemSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.shift-info{flex:1}.shift-date{font-weight:700;color:#1e40af;margin-bottom:.5rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.3px}.shift-time{color:#374151;font-weight:500;display:flex;align-items:center;gap:.5rem}.shift-duration{color:#6b7280;font-size:.875rem;font-weight:500;padding:.25rem .5rem;background:#3b82f61a;border-radius:6px}.remove-shift-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #ef444433}.remove-shift-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.1);box-shadow:0 4px 8px #ef44444d}.add-shift-form{background:linear-gradient(135deg,#f9fafb,#fff);border:1px solid rgba(59,130,246,.1);border-radius:16px;padding:2rem;animation:formSlideIn .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px #0000000d}.add-shift-form h4{margin:0 0 1.5rem;color:#1e40af;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.date-input{width:100%;padding:1rem;border:2px solid rgba(59,130,246,.2);border-radius:12px;font-size:1rem;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d}.date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(59,130,246,.1)}.work-schedule-modal .form-actions .cancel-btn{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid rgba(100,116,139,.2);color:#64748b;font-weight:600;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9rem}.work-schedule-modal .form-actions .cancel-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#94a3b8;color:#475569}.work-schedule-modal .form-actions .add-shift-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #3b82f633;padding:.75rem 1.5rem;font-size:.9rem}.work-schedule-modal .form-actions .add-shift-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.add-shift-button-container{display:flex;justify-content:center;padding:2.5rem 0;animation:buttonFadeIn .6s cubic-bezier(.4,0,.2,1) both;background:#3b82f605;border-radius:12px;margin:1rem 0}@keyframes buttonFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.add-new-shift-btn{padding:1.25rem 2.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px #3b82f633,0 1px 3px #0000001a,inset 0 1px #fff3}.add-new-shift-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #3b82f640,0 2px 4px #0000001a,inset 0 1px #ffffff40}.work-schedule-modal .modal-actions{background:linear-gradient(135deg,#f8fafc,#fff);border-top:1px solid rgba(59,130,246,.1);padding:2rem;box-shadow:inset 0 1px #fffc;flex-shrink:0}.work-schedule-modal .primary-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 8px #3b82f640,0 1px 3px #0000001a,inset 0 1px #fff3;padding:1rem 2rem;font-size:.95rem}.work-schedule-modal .primary-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #3b82f64d,0 2px 4px #0000001a,inset 0 1px #ffffff40}.work-schedule-modal .cancel-btn{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid rgba(100,116,139,.2);color:#64748b;font-weight:600;padding:1rem 2rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.95rem}.work-schedule-modal .cancel-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#94a3b8;color:#475569;transform:translateY(-1px)}.primary-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.cancel-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#e5e7eb;border-color:#9ca3af}.chain-modal{width:90%;max-width:900px;max-height:90vh;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,#fff,#fefeff);box-shadow:0 25px 50px #00000026,0 10px 25px #0000001a,0 0 0 1px #fffc;border:1px solid rgba(59,130,246,.1);animation:modalSlideIn .5s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.chain-modal .modal-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid rgba(59,130,246,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.75rem 2rem;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.header-controls{display:flex;align-items:center;gap:1rem}.chain-modal .modal-header h3{color:#1e40af;font-size:1.25rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.05);margin:0;flex:1}.chain-modal .close-x{background:linear-gradient(135deg,#e2e8f0,#f1f5f9);border:1px solid rgba(59,130,246,.15);width:28px;height:28px;border-radius:8px;color:#64748b;font-size:16px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.chain-modal .close-x:hover{background:linear-gradient(135deg,#fecaca,#fee2e2);border-color:#f87171;color:#dc2626;transform:scale(1.1)}.chain-content{padding:2rem;background:linear-gradient(180deg,#fff,#fefeff);flex:1;overflow-y:auto;min-height:0}.chain-content::-webkit-scrollbar{width:8px}.chain-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.chain-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:4px}.chain-content>.form-group:first-child{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid rgba(59,130,246,.1);border-radius:16px;padding:2rem;margin-bottom:2.5rem;box-shadow:0 8px 32px #3b82f614,0 1px 2px #0000000d;position:relative;overflow:hidden}.chain-content>.form-group:first-child:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent)}.chain-content>.form-group:first-child label{font-size:1.1rem;font-weight:700;color:#1e40af;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.05)}.trigger-dropdown{width:100%;padding:1.25rem 1.5rem;border:2px solid rgba(59,130,246,.2);border-radius:12px;font-size:1rem;font-weight:500;color:#1e293b;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a,inset 0 1px #fffc;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#3b82f6 50%),linear-gradient(135deg,#3b82f6 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-size:5px 5px;background-repeat:no-repeat}.trigger-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626,0 8px 16px #3b82f61a,inset 0 1px #ffffffe6;transform:translateY(-2px)}.trigger-dropdown:hover{border-color:#3b82f6;box-shadow:0 6px 12px #3b82f61a,0 2px 4px #0000000d,inset 0 1px #ffffffe6;transform:translateY(-1px)}.chain-modal .modal-actions{background:linear-gradient(135deg,#f8fafc,#fff);border-top:1px solid rgba(59,130,246,.1);padding:2rem;box-shadow:inset 0 1px #fffc;flex-shrink:0;margin-top:auto}.chain-modal .modal-actions .primary-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1rem 2rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 8px #3b82f640,0 1px 3px #0000001a,inset 0 1px #fff3;font-size:.95rem}.chain-modal .modal-actions .primary-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 8px 16px #3b82f64d,0 2px 4px #0000001a,inset 0 1px #ffffff40;transform:translateY(-2px) scale(1.02)}.chain-modal .modal-actions .cancel-btn{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid rgba(100,116,139,.2);color:#64748b;font-weight:600;padding:1rem 2rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.95rem}.chain-modal .modal-actions .cancel-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#94a3b8;color:#475569;transform:translateY(-1px)}.direction-options{display:flex;gap:1.5rem}.direction-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.direction-option input[type=radio]{margin:0}.chain-blocks-section{margin-top:2rem}.chain-blocks-section h4{margin:0 0 1rem;color:#374151;font-weight:600;font-size:1.1rem}.no-chain-blocks{text-align:center;padding:2rem;background-color:#f9fafb;border-radius:8px;border:2px dashed #d1d5db}.no-chain-blocks p{margin:0;color:#6b7280;font-style:italic}.chain-modal-content{padding:2rem;background:linear-gradient(180deg,#fff,#fefeff);flex:1;overflow-y:auto;min-height:0}.chain-modal-content::-webkit-scrollbar{width:8px}.chain-modal-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.chain-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:4px}.profile-creator{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid rgba(59,130,246,.1);border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #3b82f614,0 1px 2px #0000000d}.profile-name-input{width:100%;padding:1rem 1.25rem;border:2px solid rgba(59,130,246,.2);border-radius:12px;font-size:1rem;font-weight:500;color:#1e293b;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a,inset 0 1px #fffc;margin-bottom:1rem}.profile-name-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626,0 8px 16px #3b82f61a,inset 0 1px #ffffffe6;transform:translateY(-2px)}.profile-creator .profile-actions{display:flex;gap:.75rem;justify-content:flex-end}.add-btn,.save-btn,.cancel-btn,.edit-btn,.delete-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;text-transform:uppercase;letter-spacing:.5px}.add-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 8px #3b82f640,0 1px 3px #0000001a}.add-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 6px 12px #3b82f64d,0 2px 4px #0000001a}.save-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 4px 8px #3b82f640,0 1px 3px #0000001a}.save-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 6px 12px #3b82f64d,0 2px 4px #0000001a}.cancel-btn{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b;border:1px solid rgba(100,116,139,.2);box-shadow:0 2px 4px #0000000d,0 1px 2px #0000001a}.cancel-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#94a3b8;color:#475569;transform:translateY(-1px)}.profiles-list{margin-top:2rem}.profiles-list h4{margin:0 0 1.5rem;color:#374151;font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:.5px}.no-profiles{text-align:center;padding:2rem;background-color:#f9fafb;border-radius:12px;border:2px dashed #d1d5db;color:#6b7280;font-style:italic;margin-top:1rem}.profiles{display:flex;flex-direction:column;gap:1rem}.profile-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(59,130,246,.1);border-radius:12px;box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;transition:all .2s cubic-bezier(.4,0,.2,1)}.profile-item:hover{transform:translateY(-2px);box-shadow:0 8px 16px #3b82f61a,0 2px 4px #0000001a;border-color:#3b82f633}.profile-name{font-weight:600;color:#1e293b;font-size:1rem}.active-profile{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;box-shadow:0 4px 6px #3b82f626,0 1px 3px #0000001a}.active-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:#3b82f6;color:#fff;font-size:.75rem;font-weight:600;border-radius:12px;text-transform:uppercase;letter-spacing:.025em}.set-active-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.5rem 1rem;font-size:.85rem;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #3b82f640,0 1px 2px #0000001a}.set-active-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d,0 2px 4px #0000001a}.set-active-btn:disabled{background:linear-gradient(135deg,#6b7280,#4b5563);cursor:not-allowed;opacity:.6}.set-active-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb)}.page-navigation{display:flex;gap:.5rem}.page-btn{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;transition:all .2s ease}.page-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.page-btn.active{background:#3b82f6;color:#fff;border-color:#2563eb}.page-placeholder{text-align:center;padding:2rem}.page-placeholder h4{color:#1e293b;margin-bottom:1rem}.page-placeholder p{color:#64748b;font-size:1.1rem}.anchor-selection{text-align:left;padding:1rem 0}.anchor-selection h4{color:#1e293b;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.active-profile-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;border-radius:8px;font-size:.9rem}.active-profile-label{color:#1e40af;font-weight:600}.active-profile-name{color:#1e293b;font-weight:500}.anchor-description{color:#64748b;margin-bottom:1.5rem;line-height:1.5}.anchor-selector{margin-bottom:1.5rem}.anchor-label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem}.anchor-dropdown{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:1rem;color:#374151;cursor:pointer;transition:border-color .2s ease}.anchor-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.selected-anchor-info{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:8px;padding:1rem;margin-top:1rem}.selected-anchor-info p{margin:0 0 .5rem;color:#0c4a6e}.selected-anchor-info p:last-child{margin-bottom:0}.anchor-explanation{font-size:.9rem;color:#0369a1!important;line-height:1.4}.proceed-section{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid rgba(59,130,246,.1)}.proceed-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.75rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #3b82f640,0 1px 2px #0000001a}.proceed-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d,0 2px 4px #0000001a}.edit-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.5rem 1rem;font-size:.85rem;box-shadow:0 2px 4px #3b82f640,0 1px 2px #0000001a}.edit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d,0 2px 4px #0000001a}.chain-modal .delete-btn{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;padding:.5rem 1rem;font-size:.85rem;box-shadow:0 2px 4px #6b728040,0 1px 2px #0000001a;display:inline-block!important}.chain-modal .delete-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);transform:translateY(-1px);box-shadow:0 4px 8px #6b72804d,0 2px 4px #0000001a}.chain-blocks-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.chain-block-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.block-order{background:#3b82f6;color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.block-info{flex:1}.block-title{font-weight:600;color:#374151;margin-bottom:.25rem}.block-details{font-size:.875rem;color:#6b7280}.block-label{font-weight:500;color:#374151}.block-color-indicator{width:20px;height:20px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0000001a}.block-controls{display:flex;gap:.5rem}.edit-btn{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;border:1px solid #2563eb!important;border-radius:6px;width:auto;min-width:60px!important;height:36px!important;padding:0 12px!important;display:flex!important;align-items:center;justify-content:center;cursor:pointer;font-size:13px!important;font-weight:600!important;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #3b82f633!important}.edit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d!important}.move-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;transition:all .2s}.move-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.move-btn:disabled{opacity:.5;cursor:not-allowed}.remove-btn{background:#ef4444;color:#fff;border:none;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;font-size:1.1rem;transition:background-color .2s}.remove-btn:hover{background:#dc2626}.edit-btn{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0284c7;border:1px solid #0ea5e9;border-radius:6px;width:auto;min-width:32px;height:32px;padding:0 8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0ea5e91a}.edit-btn:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#0284c7;color:#0369a1;transform:translateY(-1px);box-shadow:0 4px 8px #0ea5e933}.edit-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0ea5e91a}.profile-indicator{font-size:12px;color:#6c757d;font-weight:400;margin-left:10px;padding:2px 8px;background:#e9ecef;border-radius:12px;display:inline-block}.chain-item{min-height:60px;border:2px solid #e9ecef;margin-bottom:8px}.chain-timing-explanation{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;padding:12px;margin-bottom:16px}.timing-hint{margin:0;color:#0c4a6e;font-size:14px;line-height:1.5}.offset-input-group,.duration-input-group{display:flex;align-items:center;gap:8px;margin-bottom:12px}.offset-label,.duration-label{min-width:200px;font-weight:500;color:#374151}.input-suffix{color:#6b7280;font-size:14px;font-weight:500}.offset-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px;margin-top:12px}.preview-text{color:#059669;font-weight:500}.add-chain-block-form{background:linear-gradient(135deg,#fafbff,#f8fafc);border:2px solid rgba(59,130,246,.1);border-radius:16px;padding:2rem;margin-top:1.5rem;animation:formSlideIn .5s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 16px #3b82f60d,inset 0 1px #ffffffe6}@keyframes formSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.add-chain-block-form h5{margin:0 0 1.5rem;color:#1e40af;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.block-title-input,.duration-input,.label-select,.unified-label-select,.profile-select{width:100%;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.95rem;background:linear-gradient(135deg,#fff,#fefeff);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d}.block-title-input:focus,.duration-input:focus,.label-select:focus,.unified-label-select:focus,.profile-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a,0 4px 8px #3b82f60d;transform:translateY(-1px)}.form-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-end}.primary-btn,.add-btn,.create-profile-btn,.create-first-profile-btn{padding:.875rem 2rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 8px #3b82f633,inset 0 1px #fff3;text-transform:uppercase;letter-spacing:.5px}.primary-btn:hover,.add-btn:hover,.create-profile-btn:hover,.create-first-profile-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #3b82f64d,inset 0 1px #ffffff4d}.cancel-btn{padding:.875rem 2rem;background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 8px #6b728033,inset 0 1px #fff3;text-transform:uppercase;letter-spacing:.5px}.cancel-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #6b72804d,inset 0 1px #ffffff4d}.color-picker{width:60px;height:40px;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;transition:border-color .2s}.color-picker:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-block-button-container{display:flex;justify-content:center;padding:1.5rem 0}.add-chain-block-btn{padding:1rem 2rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.add-chain-block-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.add-chain-block-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);color:#d1d5db;cursor:not-allowed;transform:none;box-shadow:0 1px 2px #0000001a}.add-chain-block-btn:disabled:hover{background:linear-gradient(135deg,#9ca3af,#6b7280);transform:none;box-shadow:0 1px 2px #0000001a}.add-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633;padding:.75rem 1.5rem}.add-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.chain-profile-section{margin-top:1.5rem;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}.profile-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1.5rem;border-bottom:1px solid #e5e7eb}.profile-header h4{margin:0 0 .5rem;color:#1f2937;font-size:1.25rem;font-weight:700}.profile-header p{margin:0;color:#6b7280;font-size:.875rem}.direction-tabs{display:flex;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;position:relative;overflow:hidden;border-radius:12px 12px 0 0;box-shadow:inset 0 -1px #fffc}.direction-tabs:before{content:"";position:absolute;bottom:0;left:0;width:50%;height:4px;background:linear-gradient(90deg,#3b82f6,#1d4ed8,#3b82f6);background-size:200% 100%;transform:translate(0);transition:all .5s cubic-bezier(.4,0,.2,1);border-radius:4px 4px 0 0;animation:shimmer 3s ease-in-out infinite;box-shadow:0 0 8px #3b82f680}.direction-tabs:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);pointer-events:none;border-radius:12px 12px 0 0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.direction-tabs[data-active-tab=after]:before{transform:translate(100%)}.direction-tab{flex:1;padding:1.3rem 1.8rem;background:none;border:none;border-bottom:4px solid transparent;color:#6b7280;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative;transform:scale(1) translateY(0);filter:brightness(1) saturate(1);overflow:hidden}.direction-tab:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(59,130,246,.08),transparent 70%);opacity:0;transition:all .5s cubic-bezier(.4,0,.2,1);border-radius:12px 12px 0 0;transform:scale(.8)}.direction-tab:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);transform:translate(-50%);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 4px #3b82f666}.direction-tab:hover{color:#1d4ed8;transform:scale(1.08) translateY(-4px);filter:brightness(1.15) saturate(1.3);text-shadow:0 2px 4px rgba(59,130,246,.2);background:linear-gradient(135deg,#ffffffe6,#f8fafccc);border-radius:12px 12px 0 0;box-shadow:0 8px 16px #3b82f61a,0 4px 8px #1d4ed80d,inset 0 1px #ffffffe6}.direction-tab:hover:before{opacity:1;transform:scale(1.1)}.direction-tab:hover:after{width:85%}.direction-tab:active{transform:scale(1.06) translateY(-2px);transition:all .1s}.direction-tab.active{background:linear-gradient(135deg,#fff,#fefeff,#f8fafc);color:#1e40af;transform:scale(1.1) translateY(-6px);box-shadow:0 12px 24px #3b82f626,0 6px 12px #1d4ed81a,0 2px 4px #1e40af0d,inset 0 1px #fff,inset 0 0 20px #3b82f60d;filter:brightness(1.2) saturate(1.4);text-shadow:0 1px 3px rgba(30,64,175,.15);border-radius:12px 12px 0 0;border:1px solid rgba(59,130,246,.1);border-bottom:none}.direction-tab.active:before{opacity:0}.direction-tab.active:after{width:90%;background:linear-gradient(90deg,transparent,#1e40af,transparent);height:3px;box-shadow:0 0 6px #1e40af99,0 0 12px #3b82f64d}.tab-icon{font-size:1.1rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.direction-tab:hover .tab-icon{transform:scale(1.15);filter:drop-shadow(0 2px 4px rgba(59,130,246,.2))}.direction-tab.active .tab-icon{transform:scale(1.2);filter:drop-shadow(0 2px 6px rgba(29,78,216,.3))}.block-count{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;min-width:20px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);transform:scale(1);box-shadow:0 1px 3px #3b82f633;border:1px solid rgba(255,255,255,.2);opacity:1}.block-count:empty,.block-count[data-count="0"]{opacity:0;transform:scale(.8);pointer-events:none}.direction-tab:hover .block-count{transform:scale(1.1);box-shadow:0 2px 6px #3b82f64d;background:linear-gradient(135deg,#1d4ed8,#1e40af)}.direction-tab.active .block-count{background:linear-gradient(135deg,#1e40af,#1e3a8a);transform:scale(1.15);box-shadow:0 3px 8px #1d4ed866;animation:subtlePulse 2s ease-in-out infinite}@keyframes subtlePulse{0%,to{transform:scale(1.15);opacity:1}50%{transform:scale(1.2);opacity:.95}}.chain-blocks-section{padding:1.5rem}.section-header h5{margin:0 0 1rem;color:#374151;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.no-chain-blocks{text-align:center;padding:2rem;color:#9ca3af;font-style:italic}.no-chain-blocks p{margin:0}.unified-label-selection{margin-top:.5rem}.unified-label-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff;transition:border-color .2s}.unified-label-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.new-label-creator{display:flex;gap:.75rem;margin-top:.75rem;padding:.75rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;border:1px solid #e5e7eb;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.new-label-input{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s}.new-label-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.new-label-color{width:50px;height:38px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .2s}.new-label-color:hover{transform:scale(1.05)}.label-selection{margin-top:.5rem}.radio-group{display:flex;gap:1rem;margin-bottom:1rem}.radio-option{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;cursor:pointer}.radio-option input[type=radio]{width:16px;height:16px;accent-color:#3b82f6}.new-label-inputs{display:flex;gap:.75rem;align-items:center}.new-label-name{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.label-color-picker{width:40px;height:32px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.time-selector-grid{display:flex;gap:2rem;margin-bottom:1rem}.time-group{display:flex;align-items:center;gap:.5rem}.time-label{font-weight:600;color:#374151;min-width:40px}.time-select{padding:.375rem .5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;font-family:monospace}.time-colon{font-weight:700;color:#374151}.time-display{background:#f3f4f6;padding:.75rem 1rem;border-radius:8px;font-family:monospace;font-weight:600;color:#374151;text-align:center}.duration{color:#6b7280;font-weight:400;margin-left:.5rem}.block-order{background:#3b82f6;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.profile-manager{border-bottom:1px solid #e5e7eb;background:#fafbfc;padding:1rem 1.5rem}.profile-selector{display:flex;align-items:center;gap:1rem}.profile-selector label{font-weight:600;color:#374151;white-space:nowrap}.profile-select{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff;transition:all .2s}.profile-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.manage-profiles-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.manage-profiles-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);transform:translateY(-1px)}.no-profiles-message{display:flex;align-items:center;gap:1rem;flex:1}.no-profiles-message span{color:#6b7280;font-style:italic}.create-first-profile-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.create-first-profile-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px)}.profile-management-panel{margin-top:1rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;animation:slideDown .3s ease-out}.create-profile-section h5,.existing-profiles-section h5{margin:0 0 .75rem;color:#374151;font-weight:600;font-size:.875rem}.create-profile-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.profile-name-input{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.profile-name-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.create-profile-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.create-profile-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px)}.create-profile-btn:disabled{opacity:.5;cursor:not-allowed}.profiles-list{display:flex;flex-direction:column;gap:.5rem}.profile-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s}.profile-item:hover{background:#f3f4f6}.profile-name{font-weight:500;color:#374151}.profile-item .profile-actions{display:flex;gap:.5rem}.edit-profile-btn,.delete-profile-btn{width:28px;height:28px;border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.875rem;transition:all .2s}.edit-profile-btn{background:#3b82f6;color:#fff}.edit-profile-btn:hover{background:#1d4ed8;transform:scale(1.05)}.delete-profile-btn{background:#ef4444;color:#fff;font-size:1rem;font-weight:700}.delete-profile-btn:hover{background:#dc2626;transform:scale(1.05)}.profile-edit-form{display:flex;align-items:center;gap:.5rem;width:100%}.profile-name-input{flex:1;padding:.5rem .75rem;border:2px solid #3b82f6;border-radius:6px;font-size:.875rem;font-weight:500;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a}.profile-name-input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f61a,0 2px 4px #0000001a;background:linear-gradient(135deg,#fff,#f0f9ff)}.profile-edit-actions{display:flex;gap:.25rem}.cancel-edit-btn{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b;border:1px solid #cbd5e1;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.cancel-edit-btn:hover{background:linear-gradient(135deg,#fecaca,#fee2e2);color:#dc2626;border-color:#f87171;transform:scale(1.1)}.input-modal{max-width:500px;width:90%;max-height:90vh;background:linear-gradient(145deg,#f8fafc,#e2e8f0);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 25px 50px -12px #3b82f640,0 0 0 1px #3b82f61a;animation:inputModalSlide .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden;display:flex;flex-direction:column}@keyframes inputModalSlide{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.input-content{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.input-content .form-group{opacity:0;animation:inputFormGroupFade .5s ease-out forwards}.input-content .form-group:nth-child(1){animation-delay:.1s}.input-content .form-group:nth-child(2){animation-delay:.2s}.input-content .form-group:nth-child(3){animation-delay:.3s}.input-content .form-group:nth-child(4){animation-delay:.4s}.input-content .form-group:nth-child(5){animation-delay:.5s}@keyframes inputFormGroupFade{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.input-content label{display:block;margin-bottom:8px;font-weight:600;color:#1e40af;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.label-selection{position:relative}.label-dropdown{width:100%;padding:12px 44px 12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.label-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.new-label-section{margin-top:16px;padding:20px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:10px;animation:newLabelSlide .4s cubic-bezier(.34,1.56,.64,1)}@keyframes newLabelSlide{0%{opacity:0;transform:translateY(-10px) scale(.95);max-height:0}to{opacity:1;transform:translateY(0) scale(1);max-height:200px}}.new-label-row{display:flex;gap:12px;align-items:center;margin-bottom:16px}.new-label-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1)}.new-label-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.label-color-picker{width:60px;height:36px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:none;padding:4px}.label-color-picker:hover{border-color:#3b82f6;transform:scale(1.05)}.label-actions{display:flex;gap:12px;justify-content:flex-end}.create-label-btn{padding:8px 16px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #3b82f64d}.create-label-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.create-label-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.cancel-create-btn{padding:10px 20px;background:transparent;color:#6b7280;border:2px solid #e2e8f0;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.cancel-create-btn:hover{border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px)}.input-modal .time-selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.input-modal .time-group{display:flex;align-items:center;gap:8px}.input-modal .time-label{font-weight:600;color:#374151;min-width:45px;font-size:14px}.input-modal .time-select{padding:8px 32px 8px 12px;border:2px solid #e2e8f0;border-radius:6px;background:#fff;color:#374151;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;min-width:70px}.input-modal .time-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-modal .time-colon{font-weight:700;color:#6b7280;font-size:16px}.input-modal .time-display{padding:12px 16px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:8px;font-weight:600;color:#1e40af;text-align:center;font-size:16px}.input-modal .duration{color:#6b7280;font-weight:400;margin-left:8px;font-size:14px}.input-modal .note-textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-modal .note-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-modal .label-preview{display:flex;justify-content:center;margin:16px 0;animation:labelPreviewFade .3s ease-out}@keyframes labelPreviewFade{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.input-modal .label-chip{padding:8px 16px;border-radius:20px;color:#fff;font-weight:600;font-size:14px;box-shadow:0 2px 8px #0000001a;text-shadow:0 1px 2px rgba(0,0,0,.1)}.input-modal .repeat-dropdown{width:100%;padding:12px 44px 12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.input-modal .repeat-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-modal .modal-footer{padding:20px 24px;border-top:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.input-modal .add-block-btn{padding:12px 32px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #3b82f64d;animation:addBlockBtnFade .6s ease-out .5s both}@keyframes addBlockBtnFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-modal .add-block-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.input-modal .recurring-blocks-text{color:#6b7280;font-size:14px;font-weight:500;animation:recurringTextFade .6s ease-out .6s both}@keyframes recurringTextFade{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.edit-block-modal{max-width:500px;width:90%;max-height:90vh;background:linear-gradient(145deg,#f8fafc,#e2e8f0);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 25px 50px -12px #3b82f640,0 0 0 1px #3b82f61a;animation:editModalSlide .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden;display:flex;flex-direction:column}@keyframes editModalSlide{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.edit-content{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.edit-content .form-group{opacity:0;animation:editFormGroupFade .5s ease-out forwards}.edit-content .form-group:nth-child(1){animation-delay:.1s}.edit-content .form-group:nth-child(2){animation-delay:.2s}.edit-content .form-group:nth-child(3){animation-delay:.3s}.edit-content .form-group:nth-child(4){animation-delay:.4s}.edit-content .form-group:nth-child(5){animation-delay:.5s}@keyframes editFormGroupFade{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.edit-content label{display:block;margin-bottom:8px;font-weight:600;color:#1e40af;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.edit-block-modal .label-selection{position:relative}.edit-block-modal .label-dropdown{width:100%;padding:12px 44px 12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.edit-block-modal .label-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.edit-block-modal .new-label-section{margin-top:16px;padding:20px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:10px;animation:editNewLabelSlide .4s cubic-bezier(.34,1.56,.64,1)}@keyframes editNewLabelSlide{0%{opacity:0;transform:translateY(-10px) scale(.95);max-height:0}to{opacity:1;transform:translateY(0) scale(1);max-height:200px}}.edit-block-modal .new-label-row{display:flex;gap:12px;align-items:center;margin-bottom:16px}.edit-block-modal .new-label-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1)}.edit-block-modal .new-label-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.edit-block-modal .label-color-picker{width:60px;height:36px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:none;padding:4px}.edit-block-modal .label-color-picker:hover{border-color:#3b82f6;transform:scale(1.05)}.edit-block-modal .label-actions{display:flex;gap:12px;justify-content:flex-end}.edit-block-modal .create-label-btn{padding:8px 16px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #3b82f64d}.edit-block-modal .create-label-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.edit-block-modal .create-label-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.edit-block-modal .cancel-create-btn{padding:10px 20px;background:transparent;color:#6b7280;border:2px solid #e2e8f0;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.edit-block-modal .cancel-create-btn:hover{border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px)}.edit-block-modal .time-selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.edit-block-modal .time-group{display:flex;align-items:center;gap:8px}.edit-block-modal .time-label{font-weight:600;color:#374151;min-width:45px;font-size:14px}.edit-block-modal .time-select{padding:8px 32px 8px 12px;border:2px solid #e2e8f0;border-radius:6px;background:#fff;color:#374151;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;min-width:70px}.edit-block-modal .time-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.edit-block-modal .time-colon{font-weight:700;color:#6b7280;font-size:16px}.edit-block-modal .time-display{padding:12px 16px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:8px;font-weight:600;color:#1e40af;text-align:center;font-size:16px}.edit-block-modal .duration{color:#6b7280;font-weight:400;margin-left:8px;font-size:14px}.edit-block-modal .note-textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:all .3s cubic-bezier(.4,0,.2,1)}.edit-block-modal .note-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.edit-block-modal .label-preview{display:flex;justify-content:center;margin:16px 0;animation:editLabelPreviewFade .3s ease-out}@keyframes editLabelPreviewFade{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.edit-block-modal .label-chip{padding:8px 16px;border-radius:20px;color:#fff;font-weight:600;font-size:14px;box-shadow:0 2px 8px #0000001a;text-shadow:0 1px 2px rgba(0,0,0,.1)}.edit-block-modal .repeat-dropdown{width:100%;padding:12px 44px 12px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.edit-block-modal .repeat-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.edit-block-modal .modal-actions{padding:20px 24px;border-top:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:flex;justify-content:center;align-items:center;flex-shrink:0}.edit-block-modal .action-buttons{display:flex;gap:16px;align-items:center;width:100%;justify-content:space-between}.edit-block-modal .delete-btn{padding:12px 24px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ef44444d;opacity:1!important;transform:translateY(0)!important;display:block!important;visibility:visible!important}.edit-block-modal .delete-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ef444466}.edit-block-modal .primary-btn{padding:12px 32px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #3b82f64d;opacity:1;transform:translateY(0)}.edit-block-modal .primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.overlay-block{border-style:dashed!important;border-width:2px!important;position:relative}.overlay-block:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.1) 4px,rgba(255,255,255,.1) 8px);pointer-events:none;z-index:1}.overlay-block .block-content{position:relative;z-index:2}.overlay-block .block-title{position:relative;z-index:2;font-weight:600}.schedule-modal{max-width:600px;width:90%;max-height:80vh;background:linear-gradient(145deg,#f8fafc,#e2e8f0);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 25px 50px -12px #3b82f640,0 0 0 1px #3b82f61a;animation:scheduleModalSlide .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden;display:flex;flex-direction:column}@keyframes scheduleModalSlide{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.schedule-content{flex:1;padding:24px;overflow-y:auto}.schedule-content h4{color:#1e40af;font-size:16px;margin-bottom:16px;font-weight:600}.schedule-list{display:flex;flex-direction:column;gap:12px}.schedule-item{background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.schedule-item.active{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.schedule-info{display:flex;flex-direction:column;gap:8px}.schedule-name{font-weight:600;font-size:16px;color:#374151;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .3s ease}.schedule-name:hover{color:#3b82f6}.active-badge{background:#3b82f6;color:#fff;font-size:12px;padding:2px 8px;border-radius:12px;font-weight:500}.overlay-badge{background:#f59e0b;color:#fff;font-size:12px;padding:2px 8px;border-radius:12px;font-weight:500;margin-left:8px}.schedule-item.overlaying{opacity:.6;cursor:not-allowed}.schedule-item.overlaying .schedule-info{cursor:not-allowed}.schedule-item.overlaying .schedule-info:hover{background:none;transform:none}.schedule-stats{color:#6b7280;font-size:14px}.schedule-actions{display:flex;gap:8px;align-self:flex-end;margin-top:8px}.action-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;border-radius:6px;transition:all .3s ease}.action-btn:hover{background:#3b82f61a;transform:scale(1.1)}.action-btn.delete-btn:hover{background:#ef44441a}.schedule-edit{display:flex;gap:8px;align-items:center}.schedule-name-input{flex:1;padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;transition:all .3s ease}.schedule-name-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.save-btn,.cancel-btn{padding:6px 12px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.save-btn{background:#3b82f6;color:#fff}.save-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.cancel-btn{background:#f3f4f6;color:#6b7280}.cancel-btn:hover{background:#e5e7eb}.create-schedule-section{margin-top:16px;padding:16px;border:2px dashed #cbd5e1;border-radius:10px;text-align:center}.create-schedule-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.create-schedule-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.create-schedule-form{display:flex;gap:8px;align-items:center;justify-content:center}.overlay-modal{max-width:500px;width:90%;max-height:70vh;background:linear-gradient(145deg,#f8fafc,#e2e8f0);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 25px 50px -12px #3b82f640,0 0 0 1px #3b82f61a;animation:overlayModalSlide .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden;display:flex;flex-direction:column}@keyframes overlayModalSlide{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.overlay-content{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.overlay-content h4{color:#1e40af;font-size:16px;margin-bottom:12px;font-weight:600}.active-schedule-info{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #3b82f6;border-radius:10px;padding:16px}.active-schedule{font-weight:600;color:#1e40af;font-size:16px}.overlay-schedules{display:flex;flex-direction:column;gap:12px}.no-schedules{color:#6b7280;font-style:italic;text-align:center;padding:20px}.overlay-item{background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:12px;transition:all .3s ease}.overlay-item:hover{border-color:#3b82f6;transform:translateY(-1px)}.overlay-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer}.overlay-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6}.overlay-info{flex:1}.overlay-name{font-weight:600;color:#374151;margin-bottom:4px}.overlay-stats{color:#6b7280;font-size:14px}.overlay-preview{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;border-radius:10px;padding:16px}.overlay-list{display:flex;flex-direction:column;gap:8px}.overlay-preview-item{background:#fff;padding:8px 12px;border-radius:6px;font-weight:500;color:#374151}.schedule-select-modal{max-width:450px;width:90%;background:linear-gradient(145deg,#f8fafc,#e2e8f0);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 25px 50px -12px #3b82f640,0 0 0 1px #3b82f61a;animation:scheduleSelectSlide .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes scheduleSelectSlide{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.schedule-select-content{padding:24px}.select-instruction{color:#4b5563;margin-bottom:20px;font-size:14px;text-align:center}.schedule-options{display:flex;flex-direction:column;gap:12px}.schedule-option{background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:16px;cursor:pointer;transition:all .3s ease;display:flex;justify-content:space-between;align-items:center}.schedule-option:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 25px #3b82f626}.active-option{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.overlay-option{border-style:dashed}.option-info{display:flex;flex-direction:column;gap:4px}.option-name{font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.option-type{color:#6b7280;font-size:13px}.option-arrow{color:#3b82f6;font-weight:700;font-size:18px}.main-schedule-selector{display:flex;flex-direction:column;gap:8px}.main-schedule-dropdown{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;font-weight:600;color:#374151;background:#fff;transition:all .3s ease;cursor:pointer}.main-schedule-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.main-schedule-dropdown option:disabled{color:#9ca3af;background-color:#f3f4f6}.schedule-change-note{color:#6b7280;font-size:13px;font-style:italic}.overlay-label{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px dashed #d1d5db}.overlay-indicator{color:#6b7280;font-size:12px;font-weight:400;margin-left:8px}.schedule-info{cursor:pointer;flex:1;transition:all .3s ease}.schedule-info:hover{background:#3b82f60d;border-radius:6px}.schedule-actions{margin-top:8px}.free-time-section{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #3b82f6;border-radius:10px;padding:16px;margin-top:20px}.free-time-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.free-time-header h4{color:#1e40af;margin:0}.toggle-free-time-btn{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.toggle-free-time-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.free-time-calculator{display:flex;flex-direction:column;gap:16px}.schedule-selector h5{color:#1e40af;margin:0 0 12px;font-size:14px}.schedule-checkboxes{display:flex;flex-direction:column;gap:8px}.schedule-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #c7d2fe;border-radius:6px;cursor:pointer;transition:all .3s ease}.schedule-checkbox:hover{background:#f0f9ff;border-color:#3b82f6}.schedule-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.schedule-name{font-weight:500;color:#374151}.schedule-block-count{color:#6b7280;font-size:13px}.free-time-results{background:#fff;border:1px solid #c7d2fe;border-radius:8px;padding:16px}.free-time-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e0e7ff}.free-time-summary h5{color:#1e40af;margin:0;font-size:14px}.total-free-time{font-weight:600;color:#3b82f6;font-size:16px}.free-time-slots{display:flex;flex-direction:column;gap:8px}.no-free-time{color:#6b7280;font-style:italic;text-align:center;padding:12px}.free-time-slot{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:linear-gradient(135deg,#f0f9ff,#e0e7ff);border:1px solid #a5b4fc;border-radius:6px;transition:all .3s ease}.free-time-slot:hover{transform:translate(4px);box-shadow:0 2px 8px #3b82f626}.slot-time{font-weight:500;color:#374151}.slot-duration{font-weight:600;color:#3b82f6;background:#fff;padding:4px 8px;border-radius:4px;font-size:13px}.mobile-schedule-view{display:flex;flex-direction:column;height:100vh;background:#fff}.mobile-header{padding:1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:100}.mobile-date-nav{display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;gap:1rem}.mobile-nav-btn{background:#3b82f6;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease}.mobile-nav-btn:hover{background:#2563eb;transform:scale(1.05)}.mobile-nav-btn:active{transform:scale(.95)}.mobile-date{font-size:18px;font-weight:600;color:#374151;text-align:center;min-width:120px}.mobile-schedule-selector{display:flex;justify-content:center}.schedule-select{padding:.5rem 1rem;border:2px solid #3b82f6;border-radius:.5rem;background:#fff;color:#374151;font-weight:500;min-width:200px}.mobile-timeline{flex:1;overflow-y:auto;padding:.5rem}.mobile-hour-slot{display:flex;min-height:60px;border-bottom:1px solid #f1f5f9;position:relative}.mobile-time-label{width:60px;flex-shrink:0;padding:.5rem;font-size:14px;font-weight:500;color:#6b7280;text-align:center;border-right:1px solid #e2e8f0}.mobile-hour-content{flex:1;position:relative;min-height:60px}.mobile-block{cursor:pointer;border-radius:6px;padding:6px 8px;margin:2px;box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.mobile-block:active{transform:scale(.95);box-shadow:0 1px 2px #00000026}.mobile-block-title{font-weight:600;font-size:13px;line-height:1.2;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-block-time{font-size:11px;opacity:.9;font-weight:500}@media (max-width: 768px){.schedule-planner{padding:0}.schedule-header,.main-container,.legend-sidebar{display:none!important}}.control-btn.danger{background-color:#dc2626;color:#fff;border:2px solid #dc2626}.control-btn.danger:hover{background-color:#b91c1c;border-color:#b91c1c}.control-btn.danger:active{background-color:#991b1b;border-color:#991b1b}.control-btn input[type=file]{position:absolute;opacity:0;width:0;height:0}.auto-save-status{position:fixed;bottom:20px;right:20px;background:#10b981;color:#fff;padding:8px 16px;border-radius:20px;font-size:12px;opacity:0;transition:opacity .3s ease;z-index:1000}.auto-save-status.visible{opacity:1}.auto-save-status.error{background:#dc2626}.life-tracker-logo{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:24px!important;font-weight:900!important;color:#fff!important;margin-left:24px;letter-spacing:3px;-webkit-user-select:none;user-select:none;flex-shrink:0;text-shadow:0 4px 8px rgba(0,0,0,.3);position:relative;padding:12px 20px;border-radius:16px;pointer-events:none;display:block;opacity:1;z-index:10;background:linear-gradient(135deg,#ffffff26,#ffffff0d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0000001a;animation:logoGlow 3s ease-in-out infinite alternate}.life-tracker-logo:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#ffeaa7);border-radius:18px;z-index:-1;opacity:0;transition:opacity .3s ease;animation:borderRotate 4s linear infinite}.life-tracker-logo:hover:before{opacity:.8}@keyframes logoGlow{0%{text-shadow:0 4px 8px rgba(0,0,0,.3);transform:scale(1)}to{text-shadow:0 4px 8px rgba(0,0,0,.3),0 0 20px rgba(255,255,255,.3);transform:scale(1.02)}}@keyframes borderRotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.tabs{display:flex!important;align-items:center!important;position:relative!important;width:100%!important;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-bottom:3px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0 20px;min-height:60px}.tabs .tab{padding:12px 24px;cursor:pointer;background:#ffffff1a;border:2px solid transparent;border-radius:12px;color:#ffffffe6;font-weight:600;font-size:14px;letter-spacing:.5px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0 4px}.tabs .tab:hover{background:#fff3;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.tabs .tab.active{background:#fffffff2;color:#1d4ed8;border-color:#ffffff4d;box-shadow:0 4px 15px #0000001a;transform:translateY(-1px)}.tabs .tab:first-child{margin-left:0}.tabs .tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.tabs .tab:hover:before{left:100%}.tabs .tab.active:before{display:none}.timing-mode-selector{display:flex;gap:2rem;background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid rgba(59,130,246,.1);border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px #0000000d,inset 0 1px #fffc}.timing-mode-selector .radio-option{display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;color:#374151;cursor:pointer;padding:1rem 1.5rem;border-radius:12px;background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d;position:relative;overflow:hidden}.timing-mode-selector .radio-option:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.2),transparent);opacity:0;transition:opacity .3s ease}.timing-mode-selector .radio-option:hover{background:linear-gradient(135deg,#fff,#f1f5f9);border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 8px 16px #3b82f61a,0 2px 4px #0000000d}.timing-mode-selector .radio-option:hover:before{opacity:1}.timing-mode-selector .radio-option input[type=radio]{width:20px;height:20px;margin:0;accent-color:#3b82f6;cursor:pointer;position:relative}.timing-mode-selector .radio-option input[type=radio]:checked+span{color:#1e40af;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.05)}.timing-mode-selector .radio-option:has(input[type=radio]:checked){background:linear-gradient(135deg,#dbeafe,#eff6ff);border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626,0 4px 8px #3b82f633;transform:translateY(-1px)}.timing-mode-selector .radio-option:has(input[type=radio]:checked):before{opacity:1;background:linear-gradient(90deg,transparent,rgba(59,130,246,.4),transparent)}.offset-config{display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid rgba(59,130,246,.1);border-radius:16px;padding:2rem;box-shadow:0 4px 6px #0000000d,inset 0 1px #fffc}.offset-input-group,.duration-input-group{display:flex;flex-direction:column;gap:.75rem}.offset-label,.duration-label{font-size:.95rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.offset-input,.duration-input{width:100%;max-width:200px;padding:1rem 1.25rem;border:2px solid rgba(59,130,246,.2);border-radius:12px;font-size:1rem;font-weight:600;color:#1e293b;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000d,inset 0 1px #fffc;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.offset-input:focus,.duration-input:focus{outline:none;border-color:#3b82f6;background:linear-gradient(135deg,#fff,#f1f5f9);box-shadow:0 0 0 4px #3b82f626,0 4px 8px #3b82f61a,inset 0 1px #ffffffe6;transform:translateY(-2px)}.offset-input:hover,.duration-input:hover{border-color:#3b82f666;box-shadow:0 4px 8px #3b82f61a,0 1px 3px #0000000d,inset 0 1px #ffffffe6;transform:translateY(-1px)}.offset-preview{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border:1px solid rgba(59,130,246,.2);border-radius:12px;padding:1.25rem;margin-top:1rem;position:relative;overflow:hidden}.offset-preview:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent)}.offset-preview small{display:block;font-size:.9rem;font-weight:500;color:#1e40af;line-height:1.6;text-align:center;margin:0;padding:.5rem 0}.chain-content .form-group:has(.timing-mode-selector),.chain-content .form-group:has(.offset-config){background:linear-gradient(135deg,#fefeff,#f8fafc);border:2px solid rgba(59,130,246,.08);border-radius:20px;padding:2.5rem;margin-bottom:2rem;box-shadow:0 8px 32px #3b82f60f,0 1px 2px #0000000d;position:relative;overflow:hidden}.chain-content .form-group:has(.timing-mode-selector):before,.chain-content .form-group:has(.offset-config):before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent)}.chain-content .form-group:has(.timing-mode-selector) label:first-child,.chain-content .form-group:has(.offset-config) label:first-child{font-size:1.1rem;font-weight:700;color:#1e40af;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.75px;text-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;align-items:center;gap:.75rem}.chain-content .form-group:has(.timing-mode-selector) label:first-child:after{content:"⚡";font-size:1.2rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.chain-content .form-group:has(.offset-config) label:first-child:after{content:"🎯";font-size:1.2rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}@media (max-width: 768px){.timing-mode-selector{flex-direction:column;gap:1rem}.timing-mode-selector .radio-option{padding:1rem}.offset-config{padding:1.5rem}.offset-input,.duration-input{max-width:100%}}.chain-block-creation{padding:20px}.chain-block-creation h4{color:#1f2937;margin-bottom:15px;font-size:1.2rem}.chain-description{color:#6b7280;margin-bottom:20px;line-height:1.5}.chain-label-selector{margin-bottom:20px}.chain-label-label{display:block;margin-bottom:8px;font-weight:500;color:#374151}.chain-label-dropdown{width:100%;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;background-color:#fff;color:#374151;transition:border-color .2s ease}.chain-label-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.chain-label-dropdown:hover{border-color:#9ca3af}.selected-chain-info{background-color:#f0f9ff;border:1px solid #3b82f6;border-radius:8px;padding:15px;margin-bottom:15px}.selected-chain-info p{margin:0 0 10px;color:#1e40af}.selected-chain-info p:last-child{margin-bottom:0}.chain-explanation{color:#1e40af!important;font-size:.9rem}.anchor-reminder{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 15px}.anchor-reminder p{margin:0;color:#374151;font-style:italic}.chain-block-creation .proceed-section{margin-top:25px;padding-top:20px;border-top:1px solid #e5e7eb}.chain-block-creation .proceed-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%}.chain-block-creation .proceed-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.chain-block-creation .proceed-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.create-label-form{margin-top:8px;padding:15px;border:2px solid #e5e7eb;border-radius:8px;background-color:#f9fafb}.create-label-inputs{display:flex;gap:10px;margin-bottom:12px;align-items:center}.new-label-name-input{flex:1;padding:8px 12px;border:2px solid #e5e7eb;border-radius:6px;font-size:1rem;background-color:#fff;color:#374151}.new-label-name-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.new-label-color-input{width:50px;height:40px;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer}.new-label-color-input::-webkit-color-swatch-wrapper{padding:2px}.new-label-color-input::-webkit-color-swatch{border-radius:4px}.create-label-actions{display:flex;gap:8px;justify-content:flex-end}.save-new-label-btn,.cancel-new-label-btn{padding:8px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-new-label-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.save-new-label-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.save-new-label-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.cancel-new-label-btn{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.cancel-new-label-btn:hover{background:#e5e7eb;color:#374151}.active-profile-display{display:flex;align-items:center;gap:8px;background:#f0f9ff;border:1px solid #3b82f6;border-radius:6px;padding:6px 12px;font-size:.9rem;margin:0 10px}.active-profile-label{color:#1e40af;font-weight:500}.active-profile-name{color:#1d4ed8;font-weight:600}.label-restriction-notice{margin-top:15px;padding:12px;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px}.restriction-text{margin:0;color:#374151;font-size:.9rem;line-height:1.4}.chain-blocks-builder{margin-top:20px}.chain-blocks-list{margin-bottom:20px}.no-chain-blocks{text-align:center;color:#6b7280;font-style:italic;padding:20px;background-color:#f9fafb;border-radius:6px;margin:0}.chain-block-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px}.chain-block-info{display:flex;align-items:center;gap:12px;flex:1}.chain-block-position{font-weight:700;color:#3b82f6;font-size:.9rem;min-width:80px}.chain-block-label{font-weight:500;color:#111827}.chain-block-timing{color:#6b7280;font-size:.9rem}.remove-chain-block-btn{background:none;border:none;color:#dc2626;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.remove-chain-block-btn:hover{background-color:#fef2f2}.add-chain-block-form{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background-color:#f9fafb}.chain-block-position-selector{margin-bottom:16px}.chain-block-position-selector label{display:block;font-weight:500;color:#374151;margin-bottom:6px}.position-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:.9rem}.chain-block-details{display:flex;flex-direction:column;gap:12px}.chain-block-title-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.chain-block-time-inputs{display:flex;align-items:center;gap:8px}.chain-block-time-input{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem;width:120px}.add-chain-block-btn{align-self:flex-start;padding:8px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.add-chain-block-btn:hover:not(:disabled){background-color:#2563eb}.add-chain-block-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.chain-preview{margin-top:30px;padding:20px;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.chain-preview h5{margin:0 0 15px;color:#374151;font-size:1.1rem;font-weight:600}.dynamic-preview-layout{padding:20px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.timeline-container{display:flex;align-items:center;gap:8px;padding:16px;background:#fff;border-radius:6px;border:1px solid #e5e7eb;overflow-x:auto;min-height:80px}.preview-block{flex-shrink:0;height:60px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:500;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease;position:relative}.preview-block:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.anchor-block{height:70px;font-size:14px;font-weight:600;border:2px solid #1e40af;box-shadow:0 4px 8px #0003}.preview-block-content{text-align:center;padding:4px;width:100%;overflow:hidden}.preview-block-anchor-text{font-size:9px;opacity:.7;font-weight:400;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.preview-block-label{font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.preview-block-example{font-size:9px;opacity:.8;font-weight:400;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-block-timing{font-size:9px;opacity:.9;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-block-duration{font-size:9px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anchor-block .preview-block-content{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7)}.chain-block-label-selector{margin-bottom:16px}.chain-block-label-selector label{display:block;font-weight:500;color:#374151;margin-bottom:6px}.chain-block-label-dropdown{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:.9rem}.chain-block-timing,.chain-block-duration{margin-bottom:16px}.chain-block-timing label,.chain-block-duration label{display:block;font-weight:500;color:#374151;margin-bottom:6px}.minutes-select,.duration-select,.minutes-input,.duration-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;font-size:.9rem}.minutes-input:focus,.duration-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.anchor-restriction-notice{margin-top:8px;padding:8px 12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:4px}.restriction-text{margin:0;font-size:12px;color:#92400e;line-height:1.4}@media (max-width: 600px){.panel{margin-top:56px!important}}.hamburger{display:none}@media (max-width: 600px){.tabs{display:none!important}.hamburger{display:block!important}}:root{--xp-blue: #87ceeb;--xp-blue-light: #add8e6;--xp-bg: #f0f8ff;--xp-white: #ffffff;--xp-border: #c0c0c0;--xp-text: #000000}body{margin:0;font-family:Segoe UI,Tahoma,Verdana,sans-serif;background:var(--xp-bg);color:var(--xp-text);font-size:14px}h1,h2,h3,h4,h5,h6{color:var(--xp-text);font-weight:700}.helper{font-size:12px;color:#555;margin-bottom:4px}.tabs{display:flex;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-bottom:3px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0 20px;min-height:60px}.tab{padding:12px 24px;cursor:pointer;background:#ffffff1a;border:2px solid transparent;border-radius:12px;color:#ffffffe6;font-weight:600;font-size:14px;letter-spacing:.5px;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0 4px}.tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.tab:hover:before{left:100%}.tab.active:before{display:none}.tab.active{background:#fffffff2;color:#1d4ed8;border-color:#ffffff4d;box-shadow:0 4px 15px #0000001a;transform:translateY(-1px)}.tab:hover{background:#fff3;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.panel{background:var(--xp-white);border:1px solid var(--xp-border);padding:12px;margin:8px;border-radius:4px;box-shadow:inset 0 1px #fff,inset -1px -1px #d0d0d0}.btn,button{padding:6px 14px;background:#fff!important;color:#374151!important;border:1px solid #d1d5db!important;border-radius:3px;font-weight:700;cursor:pointer;font-family:inherit}.btn:hover,button:hover{background:#f9fafb!important;border-color:#9ca3af!important}.btn.primary{background:#3b82f6!important;border-color:#3b82f6!important;color:#fff!important}.danger{background:#fef2f2;border-color:#fecaca;color:#dc2626}button svg,.btn svg{color:#374151!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important}.input,.select,textarea,input,select{border:1px solid var(--xp-border);padding:6px;border-radius:3px;font-size:14px;background:var(--xp-white);font-family:inherit}.input:focus,.select:focus,textarea:focus,input:focus,select:focus{outline:2px solid var(--xp-blue)}.table,table{width:100%;border-collapse:collapse;background:var(--xp-white)}.table th,th{background:var(--xp-blue);color:var(--xp-text);border:1px solid var(--xp-border);padding:6px;font-weight:700}.table td,td{border:1px solid var(--xp-border);padding:6px;background:var(--xp-white)}.card,.mh-card,.fit__panel,.habits__sidebar,.habits__main{background:var(--xp-white);border:1px solid var(--xp-border);border-radius:4px;padding:12px;margin:8px 0;box-shadow:inset 0 1px #fff,inset -1px -1px #d0d0d0}.habits__list,.fit__list,.fit__bwlist{list-style:none;padding:0;margin:0}.habits__list li,.fit__list li,.fit__bwlist li{background:var(--xp-white);border:1px solid var(--xp-border);border-radius:3px;padding:6px;margin:4px 0;display:flex;align-items:center;gap:8px}.cal__cell{background:var(--xp-white);border:1px solid var(--xp-border);border-radius:3px}.cal__cell:hover{background:var(--xp-blue-light)}.cal__cell.is-yes{background:#cfc;border-color:#9c9}.cal__cell.is-no{background:#fcc;border-color:#c99}.cal__cell.is-skip{background:#ffc;border-color:#cc9}.mh-modal__card{background:var(--xp-white);border:2px solid var(--xp-border);border-radius:4px;box-shadow:4px 4px 8px #0000004d}.mh-modal__head{background:#3b82f6;color:var(--xp-text);font-weight:700;border-bottom:1px solid var(--xp-border)}.mh-tabs{display:flex;gap:0;border-bottom:1px solid var(--xp-border);margin:8px 0 12px}.mh-tab{padding:6px 12px;border:1px solid var(--xp-border);border-bottom:none;border-radius:4px 4px 0 0;background:#f1f5f9;cursor:pointer;font-weight:700;color:#64748b}.mh-tab.is-active{background:#3b82f6;color:#fff;border-top:2px solid #3b82f6}.mh-tab:hover{background:#3b82f6;color:var(--xp-white)}.spc-root{--bg: var(--xp-bg);--ink: var(--xp-text);--bd: var(--xp-border);background:var(--xp-bg)}.spc-card,.spc-main-card{background:var(--xp-white);border:1px solid var(--xp-border);border-radius:4px;box-shadow:inset 0 1px #fff,inset -1px -1px #d0d0d0}.spc-btn{background:#fff!important;border:1px solid #d1d5db!important;color:#374151!important;font-weight:700;border-radius:3px}.spc-btn:hover{background:#f9fafb!important;border-color:#9ca3af!important}.spc-tab{background:var(--xp-blue-light);border:1px solid var(--xp-border);color:var(--xp-text);font-weight:700}.spc-tab-active{background:var(--xp-white);border-top:2px solid var(--xp-blue)}.fit__table{border:1px solid var(--xp-border);border-radius:4px;overflow:hidden}.fit__row--head{background:var(--xp-blue);color:var(--xp-text);font-weight:700}.fit__row{background:var(--xp-white)}.fit__row:nth-child(2n){background:#f8f8f8}.tab-nav{position:sticky;top:0;z-index:2000;background:#f0f8ff}.menu-open .landing-title{display:none!important}@media (max-width: 600px){.habits__layout{flex-direction:column!important;display:flex!important;gap:16px!important}.habits__sidebar,.habits__main{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}.habits__add{display:flex;flex-direction:row;gap:8px;margin-top:12px}.habits__add input{flex:1 1 0%;font-size:1.1em;padding:10px;border-radius:6px}.habits__add button{font-size:1.1em;padding:10px 18px;border-radius:6px}.habits__list button,.habits__sidebar .danger{font-size:1em;padding:8px 12px;border-radius:6px}.habits__header{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}}.assignments-container{min-height:100vh;background:#f8fafc;padding:1rem}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin:1rem 0;box-shadow:0 4px 6px #0000000d;transition:all .3s ease-in-out}.panel:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#374151;font-weight:500;font-size:.875rem}.helper{font-size:.75rem;color:#6b7280;margin-bottom:.5rem;font-weight:500}.input,.select,input,select,textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;transition:all .2s ease-in-out;box-sizing:border-box}.input:focus,.select:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.btn,button{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;font-size:.875rem;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:hover,button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn:active,button:active{transform:translateY(0)}.btn.primary{background:#3b82f6!important}.btn.primary:hover{background:#2563eb!important;box-shadow:0 4px 12px #3b82f64d!important}.danger{background:#ef4444}.danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.table,table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.table th,th{background:#f8fafc;color:#374151;border-bottom:2px solid #e2e8f0;padding:1rem;font-weight:600;font-size:.875rem;text-align:left}.table td,td{border-bottom:1px solid #f1f5f9;padding:1rem;background:#fff;transition:background-color .2s}.table tr:hover td{background:#f8fafc}.due-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;min-width:80px;justify-content:center}.filter-section{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.filter-label{font-weight:500;color:#374151;font-size:.875rem}.assignments-list{border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000000d}.assignments-compact{display:flex;flex-direction:column;gap:.5rem}.assignment-compact-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.assignment-summary{padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.assignment-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);opacity:0;transition:opacity .3s ease}.assignment-summary:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.assignment-summary:hover:before{opacity:1}.assignment-info{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;line-height:1.4;flex:1;justify-content:flex-start}.assignment-info strong{color:#1f2937;font-weight:600;margin-right:.25rem}.assignment-info-item{display:inline-block;margin-right:2.5rem;padding:.375rem .75rem;background:#fff9;border-radius:6px;border:1px solid rgba(226,232,240,.5);min-width:120px}.assignment-info-item:last-child{margin-right:0}.assignment-info-label{font-weight:600;color:#4b5563;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.125rem;display:block}.assignment-info-value{color:#1f2937;font-weight:500;font-size:.85rem}.assignment-info-item.due-date{background:#fff9;border-color:#e2e8f080}.assignment-info-item.days-left{border-radius:6px;font-weight:600;transition:all .2s ease}.assignment-info-item.days-left.urgent{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#dc2626;box-shadow:0 2px 4px #dc262633}.assignment-info-item.days-left.urgent .assignment-info-value{color:#dc2626}.assignment-info-item.days-left.normal{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 2px 4px #3b82f633}.assignment-info-item.days-left.urgent:hover{background:linear-gradient(135deg,#fee2e2,#fecaca);box-shadow:0 4px 8px #dc26264d}.assignment-info-item.days-left.normal:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 4px 8px #3b82f64d}.assignment-info-item.progress .assignment-info-value.done{color:#059669;font-weight:600}.assignment-info-item.progress .assignment-info-value.in-progress{color:#d97706;font-weight:600}.assignment-info-item.progress .assignment-info-value.not-started{color:#6b7280;font-weight:600}.assignment-info-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.assignment-summary:hover .expand-toggle{background:#3b82f61a;border-color:#3b82f64d;color:#3b82f6}@media (max-width: 768px){.assignment-summary{padding:.75rem 1rem;flex-direction:column;align-items:flex-start;gap:.5rem}.assignment-info{width:100%;display:flex;flex-wrap:wrap;gap:.75rem}.assignment-info-item{margin-right:.75rem;margin-bottom:.25rem;flex:1;min-width:calc(50% - .375rem);min-width:auto}.assignment-info-item:last-child{margin-right:0}.expand-toggle{align-self:flex-end;margin-top:.5rem}.assignment-expanded{padding:.75rem}.assignment-field{flex-direction:column;align-items:flex-start;gap:.25rem}.assignment-label{min-width:auto;font-size:.9rem}.assignment-value{text-align:left;width:100%}}@media (min-width: 769px) and (max-width: 1024px){.assignment-info{gap:1rem}.assignment-info-item{margin-right:2rem;min-width:100px}}.expand-toggle{font-size:1.2rem;color:#6b7280;margin-left:1rem;transition:all .2s ease;padding:.25rem .5rem;border-radius:4px;background:#fffc;border:1px solid rgba(226,232,240,.5);display:flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem}.expand-toggle:hover{background:#ffffffe6;color:#374151;transform:scale(1.05)}.assignment-expanded{padding:1rem;background:#fff;border-top:1px solid #f1f5f9}.assignment-field{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f9fafb}.assignment-field:last-child{border-bottom:none}.assignment-label{font-weight:600;color:#374151;min-width:80px}.assignment-value{flex:1;text-align:right;color:#6b7280;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.assignment-value.editable-cell:hover{background:#f3f4f6;cursor:pointer}.assignment-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;text-align:center}.delete-btn{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.delete-btn:hover{background:#b91c1c}.assignment-field{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.assignment-field:last-child{margin-bottom:0}.assignment-label{font-weight:600;color:#374151;font-size:.875rem;min-width:80px}.assignment-value{flex:1;color:#6b7280;font-size:.875rem;text-align:right}.edit-btn{padding:.375rem .75rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;margin-left:.5rem}.edit-btn:hover{background:#2563eb;transform:translateY(-1px)}.delete-btn{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;margin-top:1rem;width:100%}.delete-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.panel,.assignment-card{animation:fadeIn .3s ease-out}.input:focus,.select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn:focus,button:focus{outline:2px solid #3b82f6;outline-offset:2px}.btn:disabled,button:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:disabled:hover,button:disabled:hover{transform:none;box-shadow:none}@media (max-width: 768px){.assignments-container{padding:.5rem}.panel{padding:1rem;margin:.5rem 0}.table th,.table td{padding:.75rem .5rem;font-size:.8rem}.filter-section{flex-direction:column;align-items:stretch;gap:.75rem}.assignment-field{flex-direction:column;align-items:flex-start;gap:.5rem}.assignment-value{text-align:left;width:100%}}.editable-cell:hover{background:#f8fafc!important;transition:background-color .2s ease-in-out}.form-group select.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e") right .75rem center / 1rem no-repeat;padding-right:2.5rem;cursor:pointer}.form-group select.select:focus{background:#fff url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e") right .75rem center / 1rem no-repeat}.form-group select.select option{background:#fff!important}.panel{position:relative}.panel input:focus,.panel select:focus{z-index:10000}.inline-editor-overlay{position:absolute;z-index:10000;box-shadow:0 4px 20px #00000026;border-radius:8px;background:#fff;border:1px solid #e2e8f0;overflow:hidden}.progress-dropdown{z-index:10000;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:150px;padding:4px 0}.progress-dropdown-wrapper{display:block}.progress-option{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f1f5f9}.progress-option:last-child{border-bottom:none}.progress-option:hover{background:#f8fafc}.progress-option.selected{background:#3b82f6;color:#fff}.editor-buttons{display:flex;gap:.5rem;padding:.75rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0}.editor-btn{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.editor-btn:hover{background:#f3f4f6;border-color:#9ca3af}.editor-btn.save{background:#3b82f6;color:#fff;border-color:#3b82f6}.editor-btn.save:hover{background:#2563eb;border-color:#2563eb}.editor-btn.cancel:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.editable-cell{transition:all .2s ease;cursor:pointer}.editable-cell:hover{background:#f3f4f6!important;transform:scale(1.02)}.editable-cell:active{transform:scale(.98)}.class-select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") right .5rem center / 1.5em 1.5em no-repeat!important;padding-right:2.5rem!important}.class-select:focus{background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%233b82f6' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") right .5rem center / 1.5em 1.5em no-repeat!important}.class-select option{background-image:none!important;background:#fff;padding:8px}.class-option.add-new{border-top:1px solid #e2e8f0;font-style:italic;color:#3b82f6}.class-option.add-new:hover{background:#eff6ff}@media (max-width: 600px){.edit-btn,.delete-btn{display:inline-block!important;margin-left:8px;font-size:.95em;background:#e2e8f0;color:#1e293b;border:none;border-radius:4px;padding:3px 10px;cursor:pointer}.edit-btn:hover,.delete-btn:hover{background:#cbd5e1}.delete-btn{background:#b22222;color:#fff}.delete-btn:hover{background:#a11d1d}.mobile-tip{display:inline!important}.desktop-tip,.assignments-table-wrapper{display:none!important}.assignments-cards{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important;margin:0!important}.assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0001;padding:12px 14px;font-size:1rem;display:flex;flex-direction:column;gap:6px;width:100%}.assignment-field{display:flex;flex-direction:row;gap:6px;align-items:baseline;word-break:break-word}.assignment-label{font-weight:600;color:#1e293b;min-width:80px;flex-shrink:0}.assignment-value{flex:1 1 0%;color:#334155;word-break:break-word}.panel input[type=date]{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;font-size:1rem!important;padding:6px 8px!important;border-radius:6px;background:#fff;border:1px solid #e2e8f0;margin:0}}@media (max-width: 600px){.assignments-cards{display:flex;flex-direction:column;gap:12px}.assignment-card{background:#fff;border:1px solid #e2e8f0}.assignments-table-wrapper{display:none!important}.assignments-cards{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important;margin:0!important}.assignment-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0001;padding:12px 14px;font-size:1rem;display:flex;flex-direction:column;gap:6px;width:100%}.assignment-field{display:flex;flex-direction:row;gap:6px;align-items:baseline;word-break:break-word}.assignment-label{font-weight:600;color:#1e293b;min-width:80px;flex-shrink:0}.assignment-value{flex:1 1 0%;color:#334155;word-break:break-word}.panel input[type=date]{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;font-size:1rem!important;padding:6px 8px!important;border-radius:6px;background:#fff;border:1px solid #e2e8f0;margin:0}}:root{--bg-primary: #f8fafc;--bg-white: #ffffff;--border-color: #e2e8f0;--border-light: #e5e7eb;--text-primary: #374151;--text-secondary: #6b7280;--text-muted: #9ca3af;--blue-primary: #3b82f6;--blue-dark: #2563eb;--blue-light: #dbeafe;--red-primary: #ef4444;--red-dark: #dc2626;--orange-primary: #f59e0b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--border-radius: 8px;--border-radius-lg: 12px;--transition: all .2s ease}.diet-tracker{min-height:100vh;background:var(--bg-primary);padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.diet-header{margin-bottom:2rem;text-align:center}.diet-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:1rem}.diet-header:after{content:"";display:block;width:60px;height:4px;background:var(--blue-primary);border-radius:2px;margin:0 auto}.diet-tabs{display:flex;gap:.5rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.diet-tabs button{padding:.75rem 1.5rem;border:1px solid var(--border-color);background:var(--bg-white);border-radius:var(--border-radius);cursor:pointer;font-weight:500;font-size:.875rem;color:var(--text-secondary);transition:var(--transition);box-shadow:var(--shadow-sm)}.diet-tabs button:hover{background:#f9fafb;border-color:var(--blue-primary);color:var(--blue-primary)}.diet-tabs button.active{background:var(--blue-primary);color:#fff;border-color:var(--blue-primary);box-shadow:var(--shadow-md)}.food-library{margin-bottom:2rem}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.library-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.add-food-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--blue-primary);color:#fff;border:1px solid var(--blue-primary);border-radius:var(--border-radius);cursor:pointer;font-weight:500;font-size:.875rem;transition:var(--transition);box-shadow:var(--shadow-sm)}.add-food-btn:hover{background:var(--blue-dark);border-color:var(--blue-dark);box-shadow:var(--shadow-md)}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);flex:1;min-width:250px;box-shadow:var(--shadow-sm);transition:var(--transition)}.search-bar:focus-within{border-color:var(--blue-primary);box-shadow:0 0 0 3px #3b82f61a}.search-bar input{border:none;outline:none;flex:1;font-size:.875rem;color:var(--text-primary)}.search-bar input::placeholder{color:var(--text-muted)}.filters select{padding:.75rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm);min-width:150px}.filters select:hover{border-color:var(--blue-primary)}.filters select:focus{outline:none;border-color:var(--blue-primary);box-shadow:0 0 0 3px #3b82f61a}.food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.food-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.75rem;box-shadow:var(--shadow-sm);transition:var(--transition)}.food-card:hover{box-shadow:var(--shadow-md);border-color:var(--blue-primary)}.food-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.food-header h3{margin:0;color:var(--text-primary);font-size:1.125rem;font-weight:600}.food-category{margin-bottom:1rem;text-align:left}.category{background:var(--blue-light);color:var(--blue-primary);padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.food-macros{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.macro{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:var(--border-radius)}.macro .label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.macro .value{font-weight:600;color:var(--text-primary);font-size:1rem}.serving-info{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem;text-align:center;font-style:italic}.food-actions{display:flex;gap:.25rem;justify-content:flex-end;align-items:center;flex-shrink:0}.food-actions button{padding:.375rem;background:#f3f4f6;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;font-size:.75rem}.food-actions button:hover{background:#e5e7eb;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.food-actions button:first-child:hover{background:var(--red-primary);border-color:var(--red-primary);color:#fff}.food-actions button:first-child:hover svg{color:#fff}.food-actions button:last-child:hover{background:var(--blue-primary);border-color:var(--blue-primary);color:#fff}.food-actions button:last-child:hover svg{color:#fff}.meal-builder{margin-bottom:2rem}.builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.builder-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.start-building-btn{padding:.75rem 1.25rem;background:var(--orange-primary);color:#fff;border:1px solid var(--orange-primary);border-radius:var(--border-radius);cursor:pointer;font-weight:500;font-size:.875rem;transition:var(--transition);box-shadow:var(--shadow-sm)}.start-building-btn:hover{background:#d97706;border-color:#d97706;box-shadow:var(--shadow-md)}.builder-interface{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.5rem;background:var(--bg-white);box-shadow:var(--shadow-sm)}.meal-name-input{margin-bottom:1.5rem}.meal-name-input input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;transition:var(--transition)}.meal-name-input input:focus{outline:none;border-color:var(--blue-primary);box-shadow:0 0 0 3px #3b82f61a}.food-selector{margin-bottom:1.5rem}.food-selector h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;font-weight:600}.food-list{max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#f9fafb}.food-list::-webkit-scrollbar{width:6px}.food-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.food-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.food-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.food-selector-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-light);transition:var(--transition)}.food-selector-item:hover{background:#3b82f60d}.food-selector-item:last-child{border-bottom:none}.food-info{display:flex;flex-direction:column;flex:1}.food-info .name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.food-info .category{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.gram-input{display:flex;gap:.5rem;align-items:center}.gram-input input{width:80px;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius);text-align:center;font-size:.875rem;transition:var(--transition)}.gram-input input:focus{outline:none;border-color:var(--blue-primary);box-shadow:0 0 0 2px #3b82f61a}.gram-input button{padding:.5rem 1rem;background:var(--blue-primary);color:#fff;border:1px solid var(--blue-primary);border-radius:var(--border-radius);cursor:pointer;font-weight:500;font-size:.875rem;transition:var(--transition)}.gram-input button:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.current-meal{margin-bottom:1.5rem}.current-meal h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;font-weight:600}.meal-items{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;background:#f9fafb;min-height:150px}.meal-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-light);transition:var(--transition)}.meal-item:hover{background:#3b82f60d;border-radius:var(--border-radius);margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;padding-right:.5rem}.meal-item:last-child{border-bottom:none}.item-info{display:flex;flex-direction:column;flex:1}.item-info .name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.item-info .amount{font-size:.875rem;color:var(--text-secondary)}.item-macros{display:flex;gap:1rem;font-size:.875rem;color:var(--text-secondary);flex-wrap:wrap}.meal-item button{padding:.375rem .75rem;background:var(--red-primary);color:#fff;border:1px solid var(--red-primary);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);font-size:.75rem}.meal-item button:hover{background:var(--red-dark);border-color:var(--red-dark)}.meal-totals{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--blue-primary);text-align:center}.meal-totals h4{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:700}.builder-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.builder-actions button{padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-weight:500;font-size:.875rem;transition:var(--transition);min-width:120px}.builder-actions button:first-child{background:var(--orange-primary);color:#fff;border-color:var(--orange-primary)}.builder-actions button:nth-child(2){background:var(--blue-primary);color:#fff;border-color:var(--blue-primary)}.builder-actions button:last-child{background:var(--bg-white);color:var(--text-secondary)}.builder-actions button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.builder-actions button:first-child:hover{background:#d97706;border-color:#d97706}.builder-actions button:nth-child(2):hover{background:var(--blue-dark);border-color:var(--blue-dark)}.builder-actions button:last-child:hover{background:#f9fafb;border-color:var(--blue-primary);color:var(--blue-primary)}.daily-log{margin-bottom:2rem}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.log-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.log-header input[type=date]{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;cursor:pointer;transition:var(--transition)}.log-header input[type=date]:focus{outline:none;border-color:var(--blue-primary);box-shadow:0 0 0 3px #3b82f61a}.daily-meals{margin-bottom:1.5rem}.daily-meals h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;font-weight:600}.meal-card{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1rem;margin-bottom:.75rem;background:var(--bg-white);box-shadow:var(--shadow-sm);transition:var(--transition)}.meal-card:hover{box-shadow:var(--shadow-md);border-color:var(--blue-primary)}.meal-card h4{margin:0 0 .75rem;color:var(--text-primary);font-size:1.125rem;font-weight:600}.meal-macros{display:flex;gap:1.5rem;font-size:.875rem;flex-wrap:wrap}.macro-goals{background:var(--bg-white);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:1rem}.macro-goals h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;font-weight:600;text-align:center}.goals-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.goal-input{display:flex;flex-direction:column;gap:.5rem}.goal-input label{color:var(--text-secondary);font-weight:500;font-size:.875rem}.goal-input input{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;transition:var(--transition)}.goal-input input:focus{outline:none;border-color:var(--blue-primary);box-shadow:0 0 0 3px #3b82f61a}.goal-input input::placeholder{color:var(--text-muted)}.goal-actions{display:flex;justify-content:center}.clear-goals-btn{padding:.75rem 1.5rem;background:var(--red-primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.clear-goals-btn:hover{background:var(--red-dark)}.macro-balance-note{margin-top:1rem;padding:1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--border-radius);font-size:.875rem;line-height:1.5;color:#0369a1}.macro-balance-note p{margin:0;font-weight:500}.macro-balance-note strong{color:#0284c7}.macro-difference{font-weight:600;font-size:.85rem;margin-left:.5rem;padding:.2rem .4rem;border-radius:.25rem;min-width:2rem;text-align:center}.macro-difference.on-target{background:#dcfce7;color:#166534}.macro-difference.over{background:#fef2f2;color:#dc2626}.macro-difference.under{background:#fef3c7;color:#d97706}.macro-calories-display{margin:1rem 0;padding:1rem;background:#f9fafb;border-radius:var(--border-radius);border:1px solid var(--border-light)}.calories-summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.875rem}.current-calories,.target-calories{font-weight:500}.calories-difference{font-weight:600;padding:.25rem .5rem;border-radius:.25rem;font-size:.8rem}.calories-difference.balanced{background:#dcfce7;color:#166534}.calories-difference.over{background:#fef2f2;color:#dc2626}.calories-difference.under{background:#fef3c7;color:#d97706}.goal-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.balance-macros-btn{padding:.75rem 1.5rem;background:var(--blue-primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.balance-macros-btn:hover{background:var(--blue-dark)}.daily-totals{background:var(--bg-white);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:1rem}.daily-totals h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;font-weight:600;text-align:center}.totals-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.total-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border-radius:var(--border-radius);transition:var(--transition)}.total-item:hover{background:#f3f4f6}.total-item .label{color:var(--text-secondary);font-weight:500}.total-item .value{font-weight:600;color:var(--text-primary);font-size:1.125rem}.calorie-goal{background:var(--bg-white);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.calorie-goal h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;font-weight:600;text-align:center}.goal-display{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.tdee-info{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.status{padding:.5rem 1rem;border-radius:9999px;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;box-shadow:var(--shadow-sm)}.status.surplus{background:var(--red-primary);color:#fff}.status.deficit,.status.maintenance{background:var(--blue-primary);color:#fff}.status.no-data{background:var(--text-muted);color:#fff}.meal-templates{margin-bottom:2rem}.meal-templates h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.template-card{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1rem;background:var(--bg-white);box-shadow:var(--shadow-sm);transition:var(--transition)}.template-card:hover{box-shadow:var(--shadow-md);border-color:var(--blue-primary)}.template-card h3{margin:0 0 .75rem;color:var(--text-primary);font-size:1.125rem;font-weight:600}.template-items{margin-bottom:1rem}.template-item{padding:.375rem 0;border-bottom:1px solid var(--border-light);font-size:.875rem;color:var(--text-secondary)}.template-item:last-child{border-bottom:none}.template-actions{display:flex;gap:.5rem}.template-actions button{flex:1;padding:.625rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:var(--transition);font-size:.875rem}.template-actions button:first-child{background:var(--blue-primary);color:#fff;border-color:var(--blue-primary)}.template-actions button:last-child{background:var(--red-primary);color:#fff;border-color:var(--red-primary)}.template-actions button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.template-actions button:first-child:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.template-actions button:last-child:hover{background:var(--red-dark);border-color:var(--red-dark)}.tdee-calculator{max-width:1200px;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;box-shadow:0 20px 40px #0000001a;animation:fadeInUp .8s ease-out}.calculator-header{text-align:center;margin-bottom:3rem;position:relative}.calculator-header h2{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#1e40af,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;animation:slideInFromTop .6s ease-out}.calculator-subtitle{color:#64748b;font-size:1.1rem;font-weight:400;animation:slideInFromBottom .6s ease-out .2s both}.calculator-container{display:grid;gap:2rem}.calculator-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #1e40af1a;border:1px solid rgba(59,130,246,.1);transition:all .3s ease;animation:slideInFromLeft .6s ease-out both}.calculator-section:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1e40af26}.calculator-section:nth-child(1){animation-delay:.1s}.calculator-section:nth-child(2){animation-delay:.2s}.calculator-section:nth-child(3){animation-delay:.3s}.calculator-section:nth-child(4){animation-delay:.4s}.calculator-section:nth-child(5){animation-delay:.5s}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.section-header h3{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.section-icon{font-size:1.8rem;background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:bounceIn .8s ease-out}.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.input-card{background:#f8fafc;border-radius:12px;padding:1.5rem;border:2px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.input-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left .5s ease}.input-card:hover:before{left:100%}.input-card:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f626}.input-label{display:block;font-weight:600;color:#374151;margin-bottom:.75rem;font-size:.95rem}.input-wrapper{position:relative;display:flex;align-items:center}.calculator-input{width:100%;padding:.75rem 1rem;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;font-weight:500;color:#1f2937;background:#fff;transition:all .3s ease;outline:none}.calculator-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;transform:scale(1.02)}.calculator-input::placeholder{color:#9ca3af;font-weight:400}.input-unit{position:absolute;right:1rem;color:#6b7280;font-weight:500;font-size:.9rem;pointer-events:none}.gender-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.gender-btn{padding:1rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.gender-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#3b82f61a;border-radius:50%;transition:all .4s ease;transform:translate(-50%,-50%)}.gender-btn:hover:before{width:200px;height:200px}.gender-btn:hover{border-color:#3b82f6;color:#1e40af;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f633}.gender-btn.active{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-color:#2563eb;color:#fff;box-shadow:0 8px 24px #3b82f64d}.gender-btn.active:before{background:#fff3}.gender-icon{font-size:1.2rem}.activity-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.activity-btn{padding:1.25rem;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-align:center}.activity-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.05),transparent);transition:left .5s ease}.activity-btn:hover:before{left:100%}.activity-btn:hover{border-color:#3b82f6;transform:translateY(-3px);box-shadow:0 12px 32px #3b82f626}.activity-btn.active{background:linear-gradient(135deg,#1e40af,#3b82f6);border-color:#1d4ed8;color:#fff;box-shadow:0 12px 32px #1e40af4d}.activity-content{display:flex;flex-direction:column;gap:.25rem}.activity-factor{font-size:1.5rem;font-weight:700;color:inherit}.activity-label{font-size:.9rem;font-weight:500;color:inherit;opacity:.9}.goal-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.goal-btn{padding:1.25rem;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-align:center}.goal-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.05),transparent);transition:left .5s ease}.goal-btn:hover:before{left:100%}.goal-btn:hover{border-color:#3b82f6;transform:translateY(-3px);box-shadow:0 12px 32px #3b82f626}.goal-btn.active{background:linear-gradient(135deg,#1e40af,#3b82f6);border-color:#1d4ed8;color:#fff;box-shadow:0 12px 32px #1e40af4d}.goal-content{display:flex;flex-direction:column;gap:.25rem}.goal-adjustment{font-size:1.3rem;font-weight:700;color:inherit}.goal-label{font-size:.9rem;font-weight:500;color:inherit;opacity:.9}.unit-toggle{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.unit-btn{padding:1rem;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.unit-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#3b82f61a;border-radius:50%;transition:all .4s ease;transform:translate(-50%,-50%)}.unit-btn:hover:before{width:200px;height:200px}.unit-btn:hover{border-color:#3b82f6;color:#1e40af;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f633}.unit-btn.active{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-color:#2563eb;color:#fff;box-shadow:0 8px 24px #3b82f64d}.unit-btn.active:before{background:#fff3}.unit-icon{font-size:1.1rem}.results-section{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border:none;box-shadow:0 20px 40px #1e40af4d}.results-section .section-header{border-bottom-color:#fff3}.results-section .section-header h3{color:#fff}.results-placeholder{text-align:center;padding:3rem 2rem;animation:pulse 2s infinite}.placeholder-icon{font-size:3rem;margin-bottom:1rem;opacity:.8}.results-placeholder h4{font-size:1.5rem;margin-bottom:.5rem;opacity:.9}.results-placeholder p{opacity:.7;font-size:1.1rem}.results-content{display:grid;gap:1.5rem}.result-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease;animation:slideInFromRight .6s ease-out both}.result-card:hover{transform:translateY(-2px);background:#ffffff26;box-shadow:0 8px 24px #0000001a}.result-card:nth-child(1){animation-delay:.1s}.result-card:nth-child(2){animation-delay:.2s}.result-card:nth-child(3){animation-delay:.3s}.result-icon{font-size:2rem;opacity:.9}.result-info{flex:1}.result-label{font-size:.9rem;opacity:.8;margin-bottom:.25rem}.result-value{font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.result-value.adjustment{color:#fbbf24}.result-value.final{color:#10b981;font-size:2.2rem}.result-unit{font-size:.8rem;opacity:.7}.result-description{font-size:.85rem;opacity:.6}.macro-breakdown{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2)}.macro-breakdown h4{text-align:center;font-size:1.3rem;margin-bottom:1.5rem;opacity:.9}.macro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.macro-item{background:#ffffff1a;border-radius:10px;padding:1rem;text-align:center;transition:all .3s ease;animation:fadeInScale .6s ease-out both}.macro-item:hover{transform:translateY(-2px);background:#ffffff26}.macro-item:nth-child(1){animation-delay:.1s}.macro-item:nth-child(2){animation-delay:.2s}.macro-item:nth-child(3){animation-delay:.3s}.macro-icon{font-size:1.5rem;margin-bottom:.5rem}.macro-info{display:flex;flex-direction:column;gap:.25rem}.macro-name{font-weight:600;opacity:.9}.macro-amount{font-size:1.3rem;font-weight:700}.macro-percent{font-size:.8rem;opacity:.7}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInWidth{0%{width:0}to{width:60px}}@keyframes inputGlow{0%{box-shadow:0 0 0 3px #3b82f61a}to{box-shadow:0 0 0 3px #3b82f61a,0 0 0 6px #3b82f60d,0 0 20px #3b82f61a}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-white);border-radius:var(--border-radius-lg);padding:1.5rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.modal-header h3{margin:0;color:var(--text-primary);font-size:1.25rem;font-weight:600}.modal-header button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);transition:var(--transition);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-header button:hover{background:#f3f4f6;color:var(--text-primary)}.food-form-modal .macro-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-light)}.form-actions button{padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-weight:500;font-size:.875rem;transition:var(--transition);min-width:100px}.form-actions button[type=submit]{background:var(--blue-primary);color:#fff;border-color:var(--blue-primary)}.form-actions button[type=submit]:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.form-actions button[type=button]{background:var(--bg-white);color:var(--text-secondary)}.form-actions button[type=button]:hover{background:#f9fafb;border-color:var(--blue-primary);color:var(--blue-primary)}@media (max-width: 768px){.diet-tracker{padding:.75rem}.diet-header h1{font-size:1.75rem}.diet-tabs{flex-direction:column;gap:.5rem}.diet-tabs button{padding:.625rem 1rem;font-size:.8rem}.library-header,.builder-header,.log-header{flex-direction:column;align-items:flex-start;gap:1rem}.filters{flex-direction:column;gap:.75rem}.search-bar{min-width:auto}.food-grid,.templates-grid,.food-macros,.totals-display{grid-template-columns:1fr}.meal-macros{flex-direction:column;gap:.5rem}.item-macros{flex-direction:column;gap:.5rem;align-items:flex-start}.goal-display{flex-direction:column;gap:.75rem;align-items:flex-start}.builder-actions{flex-direction:column}.builder-actions button{width:100%}.food-form-modal .macro-inputs{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media (max-width: 480px){.diet-tracker{padding:.5rem}.diet-header h1{font-size:1.5rem}.food-card{padding:1rem}.modal-content{padding:1rem;margin:.5rem}.food-selector-item{flex-direction:column;align-items:flex-start;gap:.75rem}.food-actions{gap:.125rem}.food-actions button{width:24px;height:24px;min-width:24px;min-height:24px;padding:.25rem}.gram-input{width:100%;justify-content:space-between}.meal-item{flex-direction:column;align-items:flex-start;gap:.5rem}.item-macros{width:100%;justify-content:space-between}}.category-badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.category-badge.category-side{background:#dbeafe;color:#1e40af}.category-badge.category-entree{background:#dcfce7;color:#166534}.category-badge.category-snack{background:#fef3c7;color:#92400e}.category-badge.category-beverage{background:#e0e7ff;color:#3730a3}.food-title-section{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.food-title-section h3{margin:0;flex:1}.favorite-btn{background:none;border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;padding:.375rem;border-radius:var(--border-radius);transition:var(--transition);display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px}.favorite-btn:hover{background:var(--bg-primary);border-color:var(--red-primary);color:var(--red-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.favorite-btn.favorited{color:var(--red-primary);background:#ef44441a;border-color:var(--red-primary)}.per-gram{font-size:.75rem;color:var(--text-secondary);margin-left:.5rem}.favorites-filter{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:var(--transition)}.favorites-filter:hover{background:var(--bg-primary);border-color:var(--blue-primary)}.favorites-filter.active{background:var(--blue-light);border-color:var(--blue-primary);color:var(--blue-dark)}.favorites-filter svg{width:16px;height:16px}.form-group input:invalid:not(:placeholder-shown),.form-group select:invalid:not(:placeholder-shown){border-color:var(--red-primary);box-shadow:0 0 0 1px var(--red-primary)}.form-group input:valid:not(:placeholder-shown),.form-group select:valid:not(:placeholder-shown){border-color:var(--blue-primary)}.form-actions button[type=submit]:disabled{background:var(--text-muted);cursor:not-allowed;opacity:.6}.meal-header-with-totals{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.meal-header-with-totals h3{margin:0}.live-totals{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;box-shadow:var(--shadow-sm)}.live-totals .totals-display{display:flex;gap:1rem;align-items:center}.live-totals .total-item{display:flex;flex-direction:column;align-items:center;text-align:center}.live-totals .total-item .label{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.live-totals .total-item .value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.empty-meal{text-align:center;padding:2rem;color:var(--text-secondary)}.empty-meal p{margin:0 0 .5rem;font-size:1rem}.empty-hint{font-size:.875rem;color:var(--text-muted)}.meal-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:.5rem;transition:var(--transition)}.meal-item:hover{border-color:var(--blue-primary);box-shadow:var(--shadow-sm)}.meal-item .item-info{display:flex;flex-direction:column;flex:1}.meal-item .item-info .name{font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.meal-item .item-info .amount{font-size:.875rem;color:var(--text-secondary)}.meal-item .item-macros{display:flex;gap:.75rem;align-items:center}.macro-calories{font-weight:600;color:var(--blue-primary)}.macro-protein{color:var(--blue-primary)}.macro-carbs{color:var(--orange-primary)}.macro-fat{color:var(--red-primary)}.remove-item-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px;transition:var(--transition)}.remove-item-btn:hover{background:var(--red-light);color:var(--red-primary)}.template-modal{max-width:500px;width:90vw}.template-preview h4{margin:0 0 1rem;color:var(--text-primary);font-size:1rem}.meal-summary{background:var(--bg-primary);border-radius:var(--border-radius);padding:1rem;margin-bottom:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.summary-item:last-child{border-bottom:none}.summary-item .label{color:var(--text-secondary);font-size:.875rem}.summary-item .value{font-weight:500;color:var(--text-primary)}.meals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.meals-header h3{margin:0}.load-template-btn{background:var(--blue-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;font-weight:500;transition:var(--transition)}.load-template-btn:hover{background:var(--blue-dark)}.empty-log{text-align:center;padding:2rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary)}.empty-log p{margin:0 0 .5rem;font-size:1rem}.empty-log .empty-hint{font-size:.875rem;color:var(--text-muted)}.meal-card.expandable{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem;overflow:hidden;transition:var(--transition)}.meal-card.expandable:hover{border-color:var(--blue-primary);box-shadow:var(--shadow-sm)}.meal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer;background:var(--bg-primary);border-bottom:1px solid var(--border-color);transition:var(--transition)}.meal-header:hover{background:var(--bg-white)}.meal-title{display:flex;align-items:center;gap:.75rem}.meal-title h4{margin:0;color:var(--text-primary);font-size:1.125rem}.expand-icon{font-size:1.25rem;font-weight:700;color:var(--text-secondary);transition:var(--transition)}.meal-card.expandable .meal-macros{display:flex;gap:1rem;align-items:center}.meal-details{padding:1rem;background:var(--bg-white);border-top:1px solid var(--border-light)}.meal-detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-light)}.meal-detail-item:last-child{border-bottom:none}.meal-detail-item .item-name{flex:1;font-weight:500;color:var(--text-primary)}.meal-detail-item .item-amount{font-size:.875rem;color:var(--text-secondary);margin-right:1rem}.meal-detail-item .item-macros{display:flex;gap:.75rem;font-size:.875rem;color:var(--text-secondary)}.totals-with-progress{display:flex;flex-direction:column;gap:1rem}.progress-item{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-header .label{font-weight:500;color:var(--text-primary)}.progress-header .value{font-size:.875rem;color:var(--text-secondary)}.progress-bar{height:8px;background:var(--border-light);border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.calories-fill,.protein-fill{background:linear-gradient(90deg,var(--blue-primary),var(--blue-dark))}.carbs-fill{background:linear-gradient(90deg,var(--orange-primary),#d97706)}.fat-fill{background:linear-gradient(90deg,var(--red-primary),var(--red-dark))}.templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.templates-header h2{margin:0;color:var(--text-primary)}.templates-count{font-size:.875rem;color:var(--text-secondary);background:var(--bg-primary);padding:.25rem .75rem;border-radius:12px}.empty-templates{text-align:center;padding:3rem 2rem;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary)}.empty-templates p{margin:0 0 .5rem;font-size:1.125rem}.empty-templates .empty-hint{font-size:.875rem;color:var(--text-muted)}.template-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;transition:var(--transition);position:relative}.template-card:hover{border-color:var(--blue-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.template-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}.item-count{font-size:.75rem;color:var(--text-secondary);background:var(--bg-primary);padding:.25rem .5rem;border-radius:8px}.template-macros{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-primary);border-radius:var(--border-radius)}.macro-display{display:flex;flex-direction:column;align-items:center;flex:1;text-align:center}.macro-value{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.macro-value.calories,.macro-value.protein{color:var(--blue-primary)}.macro-value.carbs{color:var(--orange-primary)}.macro-value.fat{color:var(--red-primary)}.macro-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.template-preview{margin-bottom:1.5rem}.preview-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.preview-item:last-child{border-bottom:none}.preview-item .item-name{font-weight:500;color:var(--text-primary);flex:1}.preview-item .item-grams{font-size:.875rem;color:var(--text-secondary)}.more-items{text-align:center;padding:.5rem;font-size:.875rem;color:var(--text-muted);font-style:italic}.template-actions{display:flex;gap:.75rem;align-items:center}.load-btn{flex:1;background:var(--blue-primary);color:#fff;border:none;padding:.75rem 1rem;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:var(--transition)}.load-btn:hover{background:var(--blue-dark)}.delete-btn{background:none;border:none;color:var(--text-muted);padding:.75rem;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition)}.delete-btn:hover{background:var(--red-light);color:var(--red-primary)}.slider-container{margin-top:.5rem}.calorie-slider{width:100%;height:6px;border-radius:3px;background:var(--border-light);outline:none;-webkit-appearance:none;appearance:none}.calorie-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--blue-primary);cursor:pointer;border:2px solid white;box-shadow:var(--shadow-sm)}.calorie-slider::-webkit-slider-thumb:hover{background:var(--blue-dark)}.calorie-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--blue-primary);cursor:pointer;border:2px solid white;box-shadow:var(--shadow-sm)}.slider-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:var(--text-secondary)}.result-breakdown{background:var(--bg-primary);border-radius:var(--border-radius);padding:1rem;margin:1rem 0}.result-breakdown h4{margin:0 0 1rem;color:var(--text-primary);font-size:1rem}.adjustment-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.adjustment-item:last-child{border-bottom:none}.adjustment-label{color:var(--text-secondary);font-size:.875rem}.adjustment-value{font-weight:500;color:var(--text-primary)}.adjustment-total{border-top:2px solid var(--border-color);margin-top:.5rem;padding-top:.5rem}.adjustment-value.total{font-weight:600;color:var(--blue-primary)}.final-result{background:linear-gradient(135deg,var(--blue-primary) 0%,var(--blue-dark) 100%);border-radius:var(--border-radius);padding:2rem;margin:1.5rem 0;text-align:center;position:relative;overflow:hidden;animation:slideInUp .6s ease-out .8s both}.result-item.final{background:transparent;border:none;padding:0;justify-content:center;flex-direction:column;gap:.75rem;position:relative;z-index:1}.result-item.final .label{color:#ffffffe6;font-size:1rem;font-weight:500}.final-calories{font-size:2.5rem;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1);animation:pulse 2s ease-in-out infinite}.calorie-summary{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin-top:1rem}.calorie-summary h4{margin:0 0 1rem;color:var(--text-primary);font-size:1.125rem}.summary-text{margin-bottom:1.5rem}.summary-text p{margin:0;line-height:1.6;color:var(--text-primary)}.summary-text strong{color:var(--blue-primary)}.macro-targets h4{color:var(--text-primary);font-size:1.25rem;margin-bottom:1.5rem;font-weight:600;text-align:center}.macro-targets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.macro-target{background:linear-gradient(135deg,var(--bg-white) 0%,#f8fafc 100%);padding:1.5rem 1rem;border-radius:var(--border-radius);text-align:center;border:1px solid var(--border-light);transition:all .3s ease;position:relative;overflow:hidden;animation:slideInUp .6s ease-out calc(1.2s + var(--delay, 0s)) both}.macro-target:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue-primary);transform:scaleX(0);transition:transform .3s ease}.macro-target:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--blue-light)}.macro-target:hover:before{transform:scaleX(1)}.macro-name{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:.875rem}.macro-amount{display:block;font-size:1.5rem;font-weight:800;color:var(--blue-primary);margin-bottom:.5rem;transition:var(--transition)}.macro-target:hover .macro-amount{color:var(--blue-dark);transform:scale(1.05)}.macro-percent{display:block;font-size:.75rem;color:var(--text-secondary);font-weight:500}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:1rem}.calculator-form,.calculator-results{padding:1.5rem}.final-calories{font-size:2rem}.macro-targets-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.macro-target{padding:1rem .75rem}}@media (max-width: 480px){.macro-targets-grid{grid-template-columns:1fr}.calculator-form,.calculator-results{padding:1rem}}.diet-tabs{background:var(--bg-white);border-radius:var(--border-radius-lg);padding:.5rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.diet-tabs button{background:none;border:none;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:var(--transition);position:relative}.diet-tabs button:hover{background:var(--bg-primary);color:var(--text-primary)}.diet-tabs button.active{background:var(--blue-primary);color:#fff;box-shadow:var(--shadow-sm)}.diet-content h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--blue-primary)}.diet-content h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;background:var(--bg-white);transition:var(--transition)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--blue-primary);box-shadow:0 0 0 3px #3b82f61a}button{font-family:inherit;font-size:.875rem;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;display:inline-flex;align-items:center;gap:.375rem}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}button[type=submit],.add-food-btn,.load-btn{background:var(--blue-primary);color:#fff;padding:.75rem 1.5rem;box-shadow:var(--shadow-sm)}button[type=submit]:hover,.add-food-btn:hover,.load-btn:hover{background:var(--blue-dark);box-shadow:var(--shadow-md)}button[type=button]{background:var(--bg-white);color:var(--text-primary);padding:.75rem 1.5rem;border:1px solid var(--border-color)}button[type=button]:hover{background:var(--bg-primary);border-color:var(--blue-primary)}.delete-btn,.remove-item-btn{background:none;color:var(--text-muted);padding:.5rem;border-radius:var(--border-radius)}.delete-btn:hover,.remove-item-btn:hover{background:var(--red-light);color:var(--red-primary)}.food-grid,.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.food-card,.template-card,.meal-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.5rem;transition:var(--transition);box-shadow:var(--shadow-sm)}.food-card:hover,.template-card:hover,.meal-card:hover{border-color:var(--blue-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-width:90vw;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text-primary);font-size:1.25rem}.modal-header button{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:4px}.modal-header button:hover{background:var(--bg-primary);color:var(--text-primary)}@media (max-width: 768px){.diet-tracker{padding:.5rem}.diet-tabs{padding:.25rem}.diet-tabs button{padding:.5rem 1rem;font-size:.875rem}.food-grid,.templates-grid{grid-template-columns:1fr;gap:1rem}.food-card,.template-card,.meal-card{padding:1rem}.live-totals .totals-display,.template-macros{flex-direction:column;gap:.5rem}.macro-display{flex-direction:row;justify-content:space-between;padding:.5rem 0}.meals-header{flex-direction:column;align-items:stretch;gap:1rem}.meals-header h3{margin-bottom:0}}@media (max-width: 480px){.diet-content h2{font-size:1.25rem}.diet-content h3{font-size:1.125rem}.form-group input,.form-group select{padding:.625rem}button{padding:.625rem 1.25rem;font-size:.875rem}.modal-content{margin:.5rem;max-width:none;width:calc(100vw - 1rem)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.diet-content>div{animation:fadeIn .3s ease-out}button:focus,input:focus,select:focus{outline:2px solid var(--blue-primary);outline-offset:2px}@media print{.diet-tabs,button,.modal-overlay{display:none!important}.diet-content{box-shadow:none}.food-card,.template-card,.meal-card{break-inside:avoid;box-shadow:none;border:1px solid #000}}@media (max-width: 768px){.tdee-calculator{padding:1rem;margin:0;border-radius:0}.calculator-header h2{font-size:2rem}.input-grid,.activity-buttons,.goal-buttons,.gender-buttons,.unit-toggle{grid-template-columns:1fr}.result-card{flex-direction:column;text-align:center;gap:.75rem}.macro-grid{grid-template-columns:1fr}}@media (max-width: 480px){.calculator-section{padding:1.5rem}.section-header{flex-direction:column;gap:.5rem;text-align:center}.section-header h3{font-size:1.3rem}.input-card,.activity-btn,.goal-btn,.result-card{padding:1rem}}
