:root{font-family:Inter,Arial,sans-serif;color:#1f2937;background:#f3f6fb;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column;gap:24px;padding:24px}.panel{background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 24px #0f172a14}.app-header{padding:16px 24px}.header-content{display:flex;justify-content:space-between;align-items:center;gap:24px}.header-left{display:flex;align-items:center;gap:24px}.header-left h1{margin:0;font-size:24px;font-weight:600}.view-tabs{display:flex;gap:4px;background:#f3f4f6;padding:4px;border-radius:12px}.tab-btn{background:transparent;border:none;padding:6px 16px;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;transition:all .2s}.tab-btn:hover{color:#1f2937;background:#ffffff80}.tab-btn.active{background:#fff;color:#667eea;box-shadow:0 1px 3px #0000001a}.header-right{display:flex;align-items:center;gap:16px}.user-name{font-size:14px;color:#6b7280}.settings-btn{background:none;border:none;font-size:20px;padding:8px;border-radius:8px;transition:all .2s}.settings-btn:hover{background:#f3f4f6}.danger-btn{background:#ef4444;color:#fff;border:none;padding:10px 16px;border-radius:12px;font-weight:600;transition:all .2s}.danger-btn:hover{background:#dc2626}.danger-btn-outline{background:transparent;color:#ef4444;border:2px solid #fecaca;padding:12px 20px;border-radius:12px;font-weight:500;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.danger-btn-outline:hover{background:#fef2f2;border-color:#fca5a5}.danger-btn-outline span{font-size:18px}.secondary-btn{background:#f3f4f6;color:#1f2937;border:none;padding:10px 20px;border-radius:12px;font-weight:500;transition:all .2s}.secondary-btn:hover{background:#e5e7eb}.content-panel{flex:1;display:flex;flex-direction:column;gap:20px}.form-panel h1,.content-panel h2,.week-day-card h3{margin:0 0 8px}.form-panel p,.muted-text,.task-card p,.mini-task-card p,.empty-state{color:#64748b}.task-form{display:grid;gap:14px}.task-form label{display:grid;gap:6px;font-weight:600}.task-form input,.task-form textarea,.task-form select,.toolbar select{width:100%;border:1px solid #dbe2ea;background:#fff;border-radius:12px;padding:12px 14px}.primary-btn,.actions-grid button,.file-label,.tabs button,.delete-btn{border:none;border-radius:12px;padding:12px 14px}.primary-btn{background:#2563eb;color:#fff;font-weight:700}.actions-grid{display:grid;gap:10px}.actions-grid button,.file-label,.tabs button{background:#eef3ff}.file-label{text-align:center}.danger-btn,.delete-btn{background:#fee2e2!important;color:#991b1b}.content-panel{display:flex;flex-direction:column;gap:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.tabs{display:flex;gap:10px;flex-wrap:wrap}.tabs button.active{background:#2563eb;color:#fff}.task-list,.mini-task-list{display:grid;gap:12px}.task-card,.mini-task-card{border:1px solid #e5e7eb;border-radius:16px;padding:14px;display:flex;justify-content:space-between;gap:12px}.mini-task-card{display:grid}.task-main{flex:1}.task-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-title-row h3,.task-title-row strong{margin:0}.time-badge{background:#e2e8f0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.empty-state{border:1px dashed #cbd5e1;border-radius:16px;padding:32px;text-align:center}.week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.link-btn{border:none;background:transparent;color:#2563eb;padding:0;text-align:left}.notification-settings{border-top:1px solid #e5e7eb;padding-top:20px;display:grid;gap:14px}.notification-settings h3{margin:0 0 4px;font-size:16px}.notification-settings label{display:grid;gap:6px;font-weight:600}.notification-settings input[type=time]{width:100%;border:1px solid #dbe2ea;background:#fff;border-radius:12px;padding:12px 14px}.notification-settings input[type=time]:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.notification-actions{display:grid;gap:10px}.notification-actions button{border:none;border-radius:12px;padding:12px 14px;background:#eef3ff}.notification-actions button.primary-btn{background:#2563eb;color:#fff;font-weight:700}@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.week-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.app-shell{padding:16px}.app-header{padding:12px 16px}.header-content,.header-left{flex-direction:column;align-items:stretch;gap:12px}.header-left h1{font-size:20px}.view-tabs{width:100%}.tab-btn{flex:1;font-size:12px;padding:8px 12px}.header-right{gap:8px;justify-content:space-between}.user-name{display:none}.week-grid{grid-template-columns:1fr 1fr}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{max-width:400px;width:100%}.auth-card h1{margin:0 0 8px}.auth-form{display:grid;gap:14px;margin-top:20px}.auth-form label{display:grid;gap:6px;font-weight:600}.auth-form input{width:100%;border:1px solid #dbe2ea;background:#fff;border-radius:12px;padding:12px 14px}.error-message{background:#fee2e2;color:#991b1b;padding:12px;border-radius:12px;font-size:14px}.user-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.user-info{display:flex;flex-direction:column;gap:8px;align-items:flex-end;font-size:14px}.logout-btn{border:none;background:#fee2e2;color:#991b1b;border-radius:8px;padding:6px 12px;font-size:13px}.task-date{font-size:13px;color:#64748b;margin:4px 0 0}.calendar-container{display:flex;flex-direction:column;gap:20px}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.calendar-header h2{margin:0}.calendar-controls{display:flex;align-items:center;gap:12px}.calendar-controls button{border:none;background:#eef3ff;border-radius:8px;padding:8px 12px;font-weight:600}.calendar-controls button:hover{background:#dbeafe}.today-btn{background:#2563eb!important;color:#fff!important}.calendar-month-year{font-weight:600;min-width:140px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-header{text-align:center;font-weight:700;padding:8px;color:#64748b;font-size:14px}.calendar-day{aspect-ratio:1;border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;border:2px solid transparent}.calendar-day.empty{background:transparent}.calendar-day.free{background:#f0fdf4;border-color:#bbf7d0}.calendar-day.has-tasks{background:#dbeafe;border-color:#93c5fd}.calendar-day.today{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb}.calendar-day.past{opacity:.4;cursor:not-allowed!important;pointer-events:none;background:#f9fafb}.calendar-day.past .day-number{color:#9ca3af}.calendar-day.past .task-count{background:#d1d5db;color:#6b7280}.day-number{font-weight:600;font-size:14px}.task-count{background:#2563eb;color:#fff;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:700}.calendar-loading{text-align:center;padding:40px;color:#64748b}.calendar-legend{display:flex;gap:20px;justify-content:center;padding-top:12px;border-top:1px solid #e5e7eb}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b}.legend-dot{width:16px;height:16px;border-radius:4px;border:2px solid}.legend-dot.free{background:#f0fdf4;border-color:#bbf7d0}.legend-dot.has-tasks{background:#dbeafe;border-color:#93c5fd}@media (max-width: 640px){.app-shell{padding:14px}.toolbar{flex-direction:column;align-items:stretch}.week-grid{grid-template-columns:1fr}.task-card{flex-direction:column}.calendar-container{padding:12px}.calendar-grid{gap:2px}.calendar-day{padding:2px;border-radius:8px;border-width:1px}.calendar-day-header{padding:4px 2px;font-size:11px}.day-number{font-size:11px}.task-count{font-size:8px;padding:1px 3px}.calendar-header{flex-direction:column;gap:8px}.calendar-controls{width:100%;justify-content:space-between}.calendar-controls button{padding:6px 12px;font-size:14px}.calendar-month-year{min-width:auto;font-size:14px}.nav-btn{font-size:18px;padding:6px 10px;min-width:36px}.week-header{gap:8px}.week-header h2{font-size:16px}.date-picker-container{gap:8px;justify-content:center}.date-picker-container input[type=date]{min-width:130px;max-width:150px;order:1}.nav-btn:first-child{order:0}.nav-btn:last-child{order:2}.day-of-week{order:3;width:100%;text-align:center;font-size:13px;padding:5px 12px}.user-header{flex-direction:column;align-items:flex-start}.user-info{align-items:flex-start}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:20px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;color:#6b7280;padding:4px 8px;line-height:1;border-radius:8px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#1f2937}.modal-body{padding:24px}.modal-body .task-form{margin:0}.settings-content{display:flex;flex-direction:column;gap:32px}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-section h3{margin:0;font-size:18px;font-weight:600}.full-width{width:100%}.confirm-content{display:flex;flex-direction:column;gap:20px}.confirm-content p{margin:0;font-size:15px;line-height:1.6}.confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.day-selector{padding:12px 20px}.date-picker-container{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-picker-container input[type=date]{padding:8px 12px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;color:#1f2937;transition:all .2s;min-width:150px;flex:1;max-width:180px}.date-picker-container input[type=date]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.day-of-week{font-size:14px;font-weight:600;color:#667eea;background:#f0f4ff;padding:6px 14px;border-radius:10px;white-space:nowrap}.nav-btn{background:#f3f4f6;border:none;padding:8px 12px;border-radius:10px;font-size:20px;font-weight:500;color:#1f2937;transition:all .2s;white-space:nowrap;min-width:40px;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:#e5e7eb;color:#667eea}.nav-btn:active{transform:scale(.95)}.week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.week-header h2{margin:0;font-size:20px;font-weight:600;text-align:center;flex:1}.week-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}.week-day-header h3{margin:0;font-size:18px;font-weight:600}.week-day-date{font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;padding:4px 10px;border-radius:8px}.floating-add-btn{position:fixed;bottom:32px;right:32px;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;font-size:32px;font-weight:300;box-shadow:0 8px 24px #667eea66;transition:all .3s;z-index:100;display:flex;align-items:center;justify-content:center;line-height:1}.floating-add-btn:hover{transform:scale(1.1);box-shadow:0 12px 32px #667eea80}.floating-add-btn:active{transform:scale(.95)}@media (max-width: 768px){.modal-content{max-width:100%;margin:0;border-radius:20px 20px 0 0;max-height:85vh}.floating-add-btn{width:56px;height:56px;font-size:28px;bottom:24px;right:24px}}
