@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Plus+Jakarta+Sans:wght@200..800&display=swap";:root{--bg:45 15% 97%;--card:0 0% 100%;--card-border:0 0% 90%;--border:0 0% 90%;--primary:8 100% 66%;--primary-foreground:0 0% 100%;--secondary:0 0% 90%;--secondary-foreground:0 0% 11%;--muted-foreground:0 0% 44%;--text:0 0% 11%;--text-h:0 0% 11%;--priority-high:0 100% 63%;--priority-high-bg:0 100% 63% / .15;--priority-medium:40 100% 60%;--priority-medium-bg:40 100% 60% / .15;--priority-low:144 100% 39%;--priority-low-bg:144 100% 39% / .15;--radius:12px;--font-sans:"Plus Jakarta Sans", "Outfit", "Inter", system-ui, sans-serif;--font-serif:"Cormorant Garamond", "Lora", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}button{color:inherit;font:inherit;cursor:pointer;outline:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}body{background-color:hsl(var(--bg));color:hsl(var(--text));font-family:var(--font-sans);background-attachment:fixed;min-height:100vh;margin:0;padding:0;font-weight:300}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:hsl(var(--text-h));margin-top:0;font-weight:700}.glass-panel{-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius);background:#ffffff98;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #736e5f0f}.app-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{border-right:1px solid hsl(var(--border) / .5);box-sizing:border-box;background:#e6e5e5;flex-direction:column;width:280px;padding:1.5rem;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar.collapsed{width:70px;padding:1.5rem .5rem}.main-content{box-sizing:border-box;background:#fff6;flex-direction:column;flex:1;padding:2rem;display:flex;overflow:hidden}.auth-container{background-color:#d6d8c479;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{text-align:center;width:100%;max-width:420px;padding:2.5rem}.btn-primary,.btn-secondary{border-radius:var(--radius);cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--font-sans);border:none;justify-content:center;align-items:center;padding:.6rem 1.2rem;transition:all .2s;display:inline-flex}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 4px 12px #1c1c1c1f}.btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 16px #1c1c1c33}.btn-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border))}.btn-secondary:hover:not(:disabled){background:#1c1c1c0a;border-color:#1c1c1c26}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-icon{color:hsl(var(--text));cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:inline-flex}.btn-icon:hover{color:hsl(var(--text-h));background:#1c1c1c0d}.btn-icon.danger{color:hsl(var(--priority-high))}.btn-icon.danger:hover{background:hsla(var(--priority-high) / .15);color:hsl(var(--priority-high))}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.form-input,.form-select{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--text-h));font-family:var(--font-sans);padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.form-input:focus,.form-select:focus{border-color:hsl(var(--primary));background:hsl(var(--card));outline:none;box-shadow:0 0 0 2px #1c1c1c14}.form-select option{background:hsl(var(--card));color:hsl(var(--text-h))}.project-list{flex-direction:column;flex:1;gap:.5rem;margin-top:1rem;display:flex;overflow-y:auto}.project-item{border-radius:var(--radius);width:100%;color:hsl(var(--text));text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:all .2s;display:flex}.project-item:hover,.project-item.active{border-color:hsl(var(--card-border));color:hsl(var(--text-h));background:#1c1c1c0a}.project-item.active{background:hsl(var(--secondary));border-color:hsl(var(--primary));font-weight:600}.whitelist-list{flex-direction:column;gap:.75rem;max-height:320px;padding-right:.25rem;display:flex;overflow-y:auto}.whitelist-item{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);justify-content:space-between;align-items:center;padding:.85rem 1.2rem;transition:all .2s;display:flex}.whitelist-item:hover{background:hsl(var(--secondary));border-color:hsl(var(--border))}.calendar-container{background:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));flex-direction:column;height:100%;display:flex;overflow:hidden}.calendar-header-toolbar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.calendar-day-header{text-align:center;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;background:hsl(var(--secondary) / .5);border-bottom:1px solid hsl(var(--border));padding:.75rem;font-size:.85rem;font-weight:700}.calendar-grid{background:hsl(var(--border));flex:1;grid-template-rows:repeat(6,minmax(0,1fr));grid-template-columns:repeat(7,1fr);gap:1px;min-height:0;display:grid}.calendar-cell{background:hsl(var(--card));cursor:pointer;flex-direction:column;gap:.25rem;padding:.5rem;transition:background-color .2s;display:flex;position:relative;overflow:hidden auto}.calendar-cell:hover{background:#1c1c1c05}.calendar-cell.outside{background:hsl(var(--secondary) / .3)}.calendar-cell.outside .day-number{opacity:.35}.calendar-cell.today{background:#1c1c1c04}.calendar-cell.selected-day{border-radius:var(--radius)!important;background:#8081854a!important;box-shadow:inset 0 0 0 2px #8081854a!important}.calendar-cell.today .day-number{color:hsl(var(--primary));background:hsla(var(--primary) / .08);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:700;display:inline-flex}.day-number{color:hsl(var(--muted-foreground));align-self:flex-end;margin-bottom:.25rem;font-size:.85rem}.calendar-task-item{cursor:pointer;border-left:3px solid #0000;border-radius:6px;flex-direction:column;gap:.1rem;padding:.4rem .6rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.calendar-task-item:hover{filter:brightness(1.02);transform:translateY(-1.5px);box-shadow:0 4px 8px #0000000d}.calendar-task-item.priority-high{color:#991b1b;background:#fee2e2;border-left-color:#ef4444}.calendar-task-item.priority-medium{color:#92400e;background:#fef3c7;border-left-color:#f59e0b}.calendar-task-item.priority-low{color:#166534;background:#dcfce7;border-left-color:#22c55e}.calendar-task-title{-webkit-line-clamp:3;text-overflow:ellipsis;word-break:break-word;white-space:normal;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#1c1c1c66;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#ddddd9;width:90%;max-width:600px;max-height:90vh;padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.25rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-admin{background:hsla(var(--primary) / .15);color:hsl(var(--primary));border:1px solid hsla(var(--primary) / .3)}.badge-user{color:hsl(var(--text));border:1px solid hsl(var(--border));background:#ffffff0d}.rich-text-editor-container{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));flex-direction:column;width:100%;display:flex;position:relative}.rich-text-header{z-index:15;background:hsl(var(--card));-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--border));border-top-left-radius:inherit;border-top-right-radius:inherit;position:sticky;top:0}.rich-text-toolbar{flex-wrap:wrap;align-items:center;gap:.25rem;padding:.4rem .5rem;display:flex}.rich-text-drawer{border-top:1px solid hsl(var(--border) / .6);background:#ff6a520f;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem .65rem;animation:.15s ease-out fadeIn;display:flex}.rich-text-btn-group{align-items:center;gap:.15rem;display:flex}.rich-text-divider{background:hsl(var(--border));flex-shrink:0;width:1px;height:20px;margin:0 .25rem}.rich-text-btn{min-width:30px;height:30px;color:hsl(var(--text));cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.25rem .45rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.rich-text-btn:hover{background:hsl(var(--secondary));border-color:hsl(var(--border));color:hsl(var(--text-h))}.rich-text-btn.active{background:hsla(var(--primary) / .15);border-color:hsla(var(--primary) / .3);color:hsl(var(--primary))}.rich-text-textarea{min-height:120px;color:hsl(var(--text-h));font-family:var(--font-sans);background:0 0;border:none;padding:1rem;font-size:.95rem;line-height:1.6;overflow-y:auto}.rich-text-textarea:focus{outline:none}.rich-text-textarea a,.rich-text-content a{color:#ff6a52;text-underline-offset:2px;cursor:pointer;word-break:break-word;text-decoration:underline;transition:opacity .15s}.rich-text-textarea a:hover,.rich-text-content a:hover{opacity:.8}.rich-text-textarea ul,.rich-text-content ul{margin:.35rem 0;padding-left:1.5rem;list-style-type:disc!important}.rich-text-textarea ul ul,.rich-text-content ul ul{margin:.2rem 0;padding-left:1.4rem;list-style-type:circle!important}.rich-text-textarea ul ul ul,.rich-text-content ul ul ul{margin:.2rem 0;padding-left:1.4rem;list-style-type:square!important}.rich-text-textarea ol,.rich-text-content ol{margin:.35rem 0;padding-left:1.5rem;list-style-type:decimal!important}.rich-text-textarea ol ol,.rich-text-content ol ol{margin:.2rem 0;padding-left:1.4rem;list-style-type:lower-alpha!important}.rich-text-textarea ol ol ol,.rich-text-content ol ol ol{margin:.2rem 0;padding-left:1.4rem;list-style-type:lower-roman!important}.rich-text-textarea li,.rich-text-content li{margin-bottom:.2rem;line-height:1.5}.rich-text-popover{z-index:50;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;padding:.75rem;animation:.15s ease-out fadeIn;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 25px -5px #0003,0 8px 10px -6px #0000001a}.color-palette-grid{grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.color-swatch-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:transform .15s,border-color .15s;display:flex}.color-swatch-btn:hover{box-shadow:0 0 0 1px hsl(var(--border));border-color:#fff;transform:scale(1.15)}.checklist-item{border-radius:6px;align-items:center;gap:.75rem;padding:.5rem;transition:background .15s;display:flex}.checklist-item:hover{background:#ffffff05}.checklist-item-text{font-size:.9rem;transition:all .2s}.checklist-item-text.completed{color:hsl(var(--muted-foreground));opacity:.7;text-decoration:line-through}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.text-gradient{background:linear-gradient(135deg, hsl(var(--text-h)) 0%, #3a3a3a 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.priority-pill{text-transform:uppercase;letter-spacing:.02em;border-radius:9999px;flex-shrink:0;align-items:center;gap:.25rem;height:fit-content;padding:.15rem .4rem;font-size:.55rem;font-weight:800;line-height:1;display:inline-flex}.priority-pill:before{content:"";border-radius:50%;flex-shrink:0;width:4px;height:4px;display:inline-block}.priority-pill.priority-high{color:#991b1b;background-color:#fee2e2}.priority-pill.priority-high:before{background-color:#ef4444}.priority-pill.priority-medium{color:#92400e;background-color:#fef3c7}.priority-pill.priority-medium:before{background-color:#f59e0b}.priority-pill.priority-low{color:#166534;background-color:#dcfce7}.priority-pill.priority-low:before{background-color:#22c55e}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e6e5e5;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ff6a52}*{scrollbar-width:thin;scrollbar-color:#e6e5e5 transparent}.create-task-link{opacity:0;transition:opacity .2s,background-color .15s,color .15s}.calendar-cell:hover .create-task-link{opacity:.6}.create-task-link:hover{opacity:1!important;color:hsl(var(--primary))!important;background-color:#1c1c1c0d!important}strong,b,.rich-text-textarea strong,.rich-text-textarea b{font-weight:700!important}.calendar-task-item{transition:transform .15s,box-shadow .15s,border-color .15s}.calendar-task-item:hover{border-color:hsl(var(--primary) / .4);box-shadow:0 2px 6px #00000014}.calendar-task-item .task-checkmark-btn{opacity:0;border:1.5px solid hsl(var(--muted-foreground) / .6);cursor:pointer;width:18px;height:0;color:hsl(var(--muted-foreground) / .6);pointer-events:none;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:0;padding:0;transition:opacity .2s,height .2s,margin-bottom .2s,transform .15s,background-color .15s,border-color .15s,color .15s;display:flex;overflow:hidden}.calendar-task-item:hover .task-checkmark-btn,.calendar-task-item:focus-within .task-checkmark-btn{opacity:1;pointer-events:auto;height:18px;margin-bottom:3px}.calendar-task-item .task-checkmark-btn:hover{color:#10b981;background:#10b9811f;border-color:#10b981;transform:scale(1.15)}.calendar-task-item.completed .task-checkmark-btn{color:#fff;background:#10b981;border-color:#10b981;opacity:1!important;pointer-events:auto!important;height:18px!important;margin-bottom:3px!important}.calendar-task-item.completed .task-checkmark-btn:hover{color:#fff;background:#0d9668;border-color:#0d9668}@media (hover:none),(width<=768px){.calendar-task-item .task-checkmark-btn{opacity:.85;pointer-events:auto;height:18px;margin-bottom:3px}}.admin-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.admin-card{box-sizing:border-box;padding:1.5rem;overflow:hidden}.calendar-header-left,.calendar-header-left-buttons{align-items:center;gap:1rem;display:flex}.whitelist-form-row{align-items:flex-end;display:flex}@media (width<=768px){.app-container{flex-direction:column;height:auto;min-height:100vh;position:relative;overflow:auto}.sidebar{z-index:1000;background:#e6e5e5;position:fixed;top:0;bottom:0;left:0;transform:translate(-110%);box-shadow:2px 0 10px #00000026;width:280px!important;max-width:80%!important;padding:1.5rem!important;transition:transform .3s cubic-bezier(.4,0,.2,1)!important}.sidebar:not(.collapsed){transform:translate(0)}.sidebar.collapsed{transform:translate(-110%);width:280px!important;max-width:80%!important;padding:1.5rem!important}.main-content{box-sizing:border-box;flex-direction:column;width:100%;min-height:100vh;margin-left:0;padding:1rem;display:flex;overflow:visible}.sidebar-backdrop{display:block!important}.calendar-header-toolbar{flex-direction:column;align-items:flex-start;gap:1rem}.calendar-header-toolbar>div{justify-content:space-between;width:100%;display:flex}.view-switcher{width:100%;display:flex}.view-switcher button{text-align:center;flex:1}.modal-content{margin:.5rem;width:95%!important;padding:1.25rem!important}.form-group{flex-direction:column!important;align-items:stretch!important}.form-label{min-width:unset!important;margin-bottom:.25rem!important}.admin-grid{grid-template-columns:1fr;gap:1.5rem}.calendar-header-left{flex-direction:column;align-items:stretch;gap:.75rem;width:100%}.calendar-header-left-buttons{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.calendar-header-title{text-align:left;width:100%;margin-top:.25rem;font-size:1.4rem!important}.whitelist-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 1rem}.whitelist-item>div:last-child{border-top:1px solid hsl(var(--border) / .5);justify-content:space-between;align-items:center;width:100%;margin-top:.25rem;padding-top:.5rem;display:flex}.whitelist-form-row{flex-direction:column;align-items:stretch;gap:.75rem!important}.whitelist-form-row button{width:100%;margin-top:.5rem}.admin-card{padding:1rem!important}.admin-project-select-row{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.admin-edit-project-btn,.admin-delete-btn{justify-content:center!important;width:100%!important}}.asana-sub-tabs{border-bottom:2px solid hsl(var(--border) / .5);padding-bottom:0;display:flex}.asana-sub-tab-btn{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.asana-sub-tab-btn:hover{color:hsl(var(--text))}.asana-sub-tab-btn.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary))}.metrics-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;width:100%;display:grid}.metric-card{flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.metric-card-header{justify-content:space-between;align-items:center;display:flex}.metric-card-title{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));font-size:.85rem;font-weight:700}.metric-card-icon{opacity:.8}.metric-card-value{font-size:2.25rem;font-weight:800;line-height:1}.metric-card-desc{color:hsl(var(--muted-foreground));font-size:.75rem}.dashboard-tab-btn{color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .15s}.dashboard-tab-btn:hover{color:hsl(var(--text));background:#1c1c1c0a}.dashboard-tab-btn.active{color:#fff;background:hsl(var(--text))!important}.user-dashboard-table th{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));border-bottom:2px solid hsl(var(--border) / .5);font-size:.75rem;font-weight:700}.user-dashboard-row{transition:background-color .15s}.user-dashboard-row:hover{background-color:#1c1c1c05}.notes-layout-container{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius)}.note-list-item:hover{background:#1c1c1c05}.notes-list-scroll::-webkit-scrollbar{width:6px}.notes-list-scroll::-webkit-scrollbar-track{background:0 0}.notes-list-scroll::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:3px}.mobile-menu-trigger{display:none!important}.sidebar-backdrop{display:none}@media (width<=768px){.app-container{flex-direction:column!important;height:100dvh!important;position:relative!important;overflow:hidden!important}.mobile-menu-trigger{display:flex!important}.main-content{flex:1;height:100dvh!important;padding:1rem .75rem!important;overflow-y:auto!important}.sidebar{z-index:1000!important;background:#e6e5e5!important;width:290px!important;max-width:85vw!important;height:100dvh!important;padding:1.5rem 1rem!important;transition:transform .25s cubic-bezier(.4,0,.2,1)!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:translate(0)!important;box-shadow:6px 0 28px #0000004d!important}.sidebar.collapsed{pointer-events:none!important;width:290px!important;padding:1.5rem 1rem!important;transform:translate(-100%)!important}.sidebar-backdrop{display:none}.sidebar-backdrop.active{-webkit-backdrop-filter:blur(3px);z-index:999!important;background:#00000080!important;display:block!important;position:fixed!important;inset:0!important}.asana-sub-tabs{justify-content:space-between;width:100%;margin-top:.75rem}.asana-sub-tab-btn{padding:.4rem .6rem;font-size:.8rem}}
