@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700&family=Fredoka:wght@400;500;600&display=swap";:root{font-family:"Baloo 2",Fredoka,Trebuchet MS,Segoe UI,Arial,sans-serif;line-height:1.6;font-weight:400;color:#f3f7fb;background-color:#06080c;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-display: "Fredoka", "Baloo 2", "Trebuchet MS", "Segoe UI", Arial, sans-serif;--color-primary: #00b7ca;--color-secondary: #f97501;--color-accent-gold: #fba808;--color-accent-orange-red: #fc5600;--color-accent-green: #689f0c;--color-accent-green-dark: #2b6a0f;--color-wood: #7e3102;--color-wood-dark: #4b1a01;--color-cream: #fdedcb;--color-bg: #07090d;--color-surface: #111620;--color-text: #f3f7fb;--color-text-muted: #b9c6d6;--color-border: rgba(148, 163, 184, .2);--chart-1: #00b7ca;--chart-2: #f97501;--chart-3: #fba808;--chart-4: #fc5600;--chart-5: #689f0c;--chart-6: #2b6a0f;--chart-7: #8c52ff;--chart-8: #e83e8c;--chart-9: #2f80ed;--chart-10: #9b5e2e;--chart-1-soft: rgba(0, 183, 202, .75);--chart-2-soft: rgba(249, 117, 1, .75);--chart-3-soft: rgba(251, 168, 8, .75);--chart-4-soft: rgba(252, 86, 0, .75);--chart-5-soft: rgba(104, 159, 12, .75);--chart-6-soft: rgba(43, 106, 15, .75);--chart-7-soft: rgba(140, 82, 255, .75);--chart-8-soft: rgba(232, 62, 140, .75);--chart-9-soft: rgba(47, 128, 237, .75);--chart-10-soft: rgba(155, 94, 46, .75);--tt-teal: var(--color-primary);--tt-teal-dark: var(--color-primary);--tt-teal-light: var(--color-primary);--tt-orange: var(--color-secondary);--tt-orange-dark: var(--color-accent-orange-red);--tt-orange-light: var(--color-accent-gold);--tt-ink: var(--color-text);--tt-slate: var(--color-text-muted);--tt-bg: var(--color-bg);--tt-surface: var(--color-surface);--tt-surface-2: #171c26;--tt-border: var(--color-border);--tt-shadow: 0 18px 40px rgba(4, 8, 16, .45);--tt-body-bg: radial-gradient(circle at top right, rgba(0, 183, 202, .2), transparent 45%), radial-gradient(circle at 18% 18%, rgba(249, 117, 1, .2), transparent 35%), radial-gradient(circle at 80% 85%, rgba(251, 168, 8, .16), transparent 42%), linear-gradient(160deg, #07090d 0%, #0c121a 50%, #1a0f0a 100%)}[data-theme=light]{color:#0f172a;background-color:#f8fafc;--color-primary: #00b7ca;--color-secondary: #f97501;--color-accent-gold: #fba808;--color-accent-orange-red: #fc5600;--color-accent-green: #689f0c;--color-accent-green-dark: #2b6a0f;--color-wood: #7e3102;--color-wood-dark: #4b1a01;--color-cream: #fdedcb;--color-bg: #fff9f2;--color-surface: #ffffff;--color-text: #2a1a12;--color-text-muted: #6b5a50;--color-border: #e8d9cc;--chart-1: #00b7ca;--chart-2: #f97501;--chart-3: #689f0c;--chart-4: #8c52ff;--chart-5: #fba808;--chart-6: #2b6a0f;--chart-7: #fc5600;--chart-8: #e83e8c;--chart-9: #2f80ed;--chart-10: #9b5e2e;--tt-teal: var(--color-primary);--tt-teal-dark: var(--color-primary);--tt-teal-light: var(--color-primary);--tt-orange: var(--color-secondary);--tt-orange-dark: var(--color-accent-orange-red);--tt-orange-light: var(--color-accent-gold);--tt-ink: var(--color-text);--tt-slate: var(--color-text-muted);--tt-bg: var(--color-bg);--tt-surface: var(--color-surface);--tt-surface-2: #fff3e6;--tt-border: var(--color-border);--tt-shadow: 0 14px 30px rgba(42, 26, 18, .12);--tt-body-bg: radial-gradient(circle at top right, rgba(0, 183, 202, .18), transparent 45%), radial-gradient(circle at 20% 20%, rgba(249, 117, 1, .2), transparent 35%), linear-gradient(135deg, #fff9f2 0%, #fff2e1 50%, #fdeccb 100%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--tt-body-bg);color:var(--tt-ink)}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0}p{margin:0}button,input,select,textarea{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.btn-flash{animation:btn-flash-fade 1.2s cubic-bezier(.4,0,.6,1) infinite alternate;box-shadow:0 0 #00b4c82e,0 2px 8px #00b4c81a}@keyframes btn-flash-fade{0%{box-shadow:0 0 #00b4c82e,0 2px 8px #00b4c81a;filter:brightness(1.08)}to{box-shadow:0 0 0 8px #00b4c81a,0 2px 16px #00b4c82e;filter:brightness(1.22)}}.app-shell{min-height:100vh;display:flex;flex-direction:column;gap:2.5rem;padding:1.75rem clamp(1.25rem,3vw,3.75rem) 3.25rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;position:relative;z-index:30}.app-nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:flex-end;flex:1}.nav-links{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.nav-spacer{flex:1;min-width:1rem}.nav-dropdown{position:relative}.nav-dropdown--disabled{opacity:.58}.nav-dropdown--disabled[open] .nav-dropdown__trigger{color:var(--tt-slate);background:#00b4c814}.nav-dropdown[open] .nav-dropdown__trigger{color:var(--tt-ink);background:#00b4c81f}.nav-dropdown__trigger{display:inline-flex;align-items:center;gap:.4rem;list-style:none;cursor:pointer}.nav-dropdown__trigger:after{content:"";display:inline-block;width:0;height:0;margin-left:.2rem;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.7}.nav-dropdown__trigger--disabled{cursor:not-allowed;color:var(--tt-slate)}.nav-dropdown__trigger::-webkit-details-marker{display:none}.nav-dropdown__menu{position:absolute;top:calc(100% + .55rem);right:0;min-width:190px;display:grid;gap:.35rem;padding:.5rem;border-radius:16px;border:1px solid var(--tt-border);background:var(--tt-surface);box-shadow:var(--tt-shadow);z-index:40}.nav-dropdown__item,.nav-dropdown__link,.nav-dropdown__label{display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:12px;font-size:.92rem}.nav-dropdown__item,.nav-dropdown__link{background:transparent;border:none;text-align:left;color:var(--tt-ink);cursor:pointer}.nav-dropdown__link--disabled{color:var(--tt-slate);cursor:not-allowed}.nav-dropdown__item:hover,.nav-dropdown__link:hover{background:#00b4c824}.nav-dropdown__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tt-slate)}.nav-dropdown__separator{height:1px;background:var(--tt-border);margin:.35rem}.nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.nav-icon svg{width:18px;height:18px;fill:currentColor}.nav-link{padding:.35rem .85rem;border-radius:999px;color:var(--tt-slate);transition:color .2s ease,background .2s ease}.nav-link:hover{color:var(--tt-ink);background:#00b4c81f}.nav-link.active{color:var(--tt-ink);background:#fe6f002e}.nav-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.user-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;border-radius:999px;background:#00b4c81f;border:1px solid rgba(0,180,200,.35);color:var(--tt-ink);font-size:.9rem}.user-pill span{color:var(--tt-slate);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}[data-theme=light] .user-pill{background:#14b8a61f;border-color:#14b8a64d}.theme-toggle{border-radius:999px;padding:.5rem .95rem}.brand{display:flex;align-items:center;gap:1rem}.brand-logo{width:52px;height:52px;border-radius:16px;background:#00b4c829;border:1px solid rgba(0,180,200,.35);box-shadow:0 14px 30px #00b4c840}.brand-text{display:grid;gap:.2rem}.brand-title{font-size:1.2rem;letter-spacing:.02em}.brand-subtitle{font-size:.92rem;color:var(--tt-slate)}.app-main{flex:1;display:flex;justify-content:center}.page{width:min(1200px,100%);display:grid;gap:1.75rem}.home-page{min-height:100%}.home-page .page-footer{margin-top:auto}.agent-status{display:grid;gap:.6rem}.agent-status__title{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tt-slate)}.agent-status__list{display:grid;gap:.4rem}.agent-status__row{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:.75rem;align-items:center;font-size:.92rem}.agent-status__name{font-weight:600}.agent-status__state,.agent-status__time{color:var(--tt-slate)}.agent-status__time--stale{color:#fba808;font-weight:600}.agent-cards{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,540px);justify-content:start}.agent-cards--deleted{margin-top:.6rem}.agents-tile{display:flex;flex-direction:column;min-height:100%;gap:1rem}.agents-tile__footer{margin-top:.75rem}.agents-tile__deleted{margin-top:auto;display:grid;gap:.35rem}.agent-cards__title{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tt-slate)}.agent-card{display:grid;gap:.45rem;padding:.55rem .7rem;border-radius:16px}.agent-card--deleted{opacity:.6;filter:grayscale(.4)}.agent-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.agent-card__header-actions{display:inline-flex;align-items:center;gap:.5rem}.agent-card__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tt-slate)}.agent-card__id{font-weight:600;word-break:break-all}.agent-card__edit{padding:.25rem .6rem;font-size:.82rem}.agent-card__status{padding:.25rem .7rem;border-radius:999px;border:1px solid rgba(0,180,200,.35);background:#00b4c81f;color:var(--tt-ink);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.agent-card__status--stale{border-color:#fba80873;background:#fba8081f;color:#fba808}.agent-card__details{display:grid;gap:.3rem}.agent-card__row{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.agent-card__row--input{align-items:center}.agent-card__key{color:var(--tt-slate);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.agent-card__value{color:var(--tt-ink);text-align:right;word-break:break-word}.agent-card__value--id{font-size:.82rem;color:var(--tt-slate)}.agent-card__input{width:100%;max-width:220px}.agent-card__value--stale{color:#fba808;font-weight:600}.agent-card__metadata{display:grid;gap:.35rem}.agent-card__metadata-list{display:grid;gap:.3rem}.agent-card__actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.agent-card__meta-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.75rem;align-items:start;font-size:.85rem}.agent-card__meta-key{color:var(--tt-slate);word-break:break-word}.agent-card__meta-value{color:var(--tt-ink);word-break:break-word;text-align:right}.page-header{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;justify-content:space-between}.timesheets-page .timesheets-actions{position:sticky;top:.75rem;z-index:20;background:#10161fb3;padding:.5rem .75rem;border-radius:14px;border:none;align-self:flex-start;margin-left:auto;width:max-content}.timesheets-page .timesheets-actions .btn:disabled{visibility:hidden}.timesheets-actions .btn:disabled{visibility:hidden}[data-theme=light] .timesheets-page .timesheets-actions{background:#ffffff80}.timesheets-page .card{position:relative;padding-top:1.4rem}.timesheets-page .page-header{position:absolute;top:.75rem;left:1.6rem;right:1.6rem;z-index:1}.timesheets-page .timesheets-range-sep{margin:0 .35rem;opacity:.6}.timesheets-page .timesheets-range-tz{font-size:.82rem;opacity:.72}.timesheets-page .timesheets-daily-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:.85rem}.timesheets-page .timesheets-daily-actions,.timesheets-page .timesheets-daily-add{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.timesheets-page .timesheets-edit-input{width:90px;padding:.45rem .6rem;font-size:.85rem}.timesheets-page .timesheets-edit-select{min-width:180px;padding:.45rem .6rem;font-size:.85rem}.timesheets-page .timesheets-edit-cell{min-width:100px}.timesheets-page .timesheets-edit-cell__control{display:flex;align-items:center;gap:.4rem;justify-content:center}.timesheets-page .timesheets-edit-clear{width:26px;height:26px;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:#0f172a40;color:#e2e8f0;font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.timesheets-page .timesheets-edit-clear:hover{background:#f871712e;border-color:#f871718c;color:#fecaca}.timesheets-page .timesheets-edit-cell--edited{background:#facc1524;box-shadow:inset 0 0 0 1px #facc1559}.timesheets-page .timesheets-edit-cell--reverted{background:#94a3b81f;box-shadow:inset 0 0 0 1px #94a3b833}.timesheets-page .timesheets-edit-row--new{background:#38bdf814}.home-onboarding{display:grid;gap:1rem}.home-onboarding__content{width:min(1100px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 1.5rem;align-items:start}.home-onboarding__steps{width:100%;margin:0;padding-left:1.4rem;color:var(--tt-slate);display:grid;gap:.4rem;text-align:left;line-height:1.5}.home-onboarding__download{display:flex;justify-content:flex-end;align-items:flex-start}.home-onboarding__download-btn{background:linear-gradient(135deg,#81be14,#689f0c 52%,#4a7208);border-color:#a7da47;color:#f7ffe8;font-weight:700;letter-spacing:.01em;box-shadow:0 14px 28px #41660873,0 0 #689f0c6b;animation:home-onboarding-download-pulse 1.6s cubic-bezier(.22,1,.36,1) infinite}.home-onboarding__download-btn:hover{background:linear-gradient(135deg,#90ce1e,#76b113,#57890a);border-color:#c2ea70;box-shadow:0 18px 34px #41660880,0 0 0 10px #689f0c1f;transform:translateY(-2px) scale(1.02)}.home-onboarding__download-btn:focus-visible{outline:2px solid #cde98b;outline-offset:2px}@keyframes home-onboarding-download-pulse{0%{box-shadow:0 14px 28px #41660873,0 0 #689f0c6b;filter:saturate(1.03)}to{box-shadow:0 18px 34px #41660880,0 0 0 12px #689f0c00;filter:saturate(1.2)}}.home-onboarding__links{width:min(720px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.home-onboarding__link{color:var(--tt-ink);text-decoration:none;font-weight:600}.home-onboarding__link:hover{text-decoration:underline}.home-onboarding__note{color:var(--tt-slate);font-size:.92rem}.home-onboarding__video{border-radius:18px;border:1px solid rgba(148,163,184,.45);background:#0c121bb3;width:100%;max-width:1100px;aspect-ratio:16 / 9;display:block;min-height:220px;object-fit:contain;box-shadow:0 16px 36px #070c1659}.agent-register__status{display:grid;gap:.85rem;width:100%}.agent-register__header{display:grid;gap:.75rem;align-items:start}.agent-register--pending{align-content:start;justify-items:start}.page-title{font-size:clamp(1.35rem,2.1vw,1rem)}.page-subtitle{color:var(--tt-slate);max-width:56ch}.page-meta{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:.95rem}.page-meta-item{display:inline-flex;align-items:center;gap:.4rem}.page-meta span{color:var(--tt-slate)}.page-meta strong{font-weight:600}.card{background:var(--tt-surface);border-radius:24px;padding:clamp(1.6rem,3vw,2.4rem);border:1px solid var(--tt-border);box-shadow:var(--tt-shadow);display:grid;gap:1.5rem}.timesheets-page .card{gap:1rem}.card-soft{background:#10161fcc;border-radius:20px;padding:1.2rem 1.4rem;border:1px solid rgba(148,163,184,.18)}.card-soft.agent-card{padding:.55rem .7rem;border-radius:16px}.card-glow{background:linear-gradient(160deg,#00b4c81f,#fe6f001f);border:1px solid rgba(0,180,200,.25)}.section-grid{display:grid;gap:1.5rem}.verify-page .card,.verify-page .verify-grid{justify-items:start;align-content:start}.verify-page .helper{margin-top:-.35rem}.verify-page .verify-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.support-page .card{gap:2rem}.support-section{display:grid;gap:1rem;align-items:start}.support-section__header{display:grid;gap:.35rem}.support-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.support-help-card{display:grid;gap:.75rem}.support-help-card h3{margin:0}.support-help-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.support-help-item{display:grid;gap:.1rem}.support-help-title{font-weight:600}.support-help-meta{color:var(--tt-slate);font-size:.85rem}.support-form{display:grid;gap:1rem}.support-selfhelp-button{width:fit-content;justify-self:start}.support-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.support-form__actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.support-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.support-closed-list{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,540px);justify-content:start}.support-item{display:grid;gap:.75rem}.support-item--closed{opacity:.6;filter:grayscale(.35);display:flex;align-items:center;justify-content:space-between;gap:1rem}.support-item__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.support-item__title{font-weight:600}.support-item__meta{color:var(--tt-slate);font-size:.82rem}.support-item__description{margin:0;color:var(--tt-ink)}.support-item__meta-line{margin:0;color:var(--tt-slate);font-size:.85rem}.support-item__footer{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.support-item__pill{border-radius:999px;border:1px solid rgba(148,163,184,.2);padding:.25rem .6rem;font-size:.75rem;color:var(--tt-slate)}.support-item__actions{display:inline-flex;gap:.4rem;margin-left:auto}.support-item__state{border-radius:999px;padding:.25rem .6rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent}.support-item__state--open{border-color:#38bdf899;color:#38bdf8e6;background:#38bdf829}.support-item__state--in-progress{border-color:#fba80899;color:#fba808f2;background:#fba8082e}.support-item__state--waiting{border-color:#f9750199;color:#f97501e6;background:#f975012e}.support-item__state--draft{border-color:#94a3b866;color:#94a3b8e6;background:#94a3b829}.support-item__state--closed{border-color:#94a3b880;color:#94a3b8e6;background:#94a3b829}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat-card{background:var(--tt-surface-2);border-radius:18px;padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.18);display:grid;gap:.5rem}.stat-card span{color:var(--tt-slate);font-size:.9rem}.stat-card strong{font-size:1.1rem}.btn{border-radius:999px;padding:.55rem 1.1rem;font-weight:600;border:1px solid transparent;background:var(--tt-surface-2);color:var(--tt-ink);line-height:1.1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.btn-compact{padding:.5rem 1.05rem;font-size:.95rem;line-height:1.1}.btn-primary{background:linear-gradient(135deg,var(--tt-teal),var(--tt-teal-dark));color:#fff;box-shadow:0 12px 20px #00b4c84d}.btn-primary:hover{background:linear-gradient(135deg,var(--tt-teal-light),var(--tt-teal));transform:translateY(-1px)}.btn-ghost{background:transparent;border-color:var(--tt-border)}.btn-ghost:hover{border-color:#00b4c880;color:var(--tt-teal-light)}.btn-ghost--current{border-color:#38bdf88c;color:#e2e8f0f2;background:#38bdf82e}[data-theme=light] .btn-ghost--current{border-color:#3b82f680;color:#1e293bf2;background:#3b82f61f}.btn-soft{background:#fe6f0026;color:var(--tt-ink);border-color:#fe6f0059}.btn:disabled{opacity:.6;cursor:default}.field{display:grid;gap:.45rem;font-size:.95rem;color:var(--tt-slate)}.input,.select,.textarea{background:#10161fb3;border:1px solid transparent;border-radius:12px;padding:.75rem .9rem;color:var(--tt-ink);font-size:1rem;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:#00b4c880;box-shadow:0 0 0 3px #00b4c833}.filters{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:flex-end}.range-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.chip-toggle{display:flex;gap:.5rem;flex-wrap:wrap}.chip{background:transparent;border:1px solid var(--tt-border);color:var(--tt-slate);padding:.4rem .9rem;border-radius:999px;cursor:pointer}.chip.active{border-color:#00b4c899;background:#00b4c82e;color:var(--tt-ink)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem .8rem}.checkbox-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--tt-ink)}.checkbox-item input{accent-color:var(--tt-teal)}.notice{padding:.7rem .9rem;border-radius:12px;font-size:.92rem;border:1px solid transparent}.notice.error{background:#ef444433;border-color:#ef444480;color:#ef444499}.notice.success{background:#22c55e33;border-color:#22c55e66;color:#d1fae5}.registration-success{border:1px solid rgba(34,197,94,.6);background:#22c55e33;color:#22c55e99;padding:.9rem 1rem;border-radius:12px;display:grid;gap:.6rem}.registration-success__title{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}.registration-success__row{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:.6rem;align-items:start;font-size:.9rem}.registration-success__row strong{font-weight:600;word-break:break-word}.toast{position:fixed;right:2rem;bottom:2rem;padding:.7rem 1rem;border-radius:12px;border:1px solid var(--toast-border);background:var(--toast-bg);color:var(--toast-border);box-shadow:0 12px 30px #04081073;z-index:60}.toast--success{--toast-border: rgba(34, 197, 94, .6);--toast-bg: rgba(34, 197, 94, .2)}.toast--error{--toast-border: rgba(239, 68, 68, .6);--toast-bg: rgba(239, 68, 68, .2)}.helper{font-size:.9rem;color:var(--tt-slate)}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.chart-grid>*{min-width:0}.chart-card{display:grid;gap:1rem;min-height:320px;padding-top:.7rem}.chart-card.table-span{grid-column:span 2}.chart-header h3{margin:0}.chart-header p{color:var(--tt-slate);font-size:.92rem;margin:.2rem 0 0}.legend-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.legend-divider{width:1px;align-self:stretch;background:#94a3b866;margin:0 .35rem}.legend-chip--system{color:var(--tt-slate)}.legend-row--static{margin-top:.75rem}.legend-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--tt-border);background:transparent;color:var(--tt-ink);font-size:.85rem;cursor:pointer}.legend-chip__text{display:grid;gap:0;text-align:left}.legend-chip__label{font-size:.95rem;line-height:1.05}.legend-chip__client{font-size:.68rem;color:var(--tt-slate);line-height:1.05}.data-table .legend-chip__text{justify-items:start}.legend-chip--static{border:none;padding:.25rem .5rem;cursor:default}.legend-dot{width:14px;height:14px;border-radius:50%}.chart-body{width:100%;height:100%}.floating-panel{position:fixed;z-index:30;min-width:360px;min-height:240px;max-width:95vw;max-height:95vh;background:var(--tt-surface);border:1px solid var(--tt-border);border-radius:18px;box-shadow:var(--tt-shadow);display:grid;grid-template-rows:auto 1fr;overflow:hidden}.floating-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-bottom:1px solid rgba(148,163,184,.18);cursor:grab;background:#10161f80}.floating-panel__header:active{cursor:grabbing}.floating-panel__title{font-weight:600}.floating-panel__subtitle{color:var(--tt-slate);font-size:.9rem}.floating-panel__close{border-radius:999px;border:1px solid var(--tt-border);background:transparent;color:var(--tt-ink);padding:.35rem .8rem;cursor:pointer}.floating-panel__body{padding:.9rem 1.1rem 1.1rem;display:flex;flex-direction:column;min-height:0;overflow:hidden}.floating-panel__resize{position:absolute;right:8px;bottom:8px;width:16px;height:16px;cursor:nwse-resize;opacity:.6;border-radius:4px;background:linear-gradient(135deg,transparent 45%,rgba(148,163,184,.6) 45%,rgba(148,163,184,.6) 55%,transparent 55%)}.floating-panel__resize:hover{opacity:.9}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center}.modal__backdrop{position:absolute;inset:0;background:#060a10b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal__panel{position:relative;z-index:1;width:min(520px,calc(100vw - 2rem));border-radius:18px;border:1px solid var(--tt-border);background:var(--tt-surface);box-shadow:var(--tt-shadow);overflow:hidden}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;border-bottom:1px solid rgba(148,163,184,.18);background:#10161f80}.modal__header h3{margin:0}.modal__body{padding:1.1rem 1.3rem 1.3rem}.modal__actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.modal__close{border-radius:999px;border:1px solid var(--tt-border);background:transparent;color:var(--tt-ink);padding:.35rem .8rem;cursor:pointer}[data-theme=light] .modal__header,[data-theme=light] .floating-panel__header{background:#f8fafce6}.recharts-tooltip-cursor{fill:#080c12a6}.recharts-default-tooltip{background:#0a0e14eb!important;border:1px solid rgba(148,163,184,.25)!important;color:var(--tt-ink)!important;border-radius:12px!important;padding:.6rem .75rem!important;box-shadow:0 12px 30px #0408108c!important}.recharts-default-tooltip .recharts-tooltip-label{color:var(--tt-slate)!important}.recharts-default-tooltip .tt-tooltip__list{display:grid;gap:.45rem;margin-top:.35rem}.recharts-default-tooltip .tt-tooltip__row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:.5rem;align-items:center}.recharts-default-tooltip .tt-tooltip__swatch{width:12px;height:12px;border-radius:999px;align-self:center}.recharts-default-tooltip .tt-tooltip__value{font-weight:600;text-align:right}.tt-bar-label{fill:var(--tt-ink);font-size:.8rem;font-weight:600}.recharts-default-tooltip .tooltip-project{display:grid;gap:0;text-align:left}.recharts-default-tooltip .tooltip-project__name{font-weight:600;line-height:1.05}.recharts-default-tooltip .tooltip-project__client{color:var(--tt-slate);font-size:.82rem;line-height:1.05}[data-theme=light] .recharts-tooltip-cursor{fill:#f8fafc99}[data-theme=light] .recharts-default-tooltip{background:#fffffff2!important;border-color:var(--tt-border)!important;color:var(--tt-ink)!important;padding:.6rem .75rem!important;box-shadow:0 12px 24px #2a1a121f!important}.table-wrapper{width:100%;overflow-x:auto;border-radius:16px;border:1px solid rgba(148,163,184,.18)}.data-grid{width:100%;overflow-x:hidden;overflow-y:visible;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:var(--tt-surface);max-width:100%}.data-grid-header{display:grid;position:sticky;top:0;z-index:10;background:var(--tt-surface);border-bottom:1px solid rgba(148,163,184,.2)}.data-grid-head{position:relative;padding:.75rem .9rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tt-slate);border-right:1px solid rgba(148,163,184,.12);background:#10161f99;display:flex;align-items:center;justify-content:space-between;gap:.4rem}.data-grid-head:last-child{border-right:none}.data-grid-resize{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize;background:transparent;border:none}.data-grid-body{display:grid}.data-grid-row{display:contents}.data-grid-cell{padding:.75rem .9rem;border-bottom:1px solid rgba(148,163,184,.12);font-size:.92rem;color:var(--tt-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-grid-body .data-grid-cell{background:transparent}.data-grid-body .data-grid-cell:last-child{border-right:none}.data-grid-body .data-grid-row:hover .data-grid-cell{background:#00b4c80f}.data-grid-row--changed .data-grid-cell{background:#38bdf81f}.data-grid-row--faded .data-grid-cell{opacity:.5}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid rgba(148,163,184,.12);font-size:.92rem;vertical-align:top}.detail-panel__left,.detail-panel__right{height:100%;min-height:0}.detail-panel__left{display:flex;flex-direction:column;overflow:hidden}.detail-panel__table{flex:1;height:100%;min-height:0;overflow:auto}.detail-panel__table .data-grid{max-width:none}.data-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tt-slate);background:#10161f99;min-height:0}.data-table tbody tr:hover{background:#00b4c80f}.data-table-row--muted{color:var(--tt-slate)}.data-table-total{background:#080c1266;font-weight:600}.data-table-total td{border-top:1px solid rgba(148,163,184,.2)}.detail-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:1.2rem;align-items:stretch;flex:1;height:100%;min-height:0}.detail-panel__right{border:1px solid rgba(148,163,184,.12);border-radius:16px;padding:.9rem;height:100%;display:flex;flex-direction:column;min-height:0}.keyword-panel{display:grid;gap:.8rem;height:100%;min-height:0;grid-template-rows:auto 1fr auto 2fr auto}.keyword-panel__header{display:flex;align-items:center;justify-content:space-between}.keyword-panel__header-actions{display:inline-flex;align-items:center;gap:.6rem}.keyword-panel__header h3{margin:0;font-size:1rem}.keyword-cloud{display:flex;flex-wrap:wrap;gap:.5rem}.keyword-section{min-height:0;overflow:hidden}.keyword-section--keywords,.keyword-section--projects{overflow-y:auto}.keyword-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .7rem;border-radius:999px;border:1px solid rgba(56,189,248,.6);background:#38bdf833;font-size:.9rem;cursor:grab}.keyword-chip--used{border-color:#22c55e99;background:#22c55e2e}.keyword-chip:active{cursor:grabbing}.keyword-chip__count{color:var(--tt-slate);font-size:.82rem}.project-card-list{display:grid;gap:.8rem}.project-card{border-radius:14px;border:1px solid rgba(148,163,184,.2);padding:.7rem .8rem;background:#1e293b59;display:grid;gap:.6rem}.project-card--local{border-color:#38bdf866;background:#38bdf81a}.project-card__header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.project-card__title-block{display:grid;gap:.35rem}.project-card__input{width:100%;padding:.4rem .6rem;font-size:.85rem}.project-card__title{font-weight:600}.project-card__client{color:var(--tt-slate);font-size:.85rem}.project-card__edit{border:1px solid rgba(148,163,184,.3);background:transparent;color:var(--tt-ink);padding:.25rem .5rem;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.project-card__keywords{display:flex;flex-wrap:wrap;gap:.4rem}.project-card__add{display:flex;gap:.5rem;align-items:center}.project-card__add-input{flex:1;min-width:0;max-width:180px;padding:.25rem .45rem;font-size:.78rem}.project-keyword-chip{padding:.25rem .55rem;border-radius:999px;border:1px solid rgba(148,163,184,.28);font-size:.82rem;display:inline-flex;align-items:center;gap:.35rem;background:#1e293b59}.project-keyword-chip--add{border-color:#818cf899;background:#818cf82e;cursor:pointer}.project-keyword-chip--apply{border-color:#4ade8099;background:#4ade802e;cursor:pointer}.project-keyword-chip--cancel{border-color:#f8717199;background:#f871712e;cursor:pointer}.project-keyword-chip.is-existing{background:#0f172a73}[data-theme=light] .project-card{background:#f8fafce6;border-color:#94a3b859}[data-theme=light] .project-card--local{background:#38bdf81f;border-color:#38bdf859}[data-theme=light] .project-keyword-chip.is-existing{background:#e2e8f0e6}.project-keyword-chip.is-pending{border-color:#38bdf899;background:#38bdf833}.keyword-remove{border:none;background:transparent;color:var(--tt-slate);cursor:pointer;font-size:.9rem;line-height:1;padding:0}.keyword-panel__actions{display:flex;justify-content:flex-end}.project-page__projects .keyword-panel__actions{margin-top:.8rem}.keyword-panel .keyword-table__error{margin-top:.2rem;color:#ef4444b3}.keyword-reclass{display:inline-flex;align-items:center;gap:.35rem}.keyword-reclass__from{color:var(--tt-slate)}.keyword-reclass__to{font-weight:600}.keyword-reclass__arrow{color:var(--tt-slate)}.project-page__layout{display:grid;grid-template-areas:"projects keywords" "raw raw";grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:1.2rem}.project-page__panel{border:1px solid rgba(148,163,184,.12);border-radius:16px;padding:.9rem;background:#f8fafc0a;display:flex;flex-direction:column;min-height:0}[data-theme=light] .project-page__panel{background:#fff}.project-page__projects{grid-area:projects;max-height:60vh}.project-page__keywords{grid-area:keywords;max-height:60vh}.project-page__raw{grid-area:raw}.project-page__panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.project-page__panel-header h3{margin:0 0 .25rem}.project-page__panel-actions{display:inline-flex;align-items:center;gap:.6rem}.project-page__scroll{overflow:auto;min-height:0}.project-page__table{overflow:auto;min-height:0;max-height:50vh}.project-page__table .data-grid{max-width:none}[data-theme=light] .nav-link:hover{background:#14b8a61f}[data-theme=light] .nav-link.active{background:#f59e0b33}[data-theme=light] .brand-logo{background:#14b8a61f;border-color:#14b8a659;box-shadow:0 12px 24px #0f172a1f}[data-theme=light] .card-soft{background:#fff;border-color:var(--tt-border)}[data-theme=light] .card-glow{background:linear-gradient(160deg,#14b8a61f,#f59e0b1f);border-color:#14b8a633}[data-theme=light] .stat-card{background:#fff;border-color:var(--tt-border)}[data-theme=light] .btn-ghost:hover{border-color:#14b8a680;color:var(--tt-teal-dark)}[data-theme=light] .btn-soft{background:#f59e0b26;border-color:#f59e0b59}[data-theme=light] .input,[data-theme=light] .select,[data-theme=light] .textarea{background:#fff;border-color:var(--tt-border)}[data-theme=light] .data-table th{background:#f8fafce6}[data-theme=light] .data-grid{background:#fff;border-color:var(--tt-border)}[data-theme=light] .data-grid-head{background:#f8fafcf2}[data-theme=light] .auth-hero h1{color:var(--tt-ink)}[data-theme=light] .auth-hero p{color:#475569}[data-theme=light] .auth-tags span{background:#14b8a61f;color:#0f172a}[data-theme=light] .auth-toggle{background:#e2e8f0cc}[data-theme=light] .auth-toggle button{color:#475569}[data-theme=light] .auth-toggle button.active{background:#14b8a633;color:#0f172a}[data-theme=light] .auth-provider{background:#fff;border-color:#94a3b866;color:#0f172a}[data-theme=light] .auth-provider:hover:not(:disabled){box-shadow:0 12px 20px #0f172a1f}[data-theme=light] .auth-divider span{background:#fff}.auth-layout{width:min(1050px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,4vw,4rem);align-items:center}.auth-hero h1{font-size:clamp(2.4rem,4vw,3.4rem)}.auth-hero p{color:var(--tt-slate);font-size:1.05rem;max-width:34ch;margin-top:.8rem}.auth-tags{display:flex;gap:.75rem;margin-top:2rem;flex-wrap:wrap}.auth-tags span{padding:.35rem .9rem;border-radius:999px;background:#00b4c81f;font-size:.85rem;color:var(--tt-slate)}.auth-card{display:grid;gap:1.2rem}.auth-providers{display:grid;gap:.75rem}.auth-provider{padding:.7rem 1rem;border-radius:14px;border:1px solid rgba(148,163,184,.3);background:#0f172a99;color:var(--tt-ink);font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border .15s ease}.auth-provider:disabled{opacity:.6;cursor:not-allowed}.auth-provider:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #0f172a40;border-color:#5eead466}.auth-provider--microsoft{border-color:#38bdf859;background:linear-gradient(130deg,#0e749059,#0f172ab3)}.auth-provider--google{border-color:#f8717159;background:linear-gradient(140deg,#f8717133,#0f172ab3)}.auth-divider{display:grid;place-items:center;position:relative;height:1px;background:#94a3b840;margin:.2rem 0}.auth-divider span{position:absolute;padding:0 .6rem;background:var(--tt-surface);color:var(--tt-slate);font-size:.85rem}.auth-email-note{margin-top:-.4rem}.auth-toggle{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;background:#10161fcc;padding:.4rem;border-radius:999px}.auth-toggle button{padding:.6rem 1rem;border-radius:999px;border:none;background:transparent;color:var(--tt-slate);font-weight:600;cursor:pointer}.auth-toggle button.active{background:#00b4c833;color:var(--tt-ink)}.form-stack{display:grid;gap:1.2rem;align-items:start}.code-block{background:#0a0e14cc;border-radius:14px;border:1px solid rgba(148,163,184,.2);padding:1rem;font-size:.85rem;max-height:260px;overflow:auto}@media(max-width:900px){.app-header{flex-direction:column;align-items:flex-start}.home-onboarding__content{grid-template-columns:1fr}.home-onboarding__download{justify-content:flex-start}.auth-layout{grid-template-columns:1fr}.chart-card.table-span{grid-column:span 1}}
