:root{--font:"Inter",system-ui,sans-serif;--bg:#f3f4f6;--white:#fff;--primary:#0584f6;--primary-soft:#6366f1;--primary-bg:#eef2ff;--text:#0f172a;--text-soft:#6b7280;--border:#e5e7eb;--radius:14px;--shadow:0 6px 20px #0000000f}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text)}.page{width:calc(100% - 240px);margin-left:240px;padding:32px}.page-title{margin-bottom:20px;font-size:1.8rem;font-weight:600}.sidebar{background:var(--white);border-right:1px solid var(--border);flex-direction:column;gap:24px;width:240px;height:100vh;padding:28px 20px;display:flex;position:fixed;top:0;left:0}.sidebar-logo{width:160px;margin:0 auto 10px}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.sidebar-link{border-radius:var(--radius);color:var(--text-soft);padding:10px 14px;font-size:.95rem;text-decoration:none;transition:all .18s}.sidebar-link:hover{background:var(--primary-bg);color:var(--primary)}.sidebar-link.active{background:var(--primary);color:#fff}.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:24px;padding:20px}label{color:var(--text-soft);margin-bottom:5px;font-size:.85rem;display:block}input,textarea,select{border-radius:var(--radius);border:1px solid var(--border);width:100%;font-family:var(--font);background:#fff;outline:none;padding:10px 12px;font-size:.95rem;transition:all .15s}input:focus,textarea:focus,select:focus{border-color:var(--primary-soft);box-shadow:0 0 0 2px var(--primary-bg)}button{border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;border:none;padding:10px 18px;font-weight:500;transition:all .15s}button:hover{background:var(--primary-soft)}.btn-secondary{color:var(--text-soft);border:1px solid var(--border);background:#f8f8f8}.btn-secondary:hover{background:#eee}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;color:var(--text-soft);background:#fafafa;padding:10px}td{border-top:1px solid var(--border);padding:10px}body.login-page{color:#fff;background:#090727;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border-radius:18px;width:380px;padding:32px;box-shadow:0 0 40px #0006}.login-box img{width:200px;margin:0 auto 20px;display:block}.login-box label{color:#ddd!important}.login-box input{color:#fff!important;background:#ffffff1a!important}.todo-section h3{margin-bottom:10px;font-size:1.1rem;font-weight:600}.todo-list{margin:0;padding:0;list-style:none}.todo-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:10px 0;transition:all .15s;display:flex}.todo-item:last-child{border-bottom:none}.todo-checkbox{border:2px solid var(--primary);cursor:pointer;border-radius:50%;flex-shrink:0;width:20px;height:20px;position:relative}.todo-checkbox.checked{background:var(--primary);border-color:var(--primary)}.todo-checkbox.checked:after{content:"✓";color:#fff;font-size:.8rem;position:absolute;top:1px;left:4px}.todo-text.checked{color:var(--text-soft);text-decoration:line-through}.add-task-form{flex-direction:column;gap:16px;display:flex}.two-cols{gap:12px;display:flex}.two-cols>div{flex:1}.page-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.generated-link-box{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);margin-top:20px;padding:16px}.copy-btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;width:100%;margin-top:10px;padding:10px}.cert-page{background:#e5ecf5;padding:40px}.cert{width:700px;box-shadow:var(--shadow);background:#fff;border-radius:16px;margin:auto;padding:40px 50px}.cert .logo{width:160px;margin:0 auto 20px;display:block}.cert h1,.cert h2{text-align:center}.cert h1{margin-top:10px}.cert h2{margin-top:40px;margin-bottom:10px}.cert p{margin-bottom:16px;line-height:1.6}.cert .section{margin-top:30px}.cert .footer{text-align:center;color:var(--text-soft);margin-top:40px;font-size:.9rem}.download-btn{background:var(--primary);color:#fff;border-radius:var(--radius);text-align:center;margin-top:25px;padding:12px 18px;text-decoration:none;display:inline-block}.action-icons{gap:12px;display:flex}.icon-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;padding:6px;transition:all .15s;display:flex}.icon-btn svg{width:16px;height:16px}.icon-btn.edit svg{stroke:var(--primary)}.icon-btn.edit:hover{background:var(--primary-bg)}.icon-btn.delete svg{stroke:#d11a2a}.icon-btn.delete:hover{background:#ffe6e6}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#00000073;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal{border-radius:var(--radius);width:450px;box-shadow:var(--shadow);background:#fff;padding:28px;animation:.2s fadeIn;position:relative}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-close{cursor:pointer;color:var(--text-soft);background:0 0;border:none;font-size:1.6rem;position:absolute;top:16px;right:20px}.modal h2{margin-bottom:20px;font-size:1.4rem}
