:root{--bg-primary: #0e0d0b;--bg-secondary: #161412;--bg-card: #1c1a17;--bg-card-hover: #232019;--bg-input: #1a1816;--border: #2e2a24;--border-light: #3d3730;--text-primary: #ece6db;--text-secondary: #a69e91;--text-muted: #706a60;--accent: #d4a24e;--accent-light: #e8be72;--accent-dark: #b8882e;--accent-glow: rgba(212, 162, 78, .1);--success: #7ec77b;--warning: #e2a84b;--danger: #d45c5c;--income: #7ec77b;--expense: #d45c5c;--wheel-1: #d4a24e;--wheel-2: #c77d54;--wheel-3: #b85c6a;--wheel-4: #a3527e;--wheel-5: #8b5e9f;--wheel-6: #6b7bb5;--wheel-7: #5a9ca3;--wheel-8: #7eb87a;--font-sans: "DM Sans", -apple-system, sans-serif;--font-display: "Cormorant Garamond", Georgia, serif;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--shadow: 0 8px 32px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-glow: 0 0 40px rgba(212, 162, 78, .06);--transition: .25s cubic-bezier(.4, 0, .2, 1);--grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E")}[data-theme=light]{--bg-primary: #f7f4ef;--bg-secondary: #fffdf8;--bg-card: #fffdf8;--bg-card-hover: #f2efe8;--bg-input: #f4f1ea;--border: #e2ddd4;--border-light: #d4cfc5;--text-primary: #2a2520;--text-secondary: #70695e;--text-muted: #9e978c;--accent: #b8882e;--accent-light: #d4a24e;--accent-dark: #9a7024;--accent-glow: rgba(184, 136, 46, .08);--shadow: 0 8px 32px rgba(0, 0, 0, .06);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-glow: 0 0 40px rgba(184, 136, 46, .04)}[data-theme=colorful]{--bg-primary: #120b16;--bg-secondary: #1a1020;--bg-card: #20152a;--bg-card-hover: #2a1d38;--bg-input: #1c1224;--border: #352650;--border-light: #453560;--accent: #c084fc;--accent-light: #d8b4fe;--accent-dark: #a855f7;--accent-glow: rgba(192, 132, 252, .1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:14px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.65;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:var(--grain);background-repeat:repeat;background-size:256px 256px;pointer-events:none;z-index:9999;opacity:.5}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}::selection{background:var(--accent);color:var(--bg-primary)}.app-layout{display:flex;min-height:100vh}.sidebar{width:270px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:28px 18px;position:fixed;top:0;left:0;bottom:0;overflow-y:auto;overflow-x:hidden;z-index:100;display:flex;flex-direction:column;transition:width .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1)}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:radial-gradient(ellipse at 50% 0%,var(--accent-glow) 0%,transparent 70%);pointer-events:none}.sidebar-header{text-align:center;padding-bottom:28px;border-bottom:1px solid var(--border);margin-bottom:20px;position:relative}.sidebar-header h1{font-family:var(--font-display);font-size:1.7rem;font-weight:500;color:var(--accent-light);letter-spacing:.02em;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-header p{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:3px;font-weight:500;white-space:nowrap;overflow:hidden}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:all var(--transition);margin:0 auto 16px;flex-shrink:0}.sidebar-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.sidebar-nav{flex:1;display:flex;flex-direction:column}.nav-section{margin-bottom:24px}.nav-section-title{font-size:.6rem;text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);padding:0 14px;margin-bottom:8px;font-weight:600;white-space:nowrap;overflow:hidden;transition:opacity .2s ease}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.82rem;font-weight:500;transition:all var(--transition);cursor:pointer;border:none;background:none;width:100%;text-align:left;position:relative;letter-spacing:.01em;white-space:nowrap;overflow:hidden}.nav-item:hover{background:var(--accent-glow);color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:var(--accent-glow);color:var(--accent-light);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--accent);border-radius:0 3px 3px 0}.nav-item svg{width:17px;height:17px;flex-shrink:0;opacity:.7;transition:opacity var(--transition)}.nav-item:hover svg,.nav-item.active svg{opacity:1}.sidebar.sidebar-collapsed{width:68px;padding:28px 10px}.sidebar-collapsed .sidebar-header{padding-bottom:16px;margin-bottom:12px}.sidebar-collapsed .sidebar-header h1{font-size:1rem;width:36px;height:36px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:var(--accent-glow);border-radius:50%;border:1px solid var(--border);overflow:hidden;text-overflow:clip}.sidebar-collapsed .sidebar-header p{display:none}.sidebar-collapsed .nav-section-title{opacity:0;height:0;margin:0;padding:0;overflow:hidden}.sidebar-collapsed .nav-item{justify-content:center;padding:10px;gap:0}.sidebar-collapsed .nav-item span,.sidebar-collapsed .nav-item:after{display:none}.sidebar-collapsed .nav-item:hover{transform:none}.sidebar-collapsed .nav-item[title]:hover:after{content:attr(title);display:block;position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:.78rem;white-space:nowrap;z-index:200;box-shadow:var(--shadow-sm);pointer-events:none}.main-content{margin-left:270px;flex:1;padding:40px;max-width:calc(100vw - 270px);transition:margin-left .25s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1)}.sidebar-is-collapsed .main-content{margin-left:68px;max-width:calc(100vw - 68px)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:all var(--transition);box-shadow:var(--shadow-sm);position:relative}.card:hover{border-color:var(--border-light);box-shadow:var(--shadow-sm),var(--shadow-glow)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.card-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;letter-spacing:.01em}.page-header{margin-bottom:36px}.page-header h2{font-family:var(--font-display);font-size:2.2rem;font-weight:400;letter-spacing:-.01em;margin-bottom:6px;line-height:1.2}.page-header p{color:var(--text-secondary);font-size:.88rem;letter-spacing:.01em}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:500;cursor:pointer;transition:all var(--transition);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-sans);letter-spacing:.02em}.btn:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0e0d0b;font-weight:600}.btn-primary:hover{background:var(--accent-light);border-color:var(--accent-light);box-shadow:0 4px 20px #d4a24e40}.btn-sm{padding:5px 12px;font-size:.72rem}.btn-danger{color:var(--danger);border-color:#d45c5c4d}.btn-danger:hover{background:#d45c5c14;border-color:var(--danger)}.btn-icon{padding:7px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition);display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--accent-glow);color:var(--accent-light);transform:scale(1.1)}input,textarea,select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;color:var(--text-primary);font-size:.85rem;font-family:var(--font-sans);transition:all var(--transition);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),0 0 20px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:80px}select{cursor:pointer}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-center{display:flex;align-items:center;justify-content:center}.flex-gap{display:flex;align-items:center;gap:8px}.checkbox-item{display:flex;align-items:center;gap:12px;padding:8px 0;transition:opacity var(--transition)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.checkbox-item.completed span{text-decoration:line-through;color:var(--text-muted);opacity:.6}.month-nav{display:flex;align-items:center;gap:16px}.month-nav h3{font-family:var(--font-display);font-size:1.3rem;font-weight:400;min-width:200px;text-align:center;letter-spacing:.02em}.tag{display:inline-block;padding:3px 12px;border-radius:20px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px}.tag-short{background:#7ec77b1f;color:#7ec77b}.tag-medium{background:#e2a84b1f;color:#e2a84b}.tag-long{background:#d4a24e1f;color:#d4a24e}.agenda-tabs{display:flex;gap:4px;margin-bottom:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:4px;width:fit-content}.agenda-tab{display:flex;align-items:center;gap:7px;padding:9px 18px;border:none;background:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:.78rem;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition);letter-spacing:.02em}.agenda-tab:hover{color:var(--text-primary);background:var(--accent-glow)}.agenda-tab.active{background:var(--accent);color:var(--bg-primary);font-weight:600}.agenda-tab.active svg{opacity:1}.agenda-tab svg{opacity:.6}.agenda-content{animation:fadeIn .2s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 20px 4px var(--accent-glow)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeInScale .4s cubic-bezier(.4,0,.2,1) forwards}.card{animation:fadeInScale .5s cubic-bezier(.4,0,.2,1) both}.grid-2 .card:nth-child(1),.grid-3 .card:nth-child(1),.grid-4 .card:nth-child(1){animation-delay:0ms}.grid-2 .card:nth-child(2),.grid-3 .card:nth-child(2),.grid-4 .card:nth-child(2){animation-delay:60ms}.grid-3 .card:nth-child(3),.grid-4 .card:nth-child(3){animation-delay:.12s}.grid-4 .card:nth-child(4){animation-delay:.18s}.lined-page{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;min-height:500px;box-shadow:var(--shadow-sm);position:relative}.lined-page:after{content:"";position:absolute;top:0;right:0;width:30px;height:30px;background:linear-gradient(135deg,transparent 50%,var(--border) 50%);border-radius:0 var(--radius) 0 0;opacity:.5}.lined-page textarea{background:transparent;border:none;line-height:2;background-image:repeating-linear-gradient(transparent,transparent 31px,var(--border) 31px,var(--border) 32px);min-height:500px;resize:none;font-size:.9rem}.lined-page textarea:focus{box-shadow:none}.dotted-page{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;min-height:500px;background-image:radial-gradient(circle,var(--border-light) .8px,transparent .8px);background-size:20px 20px;box-shadow:var(--shadow-sm)}.dotted-page textarea{background:transparent;border:none;min-height:500px;resize:none;font-size:.9rem}.dotted-page textarea:focus{box-shadow:none}.finance-table{width:100%;border-collapse:collapse}.finance-table th,.finance-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:.85rem}.finance-table th{color:var(--text-muted);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:2px;padding-bottom:14px}.finance-table tr{transition:background var(--transition)}.finance-table tbody tr:hover{background:var(--accent-glow)}.finance-table .income{color:var(--income);font-weight:600}.finance-table .expense{color:var(--expense);font-weight:600}.finance-balance-bar{display:flex;align-items:center;gap:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 24px;margin-bottom:20px}.finance-balance-item{display:flex;flex-direction:column;gap:2px;flex:1}.finance-balance-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;font-weight:500}.finance-balance-value{font-size:1.6rem;font-weight:400;font-family:var(--font-display);letter-spacing:-.02em}.finance-balance-divider{width:1px;height:40px;background:var(--border);margin:0 24px}.finance-boards{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.finance-board{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.finance-board-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:2px solid}.finance-board-summary{padding:20px;border-bottom:1px solid var(--border)}.finance-board-totals{display:flex;gap:24px;align-items:baseline}.finance-board-total-main,.finance-board-total-sub{display:flex;flex-direction:column}.finance-board-total-value{font-size:1.8rem;font-weight:400;font-family:var(--font-display);letter-spacing:-.02em}.finance-board-total-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;font-weight:500}.finance-board-categories{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px}.finance-board-cat-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;background:var(--bg-input);border-radius:var(--radius-sm);font-size:.8rem}.finance-board-cat-item .cat-name{color:var(--text-secondary);font-weight:500}.finance-board-section{border-bottom:1px solid var(--border)}.finance-board-section:last-child{border-bottom:none}.finance-board-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:.82rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary)}.finance-board-recurring-list{padding:0}.finance-recurring-item{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid var(--border);transition:background var(--transition)}.finance-recurring-item:last-child{border-bottom:none}.finance-recurring-item:hover{background:var(--accent-glow)}.finance-recurring-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.finance-recurring-desc{font-size:.85rem;font-weight:500;color:var(--text-primary)}.finance-recurring-meta{font-size:.72rem;color:var(--text-muted)}.finance-recurring-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.finance-board-items{padding:4px 0}.finance-item{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--border);transition:all var(--transition)}.finance-item:last-child{border-bottom:none}.finance-item:hover{background:var(--accent-glow)}.finance-item-unpaid{opacity:.7}.finance-item-paid{opacity:1}.finance-item-body{flex:1;min-width:0}.finance-item-desc{font-size:.85rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center}.finance-item-meta{font-size:.72rem;color:var(--text-muted);margin-top:1px}.finance-item-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.finance-item-amount{font-weight:600;font-family:var(--font-display);font-size:.95rem}.paid-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:.68rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-muted);transition:all var(--transition);text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.paid-toggle:hover{border-color:var(--border-light)}.paid-toggle.is-paid{background:#7ec77b1f;border-color:#7ec77b4d;color:var(--success)}.paid-toggle.is-unpaid{background:#e2a84b14;border-color:#e2a84b33;color:var(--warning)}.finance-filters{display:flex;gap:6px;flex-wrap:wrap}.finance-filters .filter-btn{padding:3px 10px;border-radius:20px;font-size:.65rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-muted);transition:all var(--transition);text-transform:uppercase;letter-spacing:.8px}.finance-filters .filter-btn:hover{border-color:var(--border-light);color:var(--text-secondary)}.finance-filters .filter-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-header-cell{text-align:center;padding:10px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted)}.calendar-cell{min-height:85px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);position:relative}.calendar-cell:hover{border-color:var(--accent);background:var(--accent-glow);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.calendar-cell.empty{border-color:transparent;cursor:default}.calendar-cell.empty:hover{background:transparent;transform:none;box-shadow:none}.calendar-cell .day-number{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.calendar-cell.today{border-color:var(--accent);background:var(--accent-glow)}.calendar-cell.today .day-number{background:var(--accent);color:var(--bg-primary);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.calendar-event{font-size:.62rem;padding:2px 5px;border-radius:3px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;font-weight:500}.weekly-grid{display:grid;grid-template-columns:60px repeat(7,1fr);gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.weekly-grid-header{background:var(--bg-secondary);padding:12px 10px;text-align:center;font-size:.72rem;font-weight:600;border-bottom:1px solid var(--border);border-right:1px solid var(--border);letter-spacing:.03em}.weekly-grid-hour{padding:8px;font-size:.65rem;color:var(--text-muted);text-align:right;border-bottom:1px solid var(--border);border-right:1px solid var(--border);height:40px;font-weight:500;letter-spacing:.05em}.weekly-grid-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);height:40px;cursor:pointer;transition:background var(--transition);position:relative}.weekly-grid-cell:hover{background:var(--accent-glow)}.google-event{transition:opacity var(--transition),transform .15s ease}.google-event:hover{opacity:1!important;transform:scale(1.01)}.weekly-event-block{position:absolute;left:2px;right:2px;border-radius:4px;padding:3px 6px;font-size:.62rem;color:#fff;z-index:1;overflow:hidden;cursor:pointer;font-weight:500;transition:transform var(--transition),box-shadow var(--transition)}.weekly-event-block:hover{transform:scale(1.02);box-shadow:0 2px 8px #0000004d}.wheel-container{display:flex;justify-content:center;padding:24px}.range-slider{display:flex;align-items:center;gap:14px;padding:10px 0}.range-slider label{min-width:160px;font-size:.85rem;font-weight:500}.range-slider input[type=range]{flex:1;-webkit-appearance:none;height:4px;background:var(--border);border-radius:2px;border:none;padding:0;transition:background var(--transition)}.range-slider input[type=range]:hover{background:var(--border-light)}.range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 8px #d4a24e4d;transition:transform var(--transition),box-shadow var(--transition)}.range-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 16px #d4a24e80}.range-slider .score{min-width:32px;text-align:center;font-weight:700;color:var(--accent-light);font-family:var(--font-display);font-size:1.1rem}.reflection-field{margin-bottom:24px}.reflection-field label{display:block;font-weight:600;margin-bottom:10px;color:var(--text-secondary);font-size:.85rem;letter-spacing:.02em}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease forwards}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;min-width:420px;max-width:520px;box-shadow:var(--shadow),var(--shadow-glow);animation:fadeInScale .3s cubic-bezier(.4,0,.2,1) forwards}.modal h3{font-family:var(--font-display);font-size:1.4rem;font-weight:400;margin-bottom:24px;letter-spacing:.01em}.modal .form-group{margin-bottom:18px}.modal .form-group label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}.modal .form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:28px}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center;box-shadow:var(--shadow-sm);transition:all var(--transition)}.summary-card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:var(--shadow-sm),var(--shadow-glow)}.summary-card .value{font-size:2rem;font-weight:400;font-family:var(--font-display);letter-spacing:-.02em}.summary-card .label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-top:6px;font-weight:500}.loading-spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.chat-fab{position:fixed;bottom:28px;right:28px;width:52px;height:52px;border-radius:50%;background:var(--accent);border:none;color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:900;box-shadow:0 4px 20px #d4a24e59;transition:all var(--transition)}.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px #d4a24e80}.chat-fab:active{transform:scale(.95)}.chat-panel{position:fixed;bottom:92px;right:28px;width:380px;height:520px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);z-index:900;display:flex;flex-direction:column;overflow:hidden;animation:chatSlideUp .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes chatSlideUp{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--bg-card)}.chat-header-title{font-family:var(--font-display);font-size:1.1rem;font-weight:500}.chat-header-sub{font-size:.62rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-top:2px}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px}.chat-empty-icon{color:var(--border-light)}.chat-empty-title{font-family:var(--font-display);font-size:1.15rem;color:var(--text-secondary)}.chat-empty-examples{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:8px}.chat-empty-examples button{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-secondary);font-size:.75rem;font-family:var(--font-sans);cursor:pointer;text-align:left;transition:all var(--transition)}.chat-empty-examples button:hover{border-color:var(--accent);color:var(--text-primary);background:var(--accent-glow)}.chat-msg{display:flex;flex-direction:column;max-width:88%}.chat-msg.user{align-self:flex-end;align-items:flex-end}.chat-msg.assistant{align-self:flex-start;align-items:flex-start}.chat-msg-bubble{padding:10px 14px;border-radius:14px;font-size:.82rem;line-height:1.55;word-wrap:break-word;white-space:pre-wrap}.chat-msg.user .chat-msg-bubble{background:var(--accent);color:var(--bg-primary);border-bottom-right-radius:4px;font-weight:500}.chat-msg.assistant .chat-msg-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px}.chat-msg-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.chat-action-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#7ec77b1a;border:1px solid rgba(126,199,123,.2);border-radius:12px;font-size:.6rem;color:var(--success);font-weight:600;letter-spacing:.02em}.chat-typing{display:flex;gap:4px;padding:12px 18px!important}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:chatTyping 1.2s infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chatTyping{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-input-area{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;background:var(--bg-card)}.chat-input-area input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:20px;padding:9px 16px;font-size:.82rem;color:var(--text-primary);font-family:var(--font-sans);transition:border-color var(--transition)}.chat-input-area input:focus{outline:none;border-color:var(--accent);box-shadow:none}.chat-send-btn{width:38px;height:38px;border-radius:50%;background:var(--accent);border:none;color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}.chat-send-btn:hover:not(:disabled){background:var(--accent-light)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.mobile-menu-btn,.sidebar-overlay{display:none}@media (max-width: 1024px){.sidebar{width:230px}.sidebar.sidebar-collapsed{width:68px}.main-content{margin-left:230px;max-width:calc(100vw - 230px);padding:28px}.sidebar-is-collapsed .main-content{margin-left:68px;max-width:calc(100vw - 68px)}.grid-4{grid-template-columns:repeat(2,1fr)}.finance-boards{grid-template-columns:1fr}}@media (max-width: 768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center;position:fixed;top:12px;left:12px;z-index:101;width:42px;height:42px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm)}.mobile-menu-btn:active{background:var(--accent-glow);border-color:var(--accent)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:199;animation:fadeIn .2s ease forwards}.sidebar{width:280px;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:200}.sidebar.sidebar-collapsed{width:280px;padding:28px 18px}.sidebar.sidebar-collapsed .sidebar-header h1{width:auto;height:auto;background:none;border-radius:0;border:none;display:block;font-size:1.7rem;overflow:hidden;text-overflow:ellipsis}.sidebar.sidebar-collapsed .sidebar-header p{display:block}.sidebar.sidebar-collapsed .nav-section-title{opacity:1;height:auto;margin-bottom:8px;padding:0 14px}.sidebar.sidebar-collapsed .nav-item{justify-content:flex-start;padding:10px 14px;gap:12px}.sidebar.sidebar-collapsed .nav-item span{display:inline}.sidebar.sidebar-mobile-open{transform:translate(0)}.sidebar-toggle{display:none}.main-content{margin-left:0!important;max-width:100vw!important;padding:60px 16px 24px}.page-header h2{font-size:1.6rem}.page-header p{font-size:.82rem}.page-header{margin-bottom:24px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:14px}.card{padding:20px}.card-header{margin-bottom:18px;flex-wrap:wrap;gap:10px}.card-title{font-size:1.25rem}.btn{padding:11px 18px;font-size:.82rem;min-height:42px}.btn-sm{padding:8px 14px;font-size:.75rem;min-height:36px}.btn-icon{padding:10px;min-width:38px;min-height:38px}input,textarea,select{padding:12px 14px;font-size:.9rem;min-height:44px}.modal-overlay{align-items:flex-end}.modal{min-width:auto;max-width:100vw;width:100%;margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:28px 20px;max-height:90vh;overflow-y:auto;animation:mobileModalSlideUp .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes mobileModalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal .form-actions{flex-direction:column}.modal .form-actions .btn{width:100%;justify-content:center}.agenda-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.agenda-tabs::-webkit-scrollbar{display:none}.agenda-tab{flex-shrink:0;padding:10px 14px}.calendar-grid{gap:2px}.calendar-header-cell{padding:6px 2px;font-size:.58rem;letter-spacing:1px}.calendar-cell{min-height:52px;padding:4px}.calendar-cell .day-number{font-size:.68rem}.calendar-event{font-size:.5rem;padding:1px 3px}.weekly-grid{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:600px}.weekly-grid-wrapper,.agenda-content{overflow-x:auto;-webkit-overflow-scrolling:touch}.finance-boards{grid-template-columns:1fr}.finance-balance-bar{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.finance-balance-divider{width:100%;height:1px;margin:0}.finance-balance-value{font-size:1.3rem}.finance-item,.finance-recurring-item{padding:10px 14px}.finance-board-total-value{font-size:1.4rem}.finance-filters{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px}.finance-filters::-webkit-scrollbar{display:none}.month-nav{gap:8px}.month-nav h3{font-size:1.1rem;min-width:140px}.summary-card{padding:18px}.summary-card .value{font-size:1.6rem}.range-slider{flex-wrap:wrap;gap:8px}.range-slider label{min-width:120px;font-size:.8rem}.wheel-container{padding:12px 0}.wheel-container svg{max-width:100%;height:auto}.tag{font-size:.6rem;padding:3px 10px}.flex-between{flex-wrap:wrap;gap:10px}.lined-page,.dotted-page{padding:16px;min-height:350px}.lined-page textarea,.dotted-page textarea{min-height:350px;font-size:.85rem}.chat-fab{bottom:16px;right:16px;width:48px;height:48px}.chat-panel{bottom:0;right:0;left:0;width:100%;height:100%;max-height:100vh;border-radius:0;animation:chatSlideUp .3s cubic-bezier(.4,0,.2,1) forwards}.finance-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.finance-table th,.finance-table td{padding:10px 12px;font-size:.8rem;white-space:nowrap}.checkbox-item{padding:10px 0}.checkbox-item input[type=checkbox],.habit-check{width:22px;height:22px}.paid-toggle{padding:5px 10px;font-size:.65rem}}@media (max-width: 480px){.main-content{padding:56px 12px 20px}.page-header h2{font-size:1.35rem}.card{padding:16px}.modal{padding:24px 16px}.calendar-cell{min-height:44px;padding:3px}.calendar-cell .day-number{font-size:.6rem}.calendar-event{font-size:0;width:6px;height:6px;border-radius:50%;padding:0;margin:1px auto}.finance-balance-value{font-size:1.1rem}.summary-card .value{font-size:1.3rem}}.calendar-event.google-event{border-left:2px solid rgba(255,255,255,.4);font-style:italic}.calendar-cell.today{box-shadow:inset 0 0 0 1px var(--accent),0 0 12px #d4a24e26}.habit-check{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;transition:transform .15s ease}.habit-check:checked{animation:habitPop .3s ease}@keyframes habitPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.daily-hour-slot{cursor:pointer;transition:background .15s ease}.daily-hour-slot:hover{background:var(--accent-glow)}.notes-layout{display:flex;gap:18px;height:calc(100vh - 80px)}.notes-sidebar{width:270px;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow-y:auto;display:flex;flex-direction:column}.notes-main{flex:1;min-width:0;overflow-y:auto;position:relative}.notes-tree-toggle{display:none}.pt{display:flex;flex-direction:column}.pt-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;font-size:.66rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);font-weight:600;position:sticky;top:0;background:var(--bg-card);z-index:2}.pt-add-root,.pt-row .pt-actions button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:2px 5px;border-radius:var(--radius-sm);transition:all var(--transition)}.pt-add-root:hover{background:var(--bg-card-hover);color:var(--accent)}.pt-list{padding:0 6px 12px}.pt-empty{color:var(--text-muted);font-size:.78rem;padding:8px 12px}.pt-row{display:flex;align-items:center;gap:4px;padding:5px 6px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);font-size:.86rem;color:var(--text-secondary)}.pt-row:hover{background:var(--bg-card-hover)}.pt-row.active{background:var(--accent-glow);color:var(--text-primary)}.pt-caret{background:none;border:none;color:var(--text-muted);cursor:pointer;width:16px;font-size:.7rem;flex-shrink:0;padding:0}.pt-caret.empty{opacity:.3;cursor:default}.pt-icon{flex-shrink:0;font-size:.95rem}.pt-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-actions{display:none;gap:2px;flex-shrink:0}.pt-row:hover .pt-actions{display:flex}.pt-row .pt-actions button:hover{background:var(--bg-input);color:var(--accent)}.notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted);gap:10px}.notes-empty-icon{font-size:3rem;opacity:.5}.notes-empty h3{font-family:var(--font-display);font-weight:400;font-size:1.5rem;color:var(--text-primary)}.notes-doc{max-width:760px;margin:0 auto;padding:10px 20px 80px}.notes-doc-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.notes-icon-wrap{position:relative}.notes-doc-icon{font-size:2.4rem;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);padding:4px;line-height:1;transition:background var(--transition)}.notes-doc-icon:hover{background:var(--bg-card-hover)}.notes-icon-picker{position:absolute;top:100%;left:0;z-index:30;margin-top:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px;display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.notes-icon-picker button{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:6px;border-radius:var(--radius-sm)}.notes-icon-picker button:hover{background:var(--bg-card-hover)}.notes-doc-title{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-family:var(--font-display);font-size:2.4rem;font-weight:500;letter-spacing:-.01em}.notes-doc-title::placeholder{color:var(--text-muted);opacity:.5}.ne-editor{font-size:1rem;line-height:1.6}.ne-block{display:flex;align-items:flex-start;gap:4px;position:relative;padding:1px 0}.ne-handle{position:absolute;left:-22px;top:3px;opacity:0;background:none;border:none;color:var(--text-muted);cursor:grab;font-size:.7rem;padding:2px;border-radius:var(--radius-sm);transition:opacity .15s ease}.ne-block:hover .ne-handle{opacity:.6}.ne-handle:hover{opacity:1!important;background:var(--bg-card-hover)}.ne-text{flex:1;outline:none;min-height:1.5em;color:var(--text-primary);word-break:break-word;white-space:pre-wrap}.ne-text:empty:before{content:attr(data-placeholder);color:var(--text-muted);opacity:.5;pointer-events:none}.ne-h1{font-family:var(--font-display);font-size:2rem;font-weight:600;margin:14px 0 2px}.ne-h2{font-family:var(--font-display);font-size:1.55rem;font-weight:600;margin:12px 0 2px}.ne-h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:10px 0 2px}.ne-quote{border-left:3px solid var(--accent);padding-left:14px;color:var(--text-secondary);font-style:italic}.ne-code{font-family:SF Mono,Consolas,monospace;font-size:.85rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;white-space:pre-wrap}.ne-marker{color:var(--text-secondary);padding-top:0;min-width:18px;-webkit-user-select:none;user-select:none}.ne-marker.ne-num{font-variant-numeric:tabular-nums;font-size:.95rem}.ne-check{width:18px;height:18px;margin-top:3px;flex-shrink:0;border:1.5px solid var(--border-light);border-radius:4px;background:var(--bg-input);cursor:pointer;color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center;line-height:1}.ne-check.checked{background:var(--accent);border-color:var(--accent)}.ne-done .ne-text{text-decoration:line-through;color:var(--text-muted)}.ne-block-divider{padding:8px 0}.ne-block-divider hr{flex:1;border:none;border-top:1px solid var(--border-light)}.ne-add{color:var(--text-muted);font-size:.85rem;padding:6px 0;cursor:text;opacity:.5}.ne-add:hover{opacity:1}.ne-popover{position:fixed;z-index:50;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px;min-width:230px;max-height:320px;overflow-y:auto}.ne-popover-title{font-size:.62rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:6px 8px 4px}.ne-popover-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:7px 8px;border-radius:var(--radius-sm);font-size:.85rem}.ne-popover-item:hover{background:var(--bg-card-hover)}.ne-popover-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.72rem;flex-shrink:0}.ne-popover-label{font-weight:500}.ne-popover-hint{color:var(--text-muted);font-size:.72rem;margin-left:auto}.ne-popover-sep{height:1px;background:var(--border);margin:4px 0}.ne-popover-item.ne-danger{color:var(--danger)}.projects-layout{display:flex;gap:18px;height:calc(100vh - 80px)}.pj-rail{width:240px;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.pj-rail-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 10px;font-size:.66rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);font-weight:600}.pj-rail-head button{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}.pj-rail-head button:hover{background:var(--bg-card-hover);color:var(--accent)}.pj-rail-list{flex:1;overflow-y:auto;padding:0 8px 12px}.pj-rail-empty{color:var(--text-muted);font-size:.78rem;padding:10px 12px}.pj-rail-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);margin-bottom:2px}.pj-rail-item:hover{background:var(--bg-card-hover)}.pj-rail-item.active{background:var(--accent-glow)}.pj-rail-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}.pj-rail-name{flex:1;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-rail-key{font-size:.62rem;font-weight:700;letter-spacing:.5px}.pj-rail-actions{display:none;gap:1px}.pj-rail-item:hover .pj-rail-actions{display:flex}.pj-rail-actions button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.78rem;padding:2px 4px;border-radius:4px}.pj-rail-actions button:hover{background:var(--bg-input);color:var(--accent)}.pj-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.pj-empty,.pj-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted);gap:10px}.pj-empty-icon{font-size:3rem;opacity:.5}.pj-empty h3{font-family:var(--font-display);font-weight:400;font-size:1.5rem;color:var(--text-primary)}.pj-empty p{max-width:380px}.pj-empty-view{color:var(--text-muted);padding:40px;text-align:center}.pj-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.pj-header-title{display:flex;gap:12px;align-items:center}.pj-header-icon{width:42px;height:42px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.pj-header-title h2{font-family:var(--font-display);font-weight:500;font-size:1.7rem}.pj-header-title p{color:var(--text-muted);font-size:.82rem}.pj-tabs{display:flex;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:3px}.pj-tabs button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:7px 16px;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;transition:all var(--transition)}.pj-tabs button:hover{color:var(--text-primary)}.pj-tabs button.active{background:var(--accent);color:#1a1410}.pj-filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.pj-filters select,.pj-search{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:7px 10px;font-size:.8rem;outline:none}.pj-search{min-width:200px}.pj-clear{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.8rem}.pj-view{flex:1;overflow:auto}.kanban{display:flex;gap:14px;align-items:flex-start;height:100%;padding-bottom:8px}.kb-col{width:280px;flex-shrink:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;max-height:100%}.kb-col.drag-over{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.kb-col-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.kb-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.kb-col-name{font-weight:600;font-size:.84rem;flex:1}.kb-count{font-size:.72rem;color:var(--text-muted);background:var(--bg-input);padding:1px 8px;border-radius:10px}.kb-col-menu{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0 4px}.kb-col-menu:hover{color:var(--accent)}.kb-col-body{padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.kb-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 12px;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.kb-card:hover{border-color:var(--border-light);transform:translateY(-1px)}.kb-card.drop-before{box-shadow:-3px 0 0 var(--accent)}.kb-epic{font-size:.68rem;font-weight:600;margin-bottom:4px}.kb-card-title{font-size:.86rem;line-height:1.4;color:var(--text-primary)}.kb-card-labels{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.kb-card-labels span{font-size:.64rem;padding:1px 7px;border-radius:10px;border:1px solid;font-weight:500}.kb-card-foot{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:.7rem;color:var(--text-muted)}.kb-code{font-weight:600;font-variant-numeric:tabular-nums}.kb-pri{font-size:.8rem}.kb-subs{margin-left:auto}.kb-due{color:var(--text-muted)}.kb-due.overdue{color:var(--danger);font-weight:600}.kb-add{background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;padding:8px;border-radius:var(--radius-sm);font-size:.78rem;transition:all var(--transition)}.kb-add:hover{border-color:var(--accent);color:var(--accent)}.kb-new textarea{width:100%;background:var(--bg-card);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-primary);padding:10px;font-size:.84rem;resize:vertical;min-height:56px;outline:none;font-family:inherit}.kb-add-col{width:200px;flex-shrink:0;background:none;border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;padding:14px;border-radius:var(--radius);font-size:.82rem;transition:all var(--transition)}.kb-add-col:hover{border-color:var(--accent);color:var(--accent)}.lv{display:flex;flex-direction:column;gap:16px}.lv-group-head{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.84rem;margin-bottom:6px;padding:0 4px}.lv-group-count{color:var(--text-muted);font-size:.72rem;background:var(--bg-input);padding:1px 8px;border-radius:10px}.lv-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.lv-table tr{border-bottom:1px solid var(--border)}.lv-table tr:last-child{border-bottom:none}.lv-table td{padding:8px 10px;font-size:.82rem;vertical-align:middle}.lv-code{font-weight:600;color:var(--text-muted);white-space:nowrap;font-size:.74rem;font-variant-numeric:tabular-nums}.lv-title{cursor:pointer;color:var(--text-primary);width:40%}.lv-title:hover{color:var(--accent)}.lv-subs{color:var(--text-muted);font-size:.72rem;margin-left:8px}.lv-sel,.lv-date{background:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);padding:4px 6px;font-size:.78rem;outline:none;cursor:pointer;max-width:100%}.lv-sel:hover,.lv-date:hover{border-color:var(--border)}.lv-overdue{color:var(--danger);font-weight:700;margin-left:4px}.backlog{display:flex;flex-direction:column;gap:14px;max-width:880px}.bk-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.bk-section.drag-over{border-color:var(--accent)}.bk-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.bk-section-title{font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:8px}.bk-section-count{color:var(--text-muted);font-size:.72rem;background:var(--bg-input);padding:1px 8px;border-radius:10px;font-weight:400}.bk-badge{font-size:.62rem;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.bk-planned{background:var(--bg-input);color:var(--text-muted)}.bk-active{background:var(--accent-glow);color:var(--accent)}.bk-completed{background:#7ec77b26;color:var(--success)}.bk-sprint-actions{display:flex;gap:4px}.bk-sprint-actions button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:.72rem;padding:3px 8px;border-radius:var(--radius-sm)}.bk-sprint-actions button:hover{border-color:var(--accent);color:var(--accent)}.bk-rows{display:flex;flex-direction:column;gap:4px;min-height:30px}.bk-empty{color:var(--text-muted);font-size:.78rem;padding:8px;border:1px dashed var(--border);border-radius:var(--radius-sm);text-align:center}.bk-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.bk-row:hover{border-color:var(--border-light)}.bk-code{font-size:.72rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.bk-title{flex:1;font-size:.84rem}.bk-due{font-size:.72rem;color:var(--text-muted)}.bk-new-sprint{display:flex;gap:8px;align-items:center}.bk-new-sprint input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px 10px;outline:none}.bk-add-sprint{align-self:flex-start}.epics{max-width:760px}.ep-new{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.ep-new input{flex:1;min-width:180px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:9px 12px;outline:none}.ep-colors,.pj-color-grid{display:flex;gap:5px}.ep-colors button,.pj-color-grid button{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer}.ep-colors button.sel,.pj-color-grid button.sel{border-color:var(--text-primary)}.ep-list{display:flex;flex-direction:column;gap:10px}.ep-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid;border-radius:var(--radius);padding:14px 16px}.ep-head{display:flex;align-items:center;gap:10px;cursor:pointer}.ep-dot{width:10px;height:10px;border-radius:50%}.ep-name{font-weight:600;flex:1}.ep-frac{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.ep-actions{display:flex;gap:2px}.ep-actions button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.78rem;padding:2px 5px;border-radius:4px}.ep-actions button:hover{background:var(--bg-card-hover);color:var(--accent)}.ep-bar{height:5px;background:var(--bg-input);border-radius:3px;margin-top:10px;overflow:hidden}.ep-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.ep-desc{color:var(--text-secondary);font-size:.82rem;margin-top:8px}.ep-tasks{margin-top:10px;display:flex;flex-direction:column;gap:3px}.ep-empty{color:var(--text-muted);font-size:.78rem}.ep-task{font-size:.82rem;color:var(--text-secondary);padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer}.ep-task span{color:var(--text-muted);font-size:.72rem;font-weight:600;margin-right:6px}.ep-task:hover{background:var(--bg-card-hover)}.ep-task.done{text-decoration:line-through;color:var(--text-muted)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .18s ease forwards}.task-drawer{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:92vw;background:var(--bg-card);border-left:1px solid var(--border);box-shadow:var(--shadow);padding:22px 26px;overflow-y:auto;animation:slideInRight .25s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideInRight{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.td-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.td-code{font-size:.74rem;font-weight:700;border:1px solid;padding:3px 10px;border-radius:var(--radius-sm);letter-spacing:.5px}.td-head-actions{display:flex;gap:6px}.td-head-actions button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;width:30px;height:30px;border-radius:var(--radius-sm)}.td-del:hover{border-color:var(--danger);color:var(--danger)}.td-close:hover{border-color:var(--accent);color:var(--accent)}.td-title{width:100%;background:none;border:none;outline:none;color:var(--text-primary);font-family:var(--font-display);font-size:1.5rem;font-weight:500;margin-bottom:16px}.td-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:18px}.td-prop{display:flex;flex-direction:column;gap:4px}.td-prop span{font-size:.64rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:600}.td-prop select,.td-prop input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:7px 9px;font-size:.82rem;outline:none}.td-section{margin-bottom:18px}.td-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.td-section-head span{font-size:.66rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-weight:600}.td-section-head button{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;width:24px;height:24px;border-radius:var(--radius-sm)}.td-labels{display:flex;flex-wrap:wrap;gap:5px}.td-label{font-size:.7rem;padding:2px 9px;border-radius:10px;border:1px solid;cursor:pointer;font-weight:500}.td-muted{color:var(--text-muted);font-size:.78rem}.td-label-menu{margin-top:8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px}.td-label-menu>button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px 8px;border-radius:4px;font-size:.82rem}.td-label-menu>button:hover,.td-label-menu>button.on{background:var(--bg-card-hover);color:var(--text-primary)}.td-label-menu .dot{width:10px;height:10px;border-radius:50%}.td-label-new{display:flex;gap:6px;margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.td-label-new input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 8px;font-size:.8rem;outline:none}.td-label-new button{background:var(--accent);border:none;color:#1a1410;cursor:pointer;padding:0 12px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600}.td-desc{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.td-desc .ne-handle{display:none}.td-desc .ne-editor{font-size:.9rem}.td-subtasks{display:flex;flex-direction:column;gap:4px}.td-subtask{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--radius-sm);font-size:.84rem}.td-subtask:hover{background:var(--bg-card-hover)}.td-subtask>span{flex:1;cursor:pointer}.td-subtask.done>span{text-decoration:line-through;color:var(--text-muted)}.td-subcode{color:var(--text-muted);font-size:.7rem;font-weight:600}.td-subadd input{width:100%;background:none;border:none;border-bottom:1px dashed var(--border);color:var(--text-primary);padding:7px 6px;outline:none;font-size:.84rem}.td-foot{color:var(--text-muted);font-size:.76rem;border-top:1px solid var(--border);padding-top:12px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.pj-modal{display:flex;flex-direction:column}.pj-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.pj-field>span{font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);font-weight:600}.pj-field input,.pj-field select,.pj-field textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:9px 11px;font-size:.86rem;outline:none;font-family:inherit}.pj-field input:focus,.pj-field select:focus,.pj-field textarea:focus{border-color:var(--accent)}.pj-field small{color:var(--text-muted);font-size:.72rem}.pj-icon-grid{display:flex;flex-wrap:wrap;gap:4px}.pj-icon-grid button{width:34px;height:34px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem}.pj-icon-grid button.sel{border-color:var(--accent);background:var(--accent-glow)}@media (max-width: 900px){.notes-layout,.projects-layout{height:calc(100vh - 70px)}.notes-sidebar,.pj-rail{position:absolute;left:0;top:0;bottom:0;z-index:40;width:250px;transform:translate(-110%);transition:transform .25s ease;box-shadow:var(--shadow)}.notes-sidebar.open{transform:translate(0)}.notes-tree-toggle{display:inline-flex;margin-bottom:12px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);padding:7px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem}.pj-rail{transform:translate(0);position:relative;width:100%;max-height:160px;margin-bottom:12px}.projects-layout{flex-direction:column}.td-grid{grid-template-columns:1fr}}.ne-block-ref{padding:2px 0}.ne-ref{display:inline-flex;align-items:center;gap:7px;background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 11px;color:var(--text-primary);cursor:pointer;font-size:.86rem;transition:all var(--transition);max-width:100%}.ne-ref:hover{border-color:var(--accent);color:var(--accent)}.ne-ref-icon{flex-shrink:0}.ne-ref-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ne-ref-open{font-size:.7rem;color:var(--text-muted);flex-shrink:0}.ne-ref:hover .ne-ref-open{color:var(--accent)}.ne-refpicker{min-width:260px}.ne-ref-search{width:calc(100% - 12px);margin:4px 6px 6px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:7px 9px;font-size:.82rem;outline:none}.ne-ref-search:focus{border-color:var(--accent)}.ne-ref-empty{color:var(--text-muted);font-size:.8rem;padding:8px 10px}.calendar-event.project-task-event{background:var(--bg-card-hover);color:var(--text-primary);border-radius:3px;display:flex;align-items:center;gap:2px;cursor:pointer;overflow:hidden}.calendar-event.project-task-event.done{opacity:.5;text-decoration:line-through}.daily-project-task{display:flex;align-items:center;gap:8px;padding:7px 10px;margin-bottom:5px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition)}.daily-project-task:hover{border-color:var(--accent)}.daily-project-task.done{opacity:.55}.daily-project-task.done .dpt-title{text-decoration:line-through}.dpt-code{font-size:.68rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.dpt-title{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-row{position:relative}.pt-row.drop-inside{background:var(--accent-glow);box-shadow:inset 0 0 0 1px var(--accent)}.pt-row.drop-before:before,.pt-row.drop-after:after{content:"";position:absolute;left:6px;right:6px;height:2px;background:var(--accent);border-radius:2px}.pt-row.drop-before:before{top:-1px}.pt-row.drop-after:after{bottom:-1px}.pt-list.root-over{box-shadow:inset 0 0 0 2px var(--accent-glow);border-radius:var(--radius-sm)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-primary)}.auth-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:var(--shadow)}.auth-brand{text-align:center;margin-bottom:28px}.auth-eyebrow{font-size:.6rem;text-transform:uppercase;letter-spacing:4px;color:var(--text-muted);font-weight:600;margin-bottom:12px}.auth-brand h1{font-family:var(--font-display);font-weight:400;font-size:2rem;margin-bottom:10px}.auth-brand p{color:var(--text-secondary);font-size:.84rem;line-height:1.6}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field span{font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-weight:600}.auth-field input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:11px 13px;font-size:.9rem;font-family:inherit;outline:none;transition:border-color var(--transition)}.auth-field input:focus{border-color:var(--accent)}.auth-error{background:#d45c5c1f;border:1px solid rgba(212,92,92,.35);color:var(--danger);border-radius:var(--radius-sm);padding:9px 12px;font-size:.8rem}.auth-submit{width:100%;margin-top:4px}.auth-switch{margin-top:22px;text-align:center;font-size:.82rem;color:var(--text-muted);display:flex;gap:6px;justify-content:center;align-items:center;flex-wrap:wrap}.auth-switch button{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.82rem;font-weight:600;padding:0}.auth-switch button:hover{text-decoration:underline}.nav-account{display:flex;align-items:center;gap:9px;padding:10px 12px;margin-top:10px;border-top:1px solid var(--border)}.nav-avatar,.settings-avatar,.pj-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;font-weight:700;line-height:1}.nav-avatar{width:30px;height:30px;font-size:.8rem}.nav-account-info{flex:1;min-width:0;display:flex;flex-direction:column}.nav-account-info strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-account-info small{font-size:.68rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-logout{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:5px;border-radius:var(--radius-sm);display:flex;flex-shrink:0}.nav-logout svg{width:16px;height:16px}.nav-logout:hover{background:var(--bg-card-hover);color:var(--danger)}.sidebar-collapsed .nav-account-info{display:none}.sidebar-collapsed .nav-account{justify-content:center;padding:10px 4px}.settings-account{display:flex;align-items:center;gap:12px}.settings-avatar{width:42px;height:42px;font-size:1.05rem}.pj-avatar{border:1px solid var(--border)}.pj-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pj-share-btn{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;padding:7px 14px;font-size:.82rem;font-weight:500;font-family:inherit;transition:all var(--transition)}.pj-share-btn:hover{border-color:var(--accent);color:var(--text-primary)}.pj-members{display:flex;align-items:center}.pj-members .pj-avatar{margin-right:-7px}.pj-members-more{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--bg-input);border:1px solid var(--border);font-size:.6rem;color:var(--text-muted);font-weight:700;margin-right:-7px}.pj-shared-tag{display:inline-block;margin-left:10px;padding:2px 8px;border-radius:20px;vertical-align:middle;background:var(--accent-glow);border:1px solid var(--border-light);color:var(--accent);font-family:var(--font-sans);font-size:.58rem;text-transform:uppercase;letter-spacing:1.2px;font-weight:700}.pj-shared-tag.readonly{background:var(--bg-input);color:var(--text-muted)}.pj-rail-shared{font-size:.72rem;opacity:.7}.pj-share{max-width:480px}.pj-share-hint{color:var(--text-secondary);font-size:.8rem;line-height:1.6;margin-bottom:16px}.pj-share-invite{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.pj-share-invite input{flex:1;min-width:160px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px 11px;font-size:.82rem;font-family:inherit;outline:none}.pj-share-invite input:focus{border-color:var(--accent)}.pj-share-invite select{width:auto;flex-shrink:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);padding:8px 10px;font-size:.8rem;font-family:inherit;outline:none}.pj-share-error{color:var(--danger);font-size:.8rem;margin-bottom:12px}.pj-share-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.pj-share-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--border)}.pj-share-row:last-child{border-bottom:none}.pj-share-who{flex:1;min-width:0;display:flex;flex-direction:column}.pj-share-who strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-share-who small{font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-share-role{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.pj-share-row select{width:auto;flex-shrink:0;max-width:150px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:5px 8px;font-size:.75rem;font-family:inherit;outline:none}.pj-share-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 6px;border-radius:4px;font-size:.8rem}.pj-share-remove:hover{background:var(--bg-input);color:var(--danger)}.td-foot-assignee{display:inline-flex;align-items:center;gap:7px}.kb-card-foot .pj-avatar{margin-left:auto}.pj-rail-group+.pj-rail-group{margin-top:14px}.pj-rail-group-title{padding:4px 10px 6px;font-size:.6rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--text-muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-share-team{padding:2px 7px;border-radius:20px;white-space:nowrap;background:var(--accent-glow);border:1px solid var(--border-light);color:var(--accent);font-size:.56rem;text-transform:uppercase;letter-spacing:1px;font-weight:700}.pj-check{flex-direction:row;align-items:flex-start;gap:10px;cursor:pointer}.pj-check input{width:auto;margin-top:3px;flex-shrink:0;accent-color:var(--accent)}.pj-check span{display:flex;flex-direction:column;gap:3px;font-size:.84rem;color:var(--text-primary)}.pj-check small{color:var(--text-muted);font-size:.74rem;line-height:1.5}
