.card{background:#fff;border:1px solid var(--tmc-silver-light);border-radius:var(--radius-card);padding:22px;box-shadow:var(--shadow-card)}.card-dark{background:var(--tmc-black);color:#fff;border-color:#252525}.card-dark .muted{color:#9CA3AF}.focus-card{padding:28px;position:relative;overflow:hidden}.focus-card::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-100px;background:radial-gradient(circle,rgba(167,245,54,.2),transparent 68%)}.focus-top{display:flex;justify-content:space-between;gap:16px}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:rgba(167,245,54,.14);color:#050505;font-size:.75rem;font-weight:700}.card-dark .status-pill{color:var(--tmc-accent)}.progress{height:10px;background:#E8EAED;border-radius:999px;overflow:hidden}.card-dark .progress{background:#252525}.progress>span{display:block;height:100%;background:var(--tmc-accent);border-radius:inherit}.progress-meta{display:flex;justify-content:space-between;font-size:.78rem;color:var(--tmc-muted);margin-top:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-button);padding:12px 17px;font-weight:700;text-decoration:none;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--tmc-accent);color:#050505}.btn-dark{background:var(--tmc-black);color:#fff}.btn-outline{background:transparent;border:1px solid var(--tmc-silver);color:var(--tmc-text)}.btn-danger{background:var(--tmc-danger);color:#fff}.btn-sm{padding:8px 11px;font-size:.8rem;border-radius:9px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:600;margin-bottom:7px}.input,.select,.textarea{width:100%;border:1px solid #D9DDE2;border-radius:12px;background:#fff;padding:12px 13px;color:#171717;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#A7F536;box-shadow:0 0 0 3px rgba(167,245,54,.18)}.textarea{min-height:120px;resize:vertical}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice{display:block;border:1px solid #E0E3E7;border-radius:14px;padding:15px;cursor:pointer}.choice:has(input:checked){border-color:var(--tmc-accent);box-shadow:0 0 0 3px rgba(167,245,54,.16)}.choice input{margin-right:8px}.alert{padding:13px 15px;border-radius:12px;margin-bottom:16px}.alert-success{background:#E9F8F1;color:#176B49}.alert-error{background:#FDECEC;color:#8F2424}.alert-warning{background:#FFF4DF;color:#7A4B00}.alert-info{background:#EDF3FF;color:#284B8E}.metric{font-family:var(--font-heading);font-size:2rem;font-weight:700}.mini-card{min-height:148px}.mini-icon{width:42px;height:42px;border-radius:12px;background:#F0F2F4;display:grid;place-items:center;margin-bottom:16px}.mini-icon svg{width:20px}.card-dark .mini-icon{background:#202225;color:var(--tmc-accent)}.notification-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #ECEEF0}.notification-item:last-child{border:0}.notification-dot{width:9px;height:9px;border-radius:50%;background:var(--tmc-accent);margin-top:8px;flex:none}.notification-item.is-read .notification-dot{background:#D7D9DC}.tag{display:inline-flex;padding:4px 8px;border-radius:8px;background:#F0F1F3;font-size:.72rem;font-weight:700}.tag-green{background:rgba(167,245,54,.2);color:#3d6000}.tag-red{background:#FBE4E4;color:#9B2929}.tag-black{background:#050505;color:#fff}.task-list{display:flex;flex-direction:column;gap:10px}.task{border:1px solid #E2E5E8;border-radius:14px;padding:15px;display:flex;gap:12px;align-items:flex-start}.task.is-complete{background:#F7FDEB;border-color:#CBEA8A}.task-check{width:23px;height:23px;border-radius:7px;border:2px solid #CDD1D5;display:grid;place-items:center;flex:none}.task.is-complete .task-check{background:var(--tmc-accent);border-color:var(--tmc-accent)}.day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.day-card{text-decoration:none;position:relative}.day-card .day-num{font-family:var(--font-heading);font-size:2.2rem;color:#D2D6DA}.day-card.current{border-color:var(--tmc-accent);box-shadow:0 0 0 3px rgba(167,245,54,.14)}.day-card.current .day-num{color:var(--tmc-accent)}.table-wrap{overflow:auto;border:1px solid #E3E6E9;border-radius:14px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:13px 14px;text-align:left;border-bottom:1px solid #ECEEF0;white-space:nowrap}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#69717A;background:#F7F8F9}.auth-body{background:#050505}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-brand{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#182107 0,#050505 38%,#000 80%);color:#fff;padding:50px}.auth-brand-inner{text-align:center}.auth-brand img{width:min(360px,70vw);margin:0 auto 26px}.auth-brand h1{letter-spacing:.16em;font-size:clamp(2rem,4vw,3.2rem)}.auth-brand p{color:#C8CCD2}.auth-panel{display:grid;place-items:center;background:#F5F6F7;padding:30px}.auth-card{width:min(470px,100%);background:#fff;border:1px solid #E4E6E9;border-radius:20px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.15)}.auth-card h2{font-size:2rem}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.84rem}.brand-lockup{display:flex;align-items:center;gap:10px;margin-bottom:22px}.brand-lockup img{width:44px}.brand-lockup strong{font-family:var(--font-heading);letter-spacing:.08em}.onboarding-progress{display:flex;gap:7px;margin-bottom:24px}.onboarding-progress span{height:7px;flex:1;background:#E5E7EB;border-radius:999px}.onboarding-progress span.done{background:var(--tmc-accent)}.empty-state{text-align:center;padding:35px 20px}.empty-state svg{width:40px;height:40px;color:#ADB3BA;margin-bottom:12px}.security-lock{padding:12px;border:1px dashed #C8CCD2;border-radius:12px;color:#6B7280}.qr-box{display:grid;place-items:center;padding:20px;background:#fff;border:1px solid #E4E6E9;border-radius:16px;min-height:240px}.code-secret{font-family:monospace;background:#F0F2F4;padding:10px;border-radius:10px;word-break:break-all}.requirement-list{display:flex;flex-direction:column;gap:10px}.requirement{display:flex;gap:10px;align-items:center}.requirement .icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#ECEEF0}.requirement.done .icon{background:var(--tmc-accent);color:#050505}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.section-number{width:32px;height:32px;border-radius:10px;background:#050505;color:#A7F536;display:grid;place-items:center;font-weight:800}