:root{--font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--bg-primary:#f5f5f7;--bg-secondary:#fff;--text-primary:#1d1d1f;--text-secondary:#86868b;--text-tertiary:#a1a1a6;--accent-blue:#0071e3;--accent-blue-hover:#0077ed;--accent-blue-light:rgba(0,113,227,.1);--accent-green:#34c759;--accent-green-light:rgba(52,199,89,.1);--accent-orange:#ff9500;--accent-orange-light:rgba(255,149,0,.1);--accent-red:#ff3b30;--accent-red-light:rgba(255,59,48,.15);--glass-bg:hsla(0,0%,100%,.7);--glass-bg-hover:hsla(0,0%,100%,.85);--glass-border:hsla(0,0%,100%,.5);--shadow-sm:0 2px 8px rgba(0,0,0,.04);--shadow-md:0 8px 30px rgba(0,0,0,.06);--shadow-lg:0 16px 40px rgba(0,0,0,.08);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:980px;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-medium:0.3s cubic-bezier(0.4,0,0.2,1);--transition-spring:0.4s cubic-bezier(0.34,1.56,0.64,1)}*{box-sizing:border-box;padding:0;margin:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;background:linear-gradient(-45deg,#ff9a9e,#c2e9fb,#abecd6,#e0c3fc);background-size:400% 400%;animation:gradient-bg 15s ease infinite;overflow:hidden;height:100vh;height:100dvh}body:after,body:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(120px);z-index:-1;opacity:.65;pointer-events:none}body:before{background:radial-gradient(circle,rgba(0,113,227,.18) 0,hsla(0,0%,100%,0) 70%);top:-10%;left:-10%;animation:float-blob-1 25s ease-in-out infinite alternate}body:after{background:radial-gradient(circle,rgba(224,195,252,.28) 0,hsla(0,0%,100%,0) 70%);bottom:-10%;right:-10%;animation:float-blob-2 30s ease-in-out infinite alternate}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;line-height:1.25}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.2)}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;max-width:100%;margin:0 auto;background:rgba(245,245,247,.82);backdrop-filter:blur(35px);-webkit-backdrop-filter:blur(35px);position:relative;overflow:hidden;transition:max-width var(--transition-medium),margin var(--transition-medium),border-radius var(--transition-medium),box-shadow var(--transition-medium),height var(--transition-medium)}@keyframes gradient-bg{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes float-blob-1{0%{transform:translate(0) scale(1)}50%{transform:translate(80px,60px) scale(1.15)}to{transform:translate(-40px,-30px) scale(.95)}}@keyframes float-blob-2{0%{transform:translate(0) scale(1)}50%{transform:translate(-60px,-80px) scale(.85)}to{transform:translate(40px,30px) scale(1.05)}}@media (min-width:768px){.app-container{max-width:1100px;margin:30px auto;border-radius:var(--radius-lg);height:calc(100vh - 60px);box-shadow:var(--shadow-lg)}}.parallax-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none}.parallax-bg-element{position:absolute;width:150%;height:150%;top:-25%;left:-25%;background-size:cover;background-position:50%;transition:transform .1s ease-out}.glass-panel{backdrop-filter:blur(20px) saturate(190%);-webkit-backdrop-filter:blur(20px) saturate(190%);box-shadow:var(--shadow-md)}.glass-card,.glass-panel{background:var(--glass-bg);border:1px solid var(--glass-border)}.glass-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-spring),box-shadow var(--transition-medium),background var(--transition-fast)}.glass-card:hover{background:var(--glass-bg-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.glass-card:active{transform:scale(.985)}.btn-primary{background-color:var(--accent-blue);color:#fff;border:none;padding:14px 24px;font-size:15px;font-weight:600;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.btn-primary:hover{background-color:var(--accent-blue-hover)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{background-color:var(--text-tertiary);cursor:not-allowed;transform:none}.btn-secondary{background-color:rgba(0,0,0,.05);color:var(--text-primary);border:none;padding:12px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color var(--transition-fast),transform var(--transition-fast)}.btn-secondary:hover{background-color:rgba(0,0,0,.08)}.btn-secondary:active{transform:scale(.97)}.btn-circle{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:none;background-color:hsla(0,0%,100%,.9);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-fast),background-color var(--transition-fast)}.btn-circle:active{transform:scale(.9)}.input-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px;width:100%}.input-label{font-size:13px;font-weight:600;color:var(--text-secondary);padding-left:4px}.input-field{width:100%;padding:14px 16px;font-size:15px;background-color:rgba(0,0,0,.03);border:1.5px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.input-field:focus{border-color:var(--accent-blue);background-color:var(--bg-secondary);box-shadow:0 0 0 4px rgba(0,113,227,.15)}.task-item{display:flex;align-items:center;gap:14px;background:var(--bg-secondary);padding:16px;border-radius:var(--radius-md);margin-bottom:12px;border:1px solid rgba(0,0,0,.03);box-shadow:var(--shadow-sm);transition:all var(--transition-medium);cursor:pointer;position:relative;overflow:hidden}.task-item:hover{transform:translateX(4px);border-color:rgba(0,0,0,.06)}.task-item.completed{opacity:.7;background:hsla(0,0%,100%,.5)}.checkbox-container{display:inline-flex;position:relative;cursor:pointer}.checkbox-container,.checkbox-custom{align-items:center;justify-content:center;width:24px;height:24px}.checkbox-custom{position:absolute;top:0;left:0;border:2px solid var(--text-tertiary);border-radius:50%;transition:all var(--transition-spring);display:flex}.checkbox-container input{opacity:0;width:0;height:0}.checkbox-container input:checked~.checkbox-custom{background-color:var(--accent-green);border-color:var(--accent-green);transform:scale(1.1);box-shadow:0 0 10px rgba(52,199,89,.4)}.checkbox-custom:after{content:"";position:absolute;display:none;left:8px;top:4px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-container input:checked~.checkbox-custom:after{display:block}.task-title{font-size:15px;font-weight:600;color:var(--text-primary);transition:color var(--transition-fast),-webkit-text-decoration var(--transition-fast);transition:color var(--transition-fast),text-decoration var(--transition-fast);transition:color var(--transition-fast),text-decoration var(--transition-fast),-webkit-text-decoration var(--transition-fast);flex-grow:1}.task-item.completed .task-title{text-decoration:line-through;color:var(--text-secondary)}.progress-ring-container{display:flex;align-items:center;justify-content:center;position:relative;width:72px;height:72px}.progress-ring-text{position:absolute;font-weight:700;font-size:14px;color:var(--text-primary)}.ios-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:-webkit-sticky;position:sticky;bottom:0;left:0;width:100%;background:hsla(0,0%,100%,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.05);padding:10px 0 calc(10px + env(safe-area-inset-bottom, 0px));z-index:100}.tab-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:color var(--transition-fast)}.tab-item.active{color:var(--accent-blue)}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:flex-end;justify-content:center}@media (min-width:481px){.modal-overlay{align-items:center}}.modal-content{background:var(--bg-secondary);width:100%;max-width:480px;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-lg);animation:slide-up var(--transition-spring);max-height:90vh;overflow-y:auto}@media (min-width:481px){.modal-content{border-radius:var(--radius-lg);width:90%}}.chat-container{height:350px;background:hsla(0,0%,100%,.5);border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(0,0,0,.05)}.chat-container,.chat-messages{display:flex;flex-direction:column}.chat-messages{flex-grow:1;overflow-y:auto;padding:16px;gap:12px}.chat-bubble{max-width:80%;padding:12px 16px;border-radius:16px;font-size:14px;position:relative;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px}.chat-bubble.sent{align-self:flex-end;background-color:var(--accent-blue);color:#fff;border-bottom-right-radius:4px}.chat-bubble.received{align-self:flex-start;background-color:var(--bg-secondary);color:var(--text-primary);border-bottom-left-radius:4px}.chat-sender{font-size:11px;font-weight:700;opacity:.8}.chat-bubble.sent .chat-sender{color:hsla(0,0%,100%,.9)}.chat-bubble.received .chat-sender{color:var(--accent-blue)}.chat-time{font-size:10px;opacity:.6;text-align:right}.log-item{font-size:12px;padding:8px 12px;border-radius:var(--radius-sm);background-color:rgba(0,0,0,.02);margin-bottom:6px;border-left:3px solid var(--text-tertiary);display:flex;justify-content:space-between;align-items:center}.log-item.CREATE_TASK{border-left-color:var(--accent-blue)}.log-item.COMPLETE_TASK{border-left-color:var(--accent-green)}.log-item.DELETE_TASK{border-left-color:var(--accent-red)}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom, 0px));left:50%;transform:translateX(-50%);background:rgba(0,0,0,.8);color:#fff;padding:12px 24px;border-radius:var(--radius-pill);font-size:14px;font-weight:500;z-index:2000;box-shadow:var(--shadow-lg);pointer-events:none;animation:fadeIn .2s ease-out;text-align:center;width:90%;max-width:320px}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.top-0{top:0}.left-0{left:0}.z-10{z-index:10}.z-90{z-index:90}.text-center{text-align:center}.text-right{text-align:right}.bg-white{background-color:#fff}.bg-white-80{background-color:hsla(0,0%,100%,.8)}.bg-white-70{background-color:hsla(0,0%,100%,.7)}.backdrop-blur-md{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.rounded-xl{border-radius:12px}.rounded-2xl{border-radius:16px}.border{border:1px solid rgba(0,0,0,.05)}.border-b{border-bottom:1px solid rgba(0,0,0,.05)}.border-gray-100{border-color:#f2f2f7}.border-gray-100-50{border-color:rgba(242,242,247,.5)}.gap-1{gap:4px}.gap-1_5{gap:6px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-16{margin-top:64px}.mt-24{margin-top:96px}.mb-6{margin-bottom:24px}.mb-12{margin-bottom:48px}.mb-16{margin-bottom:64px}.mb-20{margin-bottom:80px}.pt-6{padding-top:24px}.pb-4{padding-bottom:16px}.pb-6{padding-bottom:24px}.pb-8{padding-bottom:32px}.pt-12{padding-top:48px}.px-6{padding-left:24px;padding-right:24px}.py-6{padding-top:24px;padding-bottom:24px}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.text-xs{font-size:11px}.text-sm{font-size:13px}.text-lg{font-size:18px}.checklists-grid,.projects-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;width:100%}@media (min-width:600px){.checklists-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.checklists-grid,.projects-grid{grid-template-columns:repeat(3,1fr)}}.dashboard-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;background:rgba(0,0,0,.03);padding:4px;border-radius:12px;margin-bottom:20px;width:100%}@media (min-width:768px){.dashboard-tabs{max-width:400px;margin-left:auto;margin-right:auto}}.bg-option-button{height:48px;border-radius:8px;border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:11px;color:var(--text-secondary);background:rgba(0,0,0,.02);transition:all var(--transition-fast);position:relative;overflow:hidden}.bg-option-button:hover{background:rgba(0,0,0,.05);border-color:var(--text-tertiary)}.bg-option-color-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}.login-info-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;margin-bottom:20px}@media (min-width:600px){.login-info-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.login-info-grid{text-align:center}.footer-links-container{flex-direction:column!important;gap:14px!important;justify-content:center!important;align-items:center!important;text-align:center}}