:root{--color-sea-50: #e8f5f4;--color-sea-100: #c5e6e4;--color-sea-200: #8fc9c8;--color-sea-400: #3a9aa8;--color-sea-500: #1f7d8c;--color-sea-600: #176472;--color-sea-700: #124d5c;--color-sea-900: #0a2432;--color-ink-0: #ffffff;--color-ink-50: #f3f6f8;--color-ink-100: #e4eaef;--color-ink-200: #c8d3dc;--color-ink-400: #7a8b99;--color-ink-600: #4a5c6a;--color-ink-800: #1a2834;--color-ink-900: #0c1520;--color-danger-500: #c0392b;--color-danger-50: #fdecea;--color-success-500: #1f8a4c}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:DM Sans,Segoe UI,sans-serif;font-size:15px;line-height:1.45;background:var(--color-bg);color:var(--color-fg);-webkit-font-smoothing:antialiased}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}h1,h2,h3{margin:0;font-family:Fraunces,Georgia,serif;font-weight:650;letter-spacing:.01em}p{margin:0}ul{margin:0;padding:0;list-style:none}:root,[data-theme=light]{color-scheme:light;--color-bg: var(--color-ink-50);--color-bg-elevated: var(--color-ink-0);--color-fg: var(--color-ink-900);--color-fg-muted: var(--color-ink-600);--color-border: var(--color-ink-200);--color-link: var(--color-sea-600);--color-accent: var(--color-sea-500);--color-accent-strong: var(--color-sea-700);--color-accent-soft: var(--color-sea-50);--color-focus: var(--color-sea-400);--color-danger: var(--color-danger-500);--color-danger-soft: var(--color-danger-50);--color-success: var(--color-success-500);--color-success-soft: #e7f6ee;--color-header: var(--color-ink-0);--shadow-soft: 0 12px 32px rgba(10, 36, 50, .1)}[data-theme=dark]{color-scheme:dark;--color-bg: #071525;--color-bg-elevated: #0d2133;--color-fg: var(--color-ink-50);--color-fg-muted: var(--color-ink-200);--color-border: rgba(143, 201, 200, .16);--color-link: var(--color-sea-200);--color-accent: var(--color-sea-400);--color-accent-strong: var(--color-sea-100);--color-accent-soft: rgba(58, 154, 168, .2);--color-focus: var(--color-sea-400);--color-danger: #ff8a7a;--color-danger-soft: rgba(192, 57, 43, .25);--color-success: #5dcaa0;--color-success-soft: rgba(31, 138, 76, .22);--color-header: #0a1c2c;--shadow-soft: 0 12px 32px rgba(0, 0, 0, .4)}@keyframes ui-wave{0%{opacity:.55;transform:scale(0)}to{opacity:0;transform:scale(28)}}.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.35rem;padding:.45rem 1rem;border-radius:.45rem;border:1px solid transparent;cursor:pointer;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.btn:after{content:"";position:absolute;inset:50% auto auto 50%;width:.5rem;height:.5rem;margin:-.25rem 0 0 -.25rem;border-radius:50%;background:#ffffff59;opacity:0;pointer-events:none;transform:scale(0)}.btn:active:not(:disabled):after{animation:ui-wave .55s ease-out}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-accent-strong)}.btn--ghost{position:relative;overflow:hidden;isolation:isolate;background:transparent;color:var(--color-fg);border-color:var(--color-border)}.btn--ghost:after{content:"";position:absolute;inset:50% auto auto 50%;width:.5rem;height:.5rem;margin:-.25rem 0 0 -.25rem;border-radius:50%;background:#3a9aa859;opacity:0;pointer-events:none;transform:scale(0)}.btn--ghost:active:not(:disabled):after{animation:ui-wave .55s ease-out}.btn--ghost:hover:not(:disabled){background:var(--color-accent-soft)}.btn--icon{min-height:2.1rem;min-width:2.1rem;padding:.35rem;flex-shrink:0}.btn--icon .icon{display:block;width:1.1rem;height:1.1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field__label{font-size:.85rem;font-weight:600;color:var(--color-fg-muted)}.field__control{width:100%;min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:.45rem;background:var(--color-bg-elevated);color:var(--color-fg)}.field__control:focus{outline:2px solid var(--color-focus);outline-offset:1px}.field__error{color:var(--color-danger);font-size:.85rem}.chrome-controls{display:inline-flex;align-items:center;gap:.5rem}.lang-switch{display:inline-flex;align-items:center;gap:.25rem}.theme-switch__btn,.lang-switch__btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--color-border);border-radius:.4rem;background:transparent;color:var(--color-fg);cursor:pointer;font-size:1.05rem;line-height:1;transition:background-color .18s ease,border-color .18s ease,transform .15s ease}.theme-switch__btn:after,.lang-switch__btn:after{content:"";position:absolute;inset:50% auto auto 50%;width:.5rem;height:.5rem;margin:-.25rem 0 0 -.25rem;border-radius:50%;background:#3a9aa873;opacity:0;pointer-events:none;transform:scale(0)}.theme-switch__btn:active:not(:disabled):after,.lang-switch__btn:active:not(:disabled):after{animation:ui-wave .55s ease-out}.theme-switch__btn:hover,.lang-switch__btn:hover{background:var(--color-accent-soft);border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border))}.theme-switch__btn:focus-visible,.lang-switch__btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.theme-switch__btn.is-active,.lang-switch__btn.is-active{background:var(--color-accent-soft);border-color:var(--color-accent)}.theme-switch__btn:active,.lang-switch__btn:active{transform:scale(.96)}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 18% 20%,rgba(58,154,168,.28),transparent 42%),radial-gradient(circle at 82% 12%,rgba(18,77,92,.35),transparent 38%),linear-gradient(160deg,#050e18,#071525 50%,#0a2432)}.login-panel{width:min(100%,420px);padding:2rem 1.75rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:var(--shadow-soft)}.login-panel__chrome{display:flex;justify-content:flex-end;margin-bottom:.75rem}.login-panel__brand{color:var(--color-accent);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}.login-panel__title{margin-bottom:.35rem}.login-panel__subtitle{color:var(--color-fg-muted);margin-bottom:1.5rem}.login-panel__hint{color:var(--color-fg-muted);font-size:.9rem;margin-bottom:1rem}.login-panel__footer{margin-top:1.25rem;font-size:.9rem}.login-panel__form{display:flex;flex-direction:column;gap:1rem}.login-panel__actions{margin-top:.25rem}.login-panel__alert{padding:.65rem .75rem;border-radius:.4rem;background:var(--color-danger-soft);color:var(--color-danger);font-size:.9rem}.status-page__code{margin:0 0 .35rem;font-size:2.5rem;font-weight:700;letter-spacing:.04em;color:var(--color-accent)}.landing{position:relative;min-height:100vh;overflow:hidden;display:grid;place-items:center;padding:2rem 1.25rem}.landing__atmosphere{position:absolute;inset:0;background:linear-gradient(120deg,#050e189e,#07152547),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160" viewBox="0 0 160 160"><rect fill="%23071225" width="160" height="160"/><path d="M0 80h160M80 0v160" stroke="%23176472" stroke-opacity="0.28" stroke-width="1"/></svg>'),radial-gradient(circle at 20% 30%,rgba(58,154,168,.38),transparent 45%),linear-gradient(165deg,#050e18,#071525 48%,#124d5c);background-size:cover,120px 120px,auto,auto;animation:landing-drift 18s ease-in-out infinite alternate}.landing__hero{position:relative;z-index:1;max-width:42rem;text-align:left;color:#e8f5f4;animation:landing-rise .7s ease-out both}.landing__brand{font-family:Fraunces,Georgia,serif;font-size:clamp(2.5rem,7vw,4.25rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem;animation:landing-rise .8s .05s ease-out both}.landing__headline{font-size:clamp(1.35rem,3vw,1.85rem);font-weight:600;margin-bottom:.75rem;color:#c5e6e4}.landing__lede{max-width:34rem;color:#e8f5f4d1;margin-bottom:1.5rem;font-size:1.05rem}.landing__alert{max-width:34rem;margin-bottom:1rem;padding:.65rem .75rem;border-radius:.4rem;background:#f871712e;color:#fecaca;font-size:.95rem}.landing__cta{display:inline-flex;animation:landing-rise .9s .12s ease-out both}.landing__cta a{text-decoration:none}@keyframes landing-drift{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.04) translate3d(-1.5%,1%,0)}}@keyframes landing-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.landing__hero{text-align:left}}.shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 90% 0%,rgba(58,154,168,.1),transparent 35%),var(--color-bg)}.shell__main{flex:1;width:min(1120px,100%);margin:0 auto;padding:1.25rem 1rem 2.5rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;background:var(--color-header);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.app-header__brand{display:flex;align-items:center;gap:1.25rem}.app-header__logo{font-family:Fraunces,Georgia,serif;font-size:1.2rem;font-weight:700;color:var(--color-fg);text-decoration:none}.app-header__nav{display:flex;gap:.35rem}.app-header__nav a{position:relative;overflow:hidden;isolation:isolate;color:var(--color-fg-muted);font-weight:600;text-decoration:none;padding:.4rem .7rem;border-radius:.45rem;transition:background-color .2s ease,color .2s ease,transform .2s ease}.app-header__nav a:after{content:"";position:absolute;inset:50% auto auto 50%;width:.5rem;height:.5rem;margin:-.25rem 0 0 -.25rem;border-radius:50%;background:#3a9aa866;opacity:0;pointer-events:none;transform:scale(0)}.app-header__nav a:active:not(:disabled):after{animation:ui-wave .55s ease-out}.app-header__nav a:hover{color:var(--color-accent-strong);background:var(--color-accent-soft);transform:translateY(-1px)}.app-header__nav a.is-active{color:var(--color-accent-strong);background:var(--color-accent-soft);box-shadow:inset 0 -2px 0 var(--color-accent)}.app-header__nav a:active{transform:scale(.98)}.app-header__meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.app-header__user{color:var(--color-fg-muted);font-size:.9rem}.tenant-switcher{display:flex;align-items:center;gap:.4rem}.tenant-switcher__label{font-size:.8rem;color:var(--color-fg-muted);font-weight:600}.tenant-switcher__select{min-height:2.1rem;border:1px solid var(--color-border);border-radius:.4rem;padding:.25rem .5rem;background:var(--color-bg-elevated)}.workspace__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.workspace__lede{margin-top:.35rem;color:var(--color-fg-muted)}.workspace__alert{margin-bottom:1rem;padding:.65rem .75rem;border-radius:.4rem;background:var(--color-danger-soft);color:var(--color-danger)}.workspace__empty{color:var(--color-fg-muted);padding:.75rem 0}.workspace--blocked{max-width:36rem;padding:2rem 0}.workspace--blocked h1{font-family:Fraunces,Georgia,serif;font-size:1.65rem;margin-bottom:.5rem}.backlog-create{display:grid;grid-template-columns:1.2fr 1.4fr auto;gap:.65rem;margin-bottom:1.25rem}.backlog-list{display:flex;flex-direction:column;gap:.65rem}.backlog-item{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.55rem}.backlog-item__body p,.kanban__card p{margin-top:.25rem;color:var(--color-fg-muted);font-size:.92rem}.backlog-item__actions,.backlog-item__edit,.kanban__moves{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.backlog-item__edit{flex:1;flex-direction:column;align-items:stretch}.backlog-item__assign{display:inline-flex;align-items:center}.backlog-item__column{min-height:2.1rem;width:auto;min-width:7.5rem;padding:.25rem .5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.kanban__column{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.6rem;padding:.85rem;min-height:18rem}.kanban__column h2{font-size:1rem;margin-bottom:.75rem}.kanban__cards{display:flex;flex-direction:column;gap:.55rem;min-height:3rem}.kanban__card{padding:.75rem;border:1px solid var(--color-border);border-radius:.45rem;background:var(--color-accent-soft);cursor:grab;touch-action:none}.kanban__card:active{cursor:grabbing}.kanban__card.cdk-drag-preview{box-sizing:border-box;border-radius:.45rem;box-shadow:0 .35rem 1rem color-mix(in srgb,var(--color-fg) 18%,transparent)}.kanban__card.cdk-drag-placeholder{opacity:.35}.kanban__card.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}.kanban__cards.cdk-drop-list-dragging .kanban__card:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}@media(max-width:900px){.backlog-create,.kanban{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start}}.access-request{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}.access-request__tenant{max-width:22rem;width:100%}.access-request__reason{color:var(--color-danger)}.access-request__hint{color:var(--color-fg-muted)}.access-request__wait{width:min(100%,28rem);padding:.85rem 1rem;border-radius:.6rem;border:1px dashed color-mix(in srgb,var(--color-sea-400) 45%,var(--color-border));background:var(--color-success-soft)}.access-request[data-status=pending] h1{color:var(--color-accent-strong)}.access-request[data-status=pending] .workspace__lede,.access-request[data-status=approved] .workspace__lede{color:var(--color-fg-muted)}.access-request[data-status=approved] h1{color:var(--color-success)}.access-request[data-status=denied] h1{color:var(--color-danger)}.card{display:flex;flex-direction:column;gap:.65rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:.65rem;padding:1rem 1.1rem;color:var(--color-fg)}.card--flush{padding:0;gap:0}.card--interactive{position:relative;overflow:hidden;isolation:isolate;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.card--interactive:after{content:"";position:absolute;inset:50% auto auto 50%;width:.5rem;height:.5rem;margin:-.25rem 0 0 -.25rem;border-radius:50%;background:#ffffff59;opacity:0;pointer-events:none;transform:scale(0)}.card--interactive:active:not(:disabled):after{animation:ui-wave .55s ease-out}.card--interactive:hover{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.card__header{display:flex;flex-direction:column;gap:.2rem}.card__title{margin:0;font-size:.95rem;font-weight:650;letter-spacing:-.01em}.card__subtitle{margin:0;font-size:.82rem;color:var(--color-fg-muted)}.card__body{min-width:0}.toast-host{position:fixed;top:1rem;right:1rem;z-index:80;display:flex;flex-direction:column;align-items:stretch;gap:.55rem;width:min(22rem,100vw - 2rem);pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:start;padding:.75rem .85rem;border-radius:.55rem;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-fg);animation:toast-in .22s ease-out}.toast--success{border-color:color-mix(in srgb,var(--color-success, #2f9e6b) 45%,var(--color-border));background:color-mix(in srgb,var(--color-success-soft, #e8f7ef) 70%,var(--color-bg-elevated))}.toast--error{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:color-mix(in srgb,var(--color-danger-soft) 70%,var(--color-bg-elevated))}.toast--info{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.toast__message{margin:0;font-size:.9rem;line-height:1.35}.toast__dismiss{appearance:none;border:0;background:transparent;color:var(--color-fg-muted);font-size:1.15rem;line-height:1;cursor:pointer;padding:0}.toast__dismiss:hover{color:var(--color-fg)}@keyframes toast-in{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}
