:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e2e5ea;--text: #1c2024;--muted: #6b7280;--primary: #2b6cb0;--primary-hover: #245a93;--danger: #c0392b;--radius: 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.topbar__brand{font-weight:700}.topbar__nav{display:flex;gap:1rem}.topbar__right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.topbar__user{color:var(--muted);font-size:.9rem}.nav-link{color:var(--muted);font-weight:500}.nav-link--active{color:var(--text)}.content{flex:1;padding:1.5rem}.page{max-width:760px;margin:0 auto}.page__title{font-size:1.5rem;margin:0 0 1rem}.section-title{font-size:1.1rem;margin:1.5rem 0 .75rem}.breadcrumb{margin:0 0 .5rem;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.card--highlight{border-color:var(--primary);background:#f0f6fc}.card__title{font-size:1rem;margin:0 0 .75rem}.card__subtitle{font-size:.85rem;margin:.75rem 0 .25rem;color:var(--muted)}.field{display:block;margin-bottom:.75rem}.field__label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.25rem}.field__input{width:100%;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;background:#fff}.field__input:focus{outline:2px solid var(--primary);outline-offset:-1px}.inline-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.inline-form .field__input{flex:1;min-width:200px}.task-form .field__input{margin-bottom:.75rem}.btn{padding:.55rem 1rem;border:1px solid transparent;border-radius:6px;font-size:.9rem;cursor:pointer;background:#eef1f5}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}.btn--secondary{background:#fff;border-color:var(--border)}.btn--ghost{background:transparent;color:var(--muted)}.btn-row{display:flex;gap:.5rem;flex-wrap:wrap}.list{list-style:none;margin:0;padding:0}.list__item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:.4rem}.list__item--col{flex-direction:column;align-items:flex-start;gap:.2rem}.list__link{font-weight:500}.list__primary{font-family:monospace;font-size:.85rem}.list__meta{color:var(--muted);font-size:.85rem}.badge{margin-left:auto;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;background:#eef1f5;color:var(--muted)}.list__item--col .badge{margin-left:0}.comments{list-style:none;margin:0 0 .75rem;padding:0}.comments__item{padding:.5rem 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.15rem}.comments__meta{font-size:.75rem;color:var(--muted)}.autocomplete{position:relative;margin-bottom:.75rem}.autocomplete__menu{list-style:none;margin:.2rem 0 0;padding:0;position:absolute;z-index:10;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000014;max-height:220px;overflow-y:auto}.autocomplete__option{display:block;width:100%;text-align:left;padding:.5rem .7rem;border:none;background:none;cursor:pointer;font-size:.9rem}.autocomplete__option:hover{background:#eef1f5}.muted{color:var(--muted)}.error-text{color:var(--danger);font-size:.9rem;margin:.5rem 0 0}.token{display:block;padding:.5rem .7rem;background:#1c2024;color:#e2e8f0;border-radius:6px;font-size:.8rem;word-break:break-all}.loading{padding:2rem;text-align:center;color:var(--muted)}.login{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem}.login__card{width:100%;max-width:360px;margin:0}.login__title{font-size:1.3rem;margin:0 0 1rem}.login__card .btn{width:100%;margin-top:.5rem}
