:root{color-scheme:light;--bg: #0f172a;--bg-accent: #1e293b;--surface: #f8fafc;--surface-elevated: #ffffff;--ink: #0f172a;--muted: #64748b;--border: #cbd5e1;--border-subtle: #e2e8f0;--border-strong: #94a3b8;--accent: #0d9488;--accent-hover: #0f766e;--accent-soft: #ccfbf1;--accent-muted: #99f6e4;--danger: #b91c1c;--danger-hover: #991b1b;--danger-soft: #fee2e2;--warning: #d97706;--font-sans: "Segoe UI", "IBM Plex Sans", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: clamp(1.75rem, 3vw, 2.25rem);--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--radius: 16px;--radius-sm: 10px;--radius-xs: 8px;--shadow: 0 20px 50px rgb(15 23 42 / 25%);--shadow-sm: 0 8px 24px rgb(15 23 42 / 8%);--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--input-padding-y: .7rem;--input-padding-x: .875rem;--label-gap: .35rem;--focus-ring: 0 0 0 3px rgb(13 148 136 / 28%);--link: var(--accent);--link-hover: var(--accent-hover);--link-visited: #115e59;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left,#134e4a 0%,transparent 45%),radial-gradient(circle at top right,#1d4ed8 0%,transparent 40%),linear-gradient(160deg,var(--bg),var(--bg-accent))}h1,h2,h3{margin:0;line-height:var(--leading-tight);font-weight:var(--font-bold);letter-spacing:-.02em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{margin:0;line-height:var(--leading-relaxed)}a{color:var(--link)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),select,textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--input-padding-y) var(--input-padding-x);font:inherit;color:var(--ink);background:var(--surface-elevated);transition:border-color .15s ease,box-shadow .15s ease}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--border-strong)}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):disabled,select:disabled,textarea:disabled{opacity:.65;cursor:not-allowed;background:#f1f5f9}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;margin:0;accent-color:var(--accent);cursor:pointer;flex-shrink:0}textarea{min-height:6rem;resize:vertical}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem}#root{min-height:100vh}.shell{max-width:720px;margin:0 auto;padding:4rem 1.5rem}.hero h1{margin:.25rem 0;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em;color:#f8fafc}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--accent-soft)}.eyebrow.ink{color:var(--accent)}.subtitle{color:#cbd5e1;line-height:var(--leading-relaxed);font-size:var(--text-sm)}.muted{color:var(--muted);font-size:var(--text-sm)}.card{margin-top:2rem;padding:1.5rem;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card h2,.login-card h1{margin-top:0}.login-shell{display:grid;place-items:center;min-height:100vh;max-width:none}.login-card{width:min(420px,100%);margin-top:0}.login-form{display:grid;gap:var(--space-lg);margin-top:var(--space-xl)}.login-form label,.form-field{display:grid;gap:var(--label-gap);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink)}.login-form .field-hint,.form-hint{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--muted)}.login-form button,.btn-primary{border:0;border-radius:999px;padding:var(--input-padding-y) 1.25rem;font:inherit;font-weight:var(--font-semibold);cursor:pointer;background:var(--accent);color:#fff;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.login-form button:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.login-form button:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(1px)}.login-form button:disabled,.btn-primary:disabled{opacity:.7;cursor:wait}.login-form button:focus-visible,.btn-primary:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.actions{display:flex;gap:.75rem;margin-top:1rem;align-items:center}.ghost,.btn-secondary{border:0;border-radius:999px;padding:var(--input-padding-y) 1.15rem;font:inherit;font-weight:var(--font-semibold);cursor:pointer;background:#f8fafc1f;color:#f8fafc;border:1px solid rgb(248 250 252 / 25%);transition:background .15s ease,border-color .15s ease,color .15s ease}.ghost:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:#f8fafc2e;border-color:#f8fafc59}.ghost:disabled,.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.ghost-link,a.text-link{color:var(--accent-muted);font-weight:var(--font-semibold);text-decoration:none;border-radius:4px;transition:color .15s ease}.ghost-link:hover,a.text-link:hover{color:#ecfeff;text-decoration:underline;text-underline-offset:.15em}.ghost-link:visited,a.text-link:visited{color:#5eead4}.ghost-link:focus-visible,a.text-link:focus-visible{outline:2px solid var(--accent-muted);outline-offset:2px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.grid dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.grid dd{margin:.25rem 0 0;font-weight:600}.error{color:var(--danger);margin:0;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-xs);background:var(--danger-soft);border:1px solid rgb(185 28 28 / 15%)}.role-list{margin:0;padding-left:1.2rem;line-height:1.7}.shell.wide{max-width:1100px}.toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.toolbar input[type=search]{min-width:220px;max-width:320px}.compact{margin:0;font-size:var(--text-sm)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th,.data-table td{text-align:left;padding:.7rem .65rem;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tbody tr:hover{background:#f8fafccc}.data-table--navigable tbody tr.row-navigable{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.data-table--navigable tbody tr.row-navigable:hover,.data-table--navigable tbody tr.row-navigable:focus-visible{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);outline:none}.data-table--navigable tbody tr.row-navigable--inactive{opacity:.82}.data-table--navigable tbody tr.row-navigable--inactive:hover,.data-table--navigable tbody tr.row-navigable--inactive:focus-visible{opacity:1}.table-hint{margin:0 0 .75rem}.table-empty{text-align:center;padding:2rem 1rem!important}.list-entity-cell{display:flex;align-items:center;gap:.75rem;min-width:0}.list-entity-avatar{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover);font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0}.list-entity-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.list-entity-name{font-weight:var(--font-semibold);color:var(--ink)}.list-entity-meta{font-size:var(--text-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1.3}.status-badge--active{background:#dcfce7;color:#166534}.status-badge--inactive{background:#f1f5f9;color:#64748b}.role-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--font-medium);background:#eff6ff;color:#1d4ed8}.meta-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;padding:.15rem .5rem;border-radius:999px;background:#f1f5f9;color:var(--ink);font-size:var(--text-xs);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums}.list-entity-avatar--client,.profile-avatar-large--client{background:linear-gradient(145deg,#dbeafe,#eff6ff);color:#1d4ed8}.list-entity-avatar--project,.profile-avatar-large--project{background:linear-gradient(145deg,#fef3c7,#fffbeb);color:#b45309}.list-entity-avatar--team,.profile-avatar-large--team{background:linear-gradient(145deg,#ede9fe,#f5f3ff);color:#6d28d9}.list-entity-avatar--task,.profile-avatar-large--task{background:linear-gradient(145deg,#dcfce7,#f0fdf4);color:#15803d}.list-entity-avatar--user,.profile-avatar-large--user{background:linear-gradient(145deg,var(--accent-soft),#e0f2fe);color:var(--accent-hover)}.manager-cell{font-weight:var(--font-medium)}.member-roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.member-roster-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:#f8fafc;color:inherit;text-decoration:none;transition:background .15s ease,border-color .15s ease}.member-roster-item:hover{background:var(--accent-soft);border-color:#0d948840}.member-roster-item--static{cursor:default}.member-roster-avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover);font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0}.member-roster-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.member-roster-name{font-weight:var(--font-semibold)}.member-roster-meta{font-size:var(--text-xs);color:var(--muted)}.detail-breadcrumb,.profile-card{margin-bottom:1rem}.profile-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.25rem}.profile-identity{display:flex;align-items:flex-start;gap:1rem;min-width:0}.profile-avatar-large{display:inline-flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:999px;background:linear-gradient(145deg,var(--accent-soft),#e0f2fe);color:var(--accent-hover);font-size:var(--text-xl);font-weight:var(--font-bold);flex-shrink:0;box-shadow:var(--shadow-sm)}.profile-identity-text{min-width:0}.profile-title{margin:0;font-size:var(--text-2xl)}.profile-subtitle{margin:.35rem 0 0;color:var(--ink);font-weight:var(--font-medium)}.profile-phone{margin:.2rem 0 0;color:var(--muted);font-size:var(--text-sm)}.profile-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.profile-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.detail-panel-title{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:var(--text-lg)}.detail-panel-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .45rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover);font-size:var(--text-xs);font-weight:var(--font-bold)}.detail-panel-empty{margin:0}.detail-facts{display:grid;gap:.85rem;margin:0}.detail-fact dt{margin:0;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.detail-fact dd{margin:.2rem 0 0;font-weight:var(--font-medium)}.detail-inline-link{color:var(--link);font-weight:var(--font-semibold);text-decoration:none}.detail-inline-link:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:.15em}.related-entity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.related-entity-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:#f8fafc;color:inherit;text-decoration:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.related-entity-item:hover{background:var(--accent-soft);border-color:#0d948840;box-shadow:inset 3px 0 0 var(--accent)}.related-entity-item--inactive{opacity:.75}.related-entity-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.related-entity-name{font-weight:var(--font-semibold);color:var(--ink)}.related-entity-meta{font-size:var(--text-xs);color:var(--muted)}.related-entity-chevron{color:var(--muted);flex-shrink:0;transition:color .15s ease,transform .15s ease}.related-entity-item:hover .related-entity-chevron{color:var(--accent);transform:translate(2px)}.row-open-hint{width:2rem;padding-inline:.35rem!important;text-align:center}.row-open-icon{color:var(--muted);opacity:0;transition:opacity .15s ease,color .15s ease,transform .15s ease}.row-navigable:hover .row-open-icon,.row-navigable:focus-visible .row-open-icon{opacity:1;color:var(--accent);transform:translate(2px)}.data-table th{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc;white-space:nowrap}.sortable-th{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:0;background:none;font:inherit;font-weight:var(--font-semibold);color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.sortable-th:hover,.sortable-th--active{color:var(--accent-hover)}.sortable-th-icon{display:inline-flex;opacity:.65}.sortable-th--active .sortable-th-icon{opacity:1}.data-table tr.filter-row th{padding-top:.35rem;padding-bottom:.75rem;text-transform:none;letter-spacing:normal;font-weight:var(--font-normal)}.column-filter-input{width:100%;min-width:5.5rem;padding:.4rem .55rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-sm);background:var(--surface-elevated)}.column-filter-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;position:relative;z-index:1}.filter-reset-btn{border:1px solid var(--border);border-radius:var(--radius-xs);padding:.45rem .75rem;background:var(--surface-elevated);font:inherit;font-size:var(--text-sm);cursor:pointer}.filter-reset-btn:hover{border-color:var(--border-strong);background:#f8fafc}.data-table td .muted{font-size:inherit}.row-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.icon-btn,.icon-link{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;padding:.35rem;border-radius:var(--radius-xs);border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;text-decoration:none;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease}.icon-btn:hover:not(:disabled),.icon-link:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}.icon-btn:focus-visible,.icon-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.danger,.icon-link.danger{color:var(--danger)}.icon-btn.danger:hover:not(:disabled),.icon-link.danger:hover{background:var(--danger-soft);color:var(--danger)}.icon-btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.icon-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.icon-btn--wide{width:100%;gap:.5rem;min-height:2.75rem;font-weight:var(--font-semibold)}.icon-btn-text{font-size:var(--text-sm)}.icon-btn--with-count{gap:.35rem;padding-inline:.5rem;color:var(--link)}.icon-btn--with-count:hover{background:var(--accent-soft);color:var(--accent-hover)}.icon-btn-count{font-size:var(--text-sm);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums}.hero .icon-btn,.hero .icon-link{color:var(--accent-muted)}.hero .icon-btn:hover:not(:disabled),.hero .icon-link:hover{background:#f8fafc1f;color:#ecfeff}.hero .icon-btn.danger:hover:not(:disabled){background:#fee2e240;color:#fecaca}.app-content .hero .icon-btn,.app-content .hero .icon-link{color:var(--link)}.app-content .hero .icon-btn:hover:not(:disabled),.app-content .hero .icon-link:hover{background:var(--accent-soft);color:var(--accent-hover)}.icon-spin{animation:icon-spin .8s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}.icon-tab{display:inline-flex;align-items:center;gap:.4rem}.icon-tab-label{font-size:var(--text-sm)}.linkish{border:0;background:none;padding:.1rem .15rem;color:var(--link);font:inherit;font-weight:var(--font-medium);cursor:pointer;text-decoration:underline;text-underline-offset:.15em;border-radius:4px;transition:color .15s ease}.linkish:hover{color:var(--link-hover)}.linkish:focus-visible{outline:2px solid var(--accent);outline-offset:2px;text-decoration:none}.linkish.danger{color:var(--danger)}.linkish.danger:hover{color:var(--danger-hover)}.ghost.danger,.ghost.danger-btn{color:var(--danger);border-color:#b91c1c4d;background:#fee2e259}.ghost.danger:hover:not(:disabled),.ghost.danger-btn:hover:not(:disabled){background:var(--danger-soft);border-color:#b91c1c66}.list-pager,.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.25rem;margin-top:1.25rem;padding:.85rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#f8fafc}.list-pager__summary{flex:1 1 12rem;margin:0;font-size:var(--text-sm);color:var(--muted)}.list-pager__summary strong{color:var(--ink);font-weight:var(--font-semibold)}.list-pager__controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:1rem 1.25rem;flex:2 1 20rem}.list-pager__label{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}.list-pager__page-size{display:inline-flex;align-items:center;gap:.5rem}.list-pager__select,.list-pager__input,.pager-page-size-select,.pager-input{min-width:4.5rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-sm);background:var(--surface-elevated);color:var(--ink)}.list-pager__input{width:3.75rem;min-width:3.75rem;text-align:center}.list-pager__select:focus,.list-pager__input:focus,.pager-page-size-select:focus,.pager-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.list-pager__navigation{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.list-pager__btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.25rem;padding:.45rem .85rem;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-elevated);font:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ink);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.list-pager__btn:hover:not(:disabled){border-color:var(--border-strong);background:#fff;color:var(--accent-hover)}.list-pager__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list-pager__btn:disabled{opacity:.45;cursor:not-allowed}.list-pager__jump{display:inline-flex;align-items:center;gap:.45rem}.list-pager__total{font-size:var(--text-sm);color:var(--muted);white-space:nowrap}@media(max-width:720px){.list-pager,.pager{flex-direction:column;align-items:stretch}.list-pager__summary{text-align:center}.list-pager__controls{flex-direction:column;align-items:stretch}.list-pager__page-size,.list-pager__navigation{justify-content:center}.list-pager__navigation{width:100%}.list-pager__btn{flex:1 1 auto}}.actions.stacked{flex-wrap:wrap;margin-top:1.5rem}.stack{display:flex;flex-direction:column;gap:1rem}.checkbox-row{display:flex;align-items:flex-start;gap:var(--space-sm);font-weight:var(--font-normal);font-size:var(--text-sm);line-height:var(--leading-normal)}@media(max-width:640px){.grid,.detail-grid{grid-template-columns:1fr}.profile-header{flex-direction:column}.profile-toolbar{width:100%}}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{border:1px solid var(--border);border-radius:999px;padding:.5rem 1rem;background:var(--surface-elevated);font:inherit;font-weight:var(--font-medium);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.tab:hover:not(.active){border-color:var(--border-strong);background:#f8fafc}.tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover);font-weight:var(--font-semibold)}.weekday-grid,.merge-grid{display:flex;flex-wrap:wrap;gap:.5rem}.weekday-chip,.merge-item{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.4rem .7rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--surface-elevated);font-size:var(--text-sm)}.inline-fields{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;margin-bottom:var(--space-md)}.inline-fields input,.inline-fields select{width:auto;min-width:5rem;padding:.55rem .7rem}.label-row input[type=color]{width:2.5rem;height:2.5rem;padding:0;border:none;background:none}.list-plain{margin:0;padding-left:1.2rem}.banner-warning{border-left:4px solid var(--warning);background:#fffbeb}.banner-error{border-left:4px solid var(--danger);background:var(--danger-soft)}.banner-success{border-left:4px solid var(--accent);background:var(--accent-soft)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#0f172a8c;cursor:pointer;z-index:0}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-dialog,.modal{position:relative;z-index:1;width:min(560px,100%);max-height:min(80vh,720px);margin:0;display:flex;flex-direction:column;background:var(--surface-elevated);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border-subtle);background:#f8fafc}.modal-header .modal-close{flex-shrink:0}.modal-header-main{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.modal-header-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent-hover);flex-shrink:0}.modal-header-text{min-width:0}.modal-eyebrow{margin:0;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.members-modal .modal-title{margin:.2rem 0 0;font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:normal;color:var(--ink)}.modal-subtitle{margin:.25rem 0 0;font-size:var(--text-sm);color:var(--muted);font-weight:var(--font-medium)}.modal-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.modal-close{min-width:2rem}.modal-body{padding:1rem 1.1rem 1.1rem;overflow:auto}.members-modal-section+.members-modal-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.members-modal-section-title{margin:0 0 .65rem;font-size:var(--text-xs)!important;font-weight:var(--font-semibold);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;line-height:var(--leading-normal)}.members-modal-teams{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.members-modal-team-pill{display:inline-flex;padding:.25rem .6rem;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:var(--text-xs);font-weight:var(--font-semibold);text-decoration:none}.members-modal-team-pill:hover{background:#ddd6fe}.members-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.members-modal-member{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:#fff;color:var(--ink);text-decoration:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.members-modal-member:hover{background:var(--accent-soft);border-color:#0d948840;box-shadow:inset 3px 0 0 var(--accent);color:var(--ink);text-decoration:none}.members-modal-member--static{cursor:default}.members-modal-avatar{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover);font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0}.members-modal-member-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.members-modal-member-name{font-weight:var(--font-semibold);color:var(--ink)}.members-modal-member:hover .members-modal-member-name{color:var(--accent-hover)}.members-modal-member-meta{font-size:var(--text-xs);color:var(--muted)}.members-modal-empty{margin:0}.app-layout{min-height:100vh;display:flex;flex-direction:column;background:#f1f5f9;color:var(--ink)}.app-navbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#0f172a;color:#f8fafc;border-bottom:1px solid rgb(248 250 252 / 12%);position:sticky;top:0;z-index:40}.navbar-left,.navbar-right,.user-menu,.quick-actions{display:flex;align-items:center;gap:.75rem}.navbar-brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none}.brand-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:12px;background:#0d948840;font-size:1.15rem;line-height:1;flex-shrink:0}.navbar-brand:hover{opacity:.92}.navbar-brand:focus-visible{outline:2px solid var(--accent-muted);outline-offset:3px;border-radius:8px}.brand-text-block{display:flex;flex-direction:column;line-height:1.2}.brand-text{font-weight:700}.brand-subtitle{font-size:.8rem;color:#cbd5e1}.menu-toggle{display:none;font-size:1.1rem;line-height:1;min-width:2.5rem;padding:.45rem .65rem}.user-avatar{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:700}.user-info{display:flex;flex-direction:column;line-height:1.2}.user-name{font-weight:600}.user-role-badge{font-size:.75rem;color:#cbd5e1}.logout-button{white-space:nowrap}.app-body{display:flex;flex:1;min-height:0}.app-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:#0f172a;color:#e2e8f0;border-right:1px solid rgb(248 250 252 / 8%)}.app-sidebar.collapsed{width:72px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem .75rem;border-bottom:1px solid rgb(248 250 252 / 8%)}.sidebar-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.collapse-btn{min-width:2rem;padding:.35rem .55rem;font-size:var(--text-sm);line-height:1}.sidebar-nav{flex:1;overflow-y:auto;padding:.75rem .5rem}.nav-section+.nav-section{margin-top:.75rem}.section-title{padding:.35rem .65rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;color:#94a3b8}.nav-item{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;margin-bottom:.2rem;border-radius:var(--radius-sm);color:inherit;text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background .15s ease,color .15s ease}.nav-item:focus-visible{outline:2px solid var(--accent-muted);outline-offset:1px}.nav-item:hover:not(.disabled){background:#f8fafc14}.nav-item.active{background:#0d948838;color:#99f6e4}.nav-item.disabled{opacity:.55;cursor:not-allowed}.nav-icon{width:1.35rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;color:inherit}.nav-text{line-height:var(--leading-tight)}.ui-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:.9rem;line-height:1;font-weight:var(--font-bold)}.nav-badge{margin-left:auto;font-size:.68rem;padding:.15rem .45rem;border-radius:999px;background:#f8fafc1f}.sidebar-footer{padding:.75rem;border-top:1px solid rgb(248 250 252 / 8%)}.quick-action-btn{min-width:2rem;padding:.35rem .55rem;font-size:var(--text-sm);line-height:1}.sidebar-info{display:flex;flex-direction:column;gap:.15rem;margin-top:.75rem;font-size:.72rem;color:#94a3b8}.app-content{flex:1;min-width:0;overflow:auto;background:#f1f5f9}.app-content .shell{max-width:none;margin:0;padding:1.5rem;min-height:100%}.app-content .shell.wide{max-width:none}.app-content .hero h1,.app-content .hero .subtitle{color:var(--ink)}.app-content .eyebrow{color:var(--accent)}.app-content .ghost{background:var(--surface-elevated);color:var(--ink);border:1px solid var(--border)}.app-content .ghost:hover:not(:disabled){background:#f8fafc;border-color:var(--border-strong)}.app-content .ghost-link{color:var(--link)}.app-content .ghost-link:hover{color:var(--link-hover)}.app-content .ghost-link:visited{color:var(--link-visited)}.app-content a:not(.ghost-link):not(.nav-item):not(.navbar-brand){color:var(--link);font-weight:var(--font-medium);text-underline-offset:.15em}.app-content a:not(.ghost-link):not(.nav-item):not(.navbar-brand):hover{color:var(--link-hover)}.sidebar-overlay{display:none}.page-container{max-width:960px;margin:0 auto;padding:1.5rem}.page-header h1{margin:0 0 .35rem;font-size:clamp(1.5rem,3vw,2rem);display:flex;align-items:center;gap:var(--space-sm)}.page-description{margin:0;color:var(--muted);font-size:var(--text-sm)}.content-card{margin-top:1.25rem;padding:var(--space-xl);border-radius:var(--radius);background:var(--surface-elevated);box-shadow:var(--shadow-sm);border:1px solid var(--border-subtle)}.placeholder-content{text-align:center;padding:1rem .5rem .25rem}.placeholder-icon{display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);color:var(--accent);opacity:.9}.page-title-with-icon{display:flex;align-items:center;gap:.6rem}.page-title-icon{display:inline-flex;color:var(--accent)}.placeholder-details{color:var(--muted);max-width:36rem;margin:.75rem auto 0;font-size:var(--text-sm)}@media(max-width:960px){.menu-toggle{display:inline-flex}.user-info{display:none}.app-sidebar{position:fixed;top:57px;left:0;bottom:0;z-index:30;transform:translate(-100%);transition:transform .2s ease}.app-sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:57px;right:0;bottom:0;left:0;border:0;padding:0;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:20}.sidebar-overlay.active{opacity:1;pointer-events:auto}}.settings-panel{display:flex;flex-direction:column;gap:0}.settings-block{padding-top:1.25rem;margin-top:1.25rem;border-top:1px solid var(--border-subtle)}.settings-block:first-child{padding-top:0;margin-top:0;border-top:none}.settings-block-title{margin:0 0 .75rem;font-size:var(--text-base);font-weight:var(--font-semibold)}.settings-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;max-width:28rem}.form-field{display:flex;flex-direction:column;gap:.35rem;font-size:var(--text-sm);font-weight:var(--font-medium)}.form-field input:not([type=checkbox]):not([type=radio]),.form-field select{width:100%;font-weight:var(--font-normal)}.settings-checklist{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}.settings-check-item{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-sm)}.settings-actions-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.settings-inline-input{width:100%;min-width:8rem;padding:.45rem .6rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-sm)}.settings-inline-input--hex{max-width:7rem}.color-swatch-input{display:flex;align-items:center;gap:.5rem}.color-swatch-input input[type=color]{width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:none;cursor:pointer}.settings-merge-target{max-width:20rem;margin-top:1rem}.settings-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.simple-modal .modal-header .modal-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.modal-footer{padding:.85rem 1.1rem;border-top:1px solid var(--border-subtle);background:#f8fafc}.modal-footer-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.history-list{margin:0;padding:0;list-style:none;display:grid;gap:.65rem}.history-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-bottom:.65rem;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.history-list li:last-child{padding-bottom:0;border-bottom:none}.history-list-author{font-weight:var(--font-medium)}.history-list-date{color:var(--muted)}.list-view-settings{position:relative}.list-view-settings-trigger{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border);border-radius:var(--radius-xs);padding:.5rem .8rem;background:var(--surface-elevated);font:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ink);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.list-view-settings-trigger:hover,.list-view-settings-trigger--open{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.list-view-settings-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:var(--font-bold);line-height:1}.list-view-settings-panel{width:min(17rem,calc(100vw - 2rem));padding:.85rem;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-elevated);box-shadow:var(--shadow)}.list-view-settings-panel--portal{position:fixed;z-index:45}.list-view-settings-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.list-view-settings-title{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold)}.list-view-settings-reset{display:inline-flex;align-items:center;gap:.3rem;border:0;padding:0;background:none;color:var(--accent-hover);font:inherit;font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer}.list-view-settings-reset:hover{text-decoration:underline}.list-view-settings-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem;max-height:16rem;overflow-y:auto}.list-view-settings-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .5rem;border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer}.list-view-settings-item:hover{background:#f8fafc}.pager-page-size{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--muted)}.form-hero .form-back-link{font-size:var(--text-sm);font-weight:var(--font-medium)}.entity-form-card{padding:0;overflow:hidden}.entity-form-loading{padding:1.5rem;margin:0}.form-alert{margin:1rem 1.5rem 0;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:var(--text-sm)}.form-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.entity-form{display:flex;flex-direction:column}.form-section{padding:1.35rem 1.5rem;border-top:1px solid var(--border-subtle)}.form-section:first-child{border-top:none}.form-section-header{margin-bottom:1rem}.form-section-title{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--ink)}.form-section-description{margin:.35rem 0 0;font-size:var(--text-sm);color:var(--muted);line-height:1.5;max-width:42rem}.form-section-body{display:flex;flex-direction:column;gap:1rem}.form-section-body>.form-field-grid{margin-top:0}.form-field-grid{display:grid;gap:1rem}.form-field-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.entity-form .form-field{display:flex;flex-direction:column;gap:.4rem}.entity-form .form-field-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink)}.form-field-required{margin-left:.2rem;color:#dc2626}.entity-form .form-field input:not([type=checkbox]):not([type=color]),.entity-form .form-field select,.entity-form .form-field textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-sm);font-weight:var(--font-normal);background:var(--surface-elevated);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.entity-form .form-field input:not([type=checkbox]):focus,.entity-form .form-field select:focus,.entity-form .form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.entity-form .form-field input:disabled,.entity-form .form-field select:disabled{background:#f8fafc;color:var(--muted);cursor:not-allowed}.entity-form .form-field textarea{resize:vertical;min-height:5.5rem}.entity-form .form-hint{margin:0;font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--muted);line-height:1.45}.form-field-error{margin:0;font-size:var(--text-xs);color:#dc2626}.form-checkbox-picker{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#f8fafc;overflow:clip;min-width:0}.form-checkbox-picker-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--border-subtle);background:var(--surface-elevated)}.form-checkbox-picker-search{flex:1 1 12rem;min-width:10rem;padding:.5rem .65rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-sm);background:#fff}.form-checkbox-picker-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-checkbox-picker-count{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--muted);white-space:nowrap}.form-checkbox-picker-empty{margin:0;padding:1rem .75rem;font-size:var(--text-sm)}.form-checkbox-picker-list{margin:0;padding:.5rem;list-style:none;max-height:16rem;overflow-x:hidden;overflow-y:auto;display:grid;gap:.35rem}.form-checkbox-picker-list>li{min-width:0}.form-checkbox-picker-item{display:flex;align-items:flex-start;gap:.6rem;width:100%;box-sizing:border-box;padding:.55rem .65rem;border-radius:var(--radius-xs);border:1px solid transparent;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}.form-checkbox-picker-item:hover{border-color:var(--border-subtle);background:#f8fafc}.form-checkbox-picker-item.is-selected{border-color:#0d948859;background:var(--accent-soft)}.form-checkbox-picker-item input[type=checkbox]{margin-top:.15rem;flex:0 0 auto;width:1rem;height:1rem;min-width:1rem;max-width:1rem}.form-checkbox-picker-item-text{display:flex;flex:1;flex-direction:column;gap:.1rem;min-width:0}.form-checkbox-picker-item-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ink);overflow-wrap:anywhere;word-break:break-word}.form-checkbox-picker-item-meta{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere;word-break:break-word}.form-repeater-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem}.form-repeater-row-fields{flex:1 1 14rem;min-width:0}.form-repeater-row-fields input{width:100%;padding:.55rem .7rem;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-sm);background:var(--surface-elevated)}.form-repeater-stack{display:grid;gap:.65rem}.form-section-columns{display:grid;gap:1.25rem}.form-section-columns .form-field{min-width:0}.form-section-columns .form-checkbox-picker,.form-section-columns .form-entity-picker{width:100%;max-width:100%}.btn-secondary--compact{padding:.45rem .85rem;font-size:var(--text-sm)}.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.15rem 1.5rem;border-top:1px solid var(--border-subtle);background:#f8fafc}.form-actions .btn-primary,.form-actions .btn-secondary{min-width:8.5rem;text-align:center;text-decoration:none}.form-inline-note{margin:0;padding:.65rem .85rem;border-radius:var(--radius-xs);background:#f1f5f9;font-size:var(--text-sm);color:var(--muted)}@media(max-width:768px){.form-field-grid--2,.form-field-grid--3,.form-section-columns{grid-template-columns:1fr}.form-section{padding:1.15rem 1rem}.form-actions{padding:1rem}.form-actions .btn-primary,.form-actions .btn-secondary{flex:1 1 100%}}@media(min-width:900px){.form-section-columns--2{grid-template-columns:repeat(2,minmax(16rem,1fr))}}.form-password-field{display:grid;gap:.55rem}.form-password-actions{display:flex;flex-wrap:wrap;gap:.5rem}.form-password-actions .btn-secondary{display:inline-flex;align-items:center;gap:.35rem}.form-hint--success{color:#047857}.form-entity-picker{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#f8fafc;overflow:clip;min-width:0}.form-entity-picker-list{margin:0;padding:.5rem;list-style:none;max-height:14rem;overflow-x:hidden;overflow-y:auto;display:grid;gap:.4rem}.form-entity-picker-list>li{min-width:0}.form-entity-picker-item{display:flex;align-items:center;gap:.7rem;width:100%;padding:.6rem .7rem;border:1px solid transparent;border-radius:var(--radius-xs);background:#fff;text-align:left;font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.form-entity-picker-item:hover{border-color:var(--border-subtle);background:#f8fafc}.form-entity-picker-item.is-selected{border-color:#0d948866;background:var(--accent-soft);box-shadow:inset 0 0 0 1px #0d94881f}.form-entity-picker-avatar{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:#e2e8f0;color:#334155;font-size:var(--text-sm);font-weight:var(--font-bold);flex-shrink:0}.form-entity-picker-item.is-selected .form-entity-picker-avatar{background:var(--accent);color:#fff}.form-entity-picker-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.form-entity-picker-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink);overflow-wrap:anywhere;word-break:break-word}.form-entity-picker-subtitle{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere;word-break:break-word}.form-entity-picker-check{color:var(--accent-hover);font-weight:var(--font-bold);flex-shrink:0}.toast-viewport{position:fixed;top:1rem;right:1rem;z-index:60;display:flex;flex-direction:column;gap:.75rem;width:min(22rem,calc(100vw - 2rem));pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:start;padding:.9rem .95rem 1rem;border-radius:var(--radius);background:var(--surface-elevated);border:1px solid var(--border-subtle);box-shadow:0 10px 30px #0f172a1f,0 2px 8px #0f172a0f;overflow:hidden;pointer-events:auto;animation:toast-enter .28s ease-out}@keyframes toast-enter{0%{opacity:0;transform:translateY(-.35rem) translate(.5rem)}to{opacity:1;transform:translateY(0) translate(0)}}.toast--success{border-color:#0d948847}.toast--error{border-color:#ef444447}.toast--info{border-color:#3b82f647}.toast-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:999px;flex-shrink:0}.toast-icon--success{background:var(--accent-soft);color:var(--accent-hover)}.toast-icon--error{background:#fef2f2;color:#dc2626}.toast-icon--info{background:#eff6ff;color:#2563eb}.toast-content{min-width:0;padding-top:.1rem}.toast-title{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink)}.toast-message{margin:.25rem 0 0;font-size:var(--text-xs);line-height:1.45;color:var(--muted)}.toast-close{display:grid;place-items:center;width:1.75rem;height:1.75rem;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.toast-close:hover{background:#f1f5f9;color:var(--ink)}.toast-progress{position:absolute;left:0;right:0;bottom:0;height:3px;transform-origin:left center;animation:toast-progress 4.5s linear forwards}.toast--success .toast-progress{background:linear-gradient(90deg,var(--accent),var(--accent-muted))}.toast--error .toast-progress{background:linear-gradient(90deg,#ef4444,#fca5a5)}.toast--info .toast-progress{background:linear-gradient(90deg,#3b82f6,#93c5fd)}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:640px){.toast-viewport{top:auto;right:.75rem;left:.75rem;bottom:.75rem;width:auto}}
