*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #7c5cbf;--color-primary-light: #a78bdb;--color-primary-dark: #5a3d96;--color-primary-50: #f3edff;--color-primary-100: #e4d9fc;--color-primary-200: #c9b3f9;--color-secondary: #e8567f;--color-secondary-light: #f08da5;--color-secondary-dark: #c93d65;--color-accent: #36b49f;--color-accent-light: #5fd4bf;--color-accent-dark: #259080;--color-bg: #faf8ff;--color-bg-card: rgba(255, 255, 255, .7);--color-bg-glass: rgba(255, 255, 255, .45);--color-bg-sidebar: #1e1640;--color-surface: #ffffff;--color-border: rgba(124, 92, 191, .12);--color-border-light: rgba(124, 92, 191, .06);--color-text: #1a1035;--color-text-secondary: #5c5478;--color-text-muted: #9891a8;--color-text-inverse: #faf8ff;--color-todo: #94a3b8;--color-todo-bg: #f1f5f9;--color-progress: #f59e0b;--color-progress-bg: #fef3c7;--color-completed: #10b981;--color-completed-bg: #d1fae5;--color-destructive: #ef4444;--color-casa: #3b82f6;--color-casa-bg: #dbeafe;--color-pessoal: #8b5cf6;--color-pessoal-bg: #ede9fe;--color-luciana: #ec4899;--color-luciana-bg: #fce7f3;--color-vitor: #22c55e;--color-vitor-bg: #dcfce7;--shadow-sm: 0 1px 3px rgba(30, 22, 64, .06);--shadow-md: 0 4px 12px rgba(30, 22, 64, .08);--shadow-lg: 0 8px 30px rgba(30, 22, 64, .12);--shadow-glow: 0 0 20px rgba(124, 92, 191, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Lora", Georgia, serif}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);background-image:radial-gradient(ellipse at 20% 0%,rgba(124,92,191,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(232,86,127,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(54,180,159,.04) 0%,transparent 50%);min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.3;color:var(--color-text)}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:var(--font-sans);border:none;background:none}input,select,textarea{font-family:var(--font-sans);font-size:.9375rem}.glass-card{background:var(--color-bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.glass-card:hover{box-shadow:var(--shadow-md)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;box-shadow:0 2px 8px #7c5cbf4d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #7c5cbf66;transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-primary-light)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-50);color:var(--color-primary)}.btn-danger{background:var(--color-destructive);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8125rem}.btn-icon{padding:var(--space-2);border-radius:var(--radius-sm)}.input,.select,.textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px var(--color-primary-100)}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.label{display:block;font-size:.8125rem;font-weight:600;font-family:var(--font-serif);color:var(--color-text);margin-bottom:var(--space-2)}.textarea{resize:vertical;min-height:80px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-3);font-size:.75rem;font-weight:500;border-radius:var(--radius-full);line-height:1.5}.badge-todo{background:var(--color-todo-bg);color:#475569}.badge-progress{background:var(--color-progress-bg);color:#92400e}.badge-completed{background:var(--color-completed-bg);color:#065f46}.badge-casa{background:var(--color-casa-bg);color:#1d4ed8}.badge-pessoal{background:var(--color-pessoal-bg);color:#6d28d9}.badge-luciana{background:var(--color-luciana-bg);color:#be185d}.badge-vitor{background:var(--color-vitor-bg);color:#15803d}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--color-bg-sidebar);color:var(--color-text-inverse);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;transition:transform var(--transition-base)}.sidebar-header{padding:var(--space-6);border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-nav{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#ffffffa6;font-size:.9375rem;font-weight:450;transition:all var(--transition-fast)}.sidebar-link:hover{background:#ffffff14;color:#ffffffe6}.sidebar-link.active{background:#7c5cbf40;color:#fff;font-weight:500}.sidebar-footer{padding:var(--space-4);border-top:1px solid rgba(255,255,255,.08)}.main-content{margin-left:260px;flex:1;min-height:100vh}.page-header{padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--color-border-light);background:#ffffff80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:40}.page-body{padding:var(--space-6) var(--space-8)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5)}.stat-card{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border)}.stat-card .stat-value{font-size:2rem;font-weight:700;font-family:var(--font-serif);line-height:1.1}.stat-card .stat-label{font-size:.8125rem;color:var(--color-text-secondary);margin-top:var(--space-1)}.weekly-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-4)}@media(max-width:1024px){.weekly-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.weekly-grid{grid-template-columns:1fr;gap:var(--space-6)}}.print-only{display:none!important}.day-column{min-height:350px;display:flex;flex-direction:column}.day-header{font-family:var(--font-serif);font-size:.9375rem;font-weight:600;padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-primary-light);margin-bottom:var(--space-3);text-align:center;color:var(--color-primary-dark)}.day-tasks{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.task-card{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);transition:all var(--transition-fast);cursor:default;position:relative}.task-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-light)}.task-card .task-title{font-size:.8125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-1);line-height:1.4}.task-card .task-time{font-size:.75rem;color:var(--color-primary);font-weight:500;display:flex;align-items:center;gap:var(--space-1)}.task-card .task-desc{font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-1);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-card .task-actions{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.task-card:hover .task-actions{opacity:1}.task-card .task-badges{display:flex;gap:var(--space-1);flex-wrap:wrap;margin-top:var(--space-2)}.modal-overlay{position:fixed;inset:0;background:#1a103580;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-content{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:var(--space-8)}.modal-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;margin-bottom:var(--space-6)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.calendar-header-cell{background:var(--color-primary-50);padding:var(--space-3);text-align:center;font-size:.75rem;font-weight:600;color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.05em}.calendar-cell{background:var(--color-surface);min-height:100px;padding:var(--space-2);display:flex;flex-direction:column;transition:background var(--transition-fast)}.calendar-cell:hover{background:var(--color-primary-50)}.calendar-cell.other-month{opacity:.4}.calendar-cell.today{background:var(--color-primary-50);box-shadow:inset 0 0 0 2px var(--color-primary-light)}.calendar-day-num{font-size:.8125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-1)}.calendar-task-dot{width:100%;padding:2px var(--space-2);margin-bottom:1px;border-radius:var(--radius-sm);font-size:.625rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:opacity var(--transition-fast)}.calendar-task-dot:hover{opacity:.8}[data-sonner-toaster]{font-family:var(--font-sans)!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-primary-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}html{font-size:9pt}body{background:#fff!important;background-image:none!important;color:#111!important;font-size:9pt;line-height:1.4}.sidebar,.page-header,.no-print,.task-actions,.btn,.mobile-header,.sidebar-overlay,.screen-only{display:none!important}.print-only,.app-layout{display:block!important}.main-content{margin-left:0!important;min-height:0!important}.page-body{padding:6px!important}.glass-card,.card,.task-card,.stat-card{background:#fff!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:1px solid #bbb!important;break-inside:avoid}.weekly-grid{gap:2px!important;grid-template-columns:repeat(7,1fr)!important}.day-column{min-height:auto!important}.print-header{display:block!important;text-align:center;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #222}.print-header h1{font-size:16pt;margin-bottom:2px;color:#111!important}.print-header p{font-size:9pt;color:#555!important}.print-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;font-size:8pt!important}.print-table th{background:#e8e0f7!important;color:#333!important;font-weight:700!important;font-size:9pt!important;padding:6px 4px!important;border:1px solid #aaa!important;text-align:center}.print-table td{vertical-align:top!important;padding:4px!important;border:1px solid #bbb!important}.print-task-item{padding:3px 4px!important;margin-bottom:3px!important;border-radius:3px!important;border-left-width:3px!important;border-left-style:solid!important;background:#f9f9f9!important;page-break-inside:avoid}.print-task-item .print-task-title{font-weight:600!important;font-size:8pt!important;color:#111!important;word-wrap:break-word!important;overflow-wrap:break-word!important;white-space:normal!important;overflow:visible!important;text-overflow:unset!important;display:block!important;-webkit-line-clamp:unset!important}.print-task-item .print-task-time{font-size:7pt!important;color:#444!important;font-weight:600!important}.print-task-item .print-task-desc{font-size:7pt!important;color:#555!important;word-wrap:break-word!important;overflow-wrap:break-word!important;white-space:normal!important;overflow:visible!important;-webkit-line-clamp:unset!important;display:block!important}.print-task-item .print-task-tags{font-size:6.5pt!important;margin-top:2px!important}.print-task-item .print-task-tags span{padding:0 4px!important;border-radius:3px!important;border:1px solid #ccc!important;margin-right:2px!important;display:inline-block!important;line-height:1.6!important;background:#f0f0f0!important;color:#333!important}.print-legend{display:flex!important;justify-content:center;gap:16px;margin-top:10px;font-size:7.5pt;color:#555}.print-legend .legend-dot{width:8px!important;height:8px!important;border-radius:2px!important;display:inline-block!important;margin-right:3px!important}.calendar-grid{border-radius:0!important}@page{margin:.8cm;size:A4 landscape}}.print-header{display:none}@media(max-width:1200px){.weekly-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1024px){.weekly-grid{grid-template-columns:repeat(3,1fr)}.calendar-cell{min-height:80px}}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.weekly-grid,.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.page-body{padding:var(--space-3)}.page-header{padding:var(--space-3) var(--space-4)}.page-header h1{font-size:1.25rem!important}.modal-content{padding:var(--space-5);max-width:calc(100vw - 32px);margin:auto}.calendar-cell{min-height:54px;padding:2px}.calendar-header-cell{padding:var(--space-2);font-size:.6875rem}.calendar-day-num{font-size:.75rem}.calendar-task-dot{font-size:.5625rem;padding:1px 3px}.mobile-filters{flex-direction:column!important;align-items:stretch!important;gap:6px!important}.mobile-filters .select{width:100%!important}.stat-card .stat-value{font-size:1.5rem}.stat-card{padding:var(--space-3)}.task-card .task-title{font-size:.75rem}.task-card .task-time{font-size:.6875rem}.badge{font-size:.6875rem;padding:1px var(--space-2)}.day-header{font-size:.8125rem;padding:var(--space-2) var(--space-3)}.chart-container{padding:var(--space-3)}.chart-title{font-size:.8125rem}}@media(max-width:480px){.weekly-grid,.stats-grid{grid-template-columns:1fr;gap:var(--space-3)}.day-column{min-height:120px}.page-header h1{font-size:1.125rem!important}.login-card{padding:var(--space-6);margin:var(--space-4)}.login-card h1{font-size:1.375rem}.modal-content{padding:var(--space-4);border-radius:var(--radius-lg)}.modal-content .modal-title{font-size:1.0625rem}.calendar-cell{min-height:44px}.calendar-task-dot{font-size:0;height:4px;border-radius:2px;padding:0;margin-bottom:2px}.page-header>div{flex-direction:column!important;align-items:stretch!important;gap:8px!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-in{animation:slideIn var(--transition-base) ease-out}.animate-scale-in{animation:scaleIn var(--transition-fast) ease-out}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e1640,#2d1a5e 40%,#3d2478,#1e1640);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,191,.3),transparent 70%);top:-100px;right:-100px;animation:float 8s ease-in-out infinite}.login-page:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(232,86,127,.2),transparent 70%);bottom:-80px;left:-80px;animation:float 10s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.login-card{width:100%;max-width:420px;padding:var(--space-12);background:#ffffff0f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;z-index:1;color:#fff;text-align:center}.login-card h1{color:#fff;font-size:1.75rem;margin-bottom:var(--space-2)}.login-card p{font-size:.875rem;color:#fff9;margin-bottom:var(--space-8)}.login-card .input{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff}.login-card .input:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #7c5cbf33}.login-card .input::placeholder{color:#ffffff59}.login-card .label{color:#ffffffbf;text-align:left}.login-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.8125rem;margin-bottom:var(--space-4)}.chart-container{padding:var(--space-5);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.chart-title{font-family:var(--font-serif);font-size:.9375rem;font-weight:600;margin-bottom:var(--space-4);color:var(--color-text)}.mobile-header{display:none;position:sticky;top:0;z-index:45;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);align-items:center;justify-content:space-between}.hamburger-btn{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:49}.sidebar-overlay.visible{display:block}@media(max-width:768px){.mobile-header{display:flex}.page-header{position:relative;top:auto}}
