@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable.woff2)format("woff2-variations"),url(/fonts/InterVariable.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/InterVariable-Italic.woff2)format("woff2-variations"),url(/fonts/InterVariable-Italic.woff2)format("woff2")}:root{--color-brand:#850000;--color-brand-dark:#6e0000;--color-brand-active:#9e1a1a;--color-brand-text:#fff;--color-surface-base:#f5f4f2;--color-surface-raised:#fff;--color-surface-sunken:#eceae7;--color-border-default:#e0ddd9;--color-border-strong:#ccc9c4;--color-border-accent:#850000;--color-text-primary:#1a1a1a;--color-text-secondary:#555552;--color-text-muted:#6b6966;--color-text-nav:#ffffffc7;--color-text-nav-active:#fff;--color-success:#2d7a3a;--color-success-bg:#edf7ef;--color-warning:#8a6000;--color-warning-bg:#fef9ec;--color-danger:#b91c1c;--color-danger-bg:#fef2f2;--color-info:#1d4ed8;--color-info-bg:#eff6ff;--color-scrim:#0000008f;--color-role-admin:#6d3a99;--color-role-admin-bg:#f0e9f7;--color-role-admin-rail:#d9c2ee;--color-role-admin-rail-bg:#3a2a4d;--color-role-member:#555552;--color-role-member-bg:#eceae7;--color-role-member-border:#ccc9c4;--color-role-member-rail:#c9c6c1;--color-role-member-rail-bg:#2b2b2b;--color-role-member-rail-border:#4a4a4a;--color-role-billing:#1d4ed8;--color-role-billing-bg:#eff6ff;--color-role-billing-rail:#a9c9ee;--color-role-billing-rail-bg:#14304d;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", "Fira Code", "Consolas", monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--color-background-primary:var(--color-surface-raised);--color-background-secondary:var(--color-surface-sunken);--color-background-info:var(--color-info-bg);--color-text-info:var(--color-info);--color-text-success:var(--color-success);--color-text-danger:var(--color-danger);--color-border-info:var(--color-info);--color-border-danger:var(--color-danger);--color-border-tertiary:var(--color-border-default)}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-surface-base);color:var(--color-text-primary);margin:0}#root{text-align:left;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0;display:flex}.ecmark-canvas-container,.ecmark-canvas-container *{cursor:none!important}.ec-nav{background:var(--color-brand);flex-shrink:0;align-items:center;gap:2px;height:44px;padding:0 16px;display:flex}.ec-nav-brand{flex-shrink:0;align-items:center;margin-right:8px;display:flex}.ec-nav-lockup{flex-shrink:0;height:49px;display:block}.ec-nav-divider{background:#fff3;flex-shrink:0;width:.5px;height:18px;margin:0 8px}.ec-nav-btn{border-radius:var(--radius-md);height:28px;color:var(--color-text-nav);font-size:13px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0 10px;transition:background .15s,color .15s;display:flex}.ec-nav-btn:hover{color:#fff;background:#ffffff1a}.ec-nav-btn.active{color:var(--color-text-nav-active);background:var(--color-brand-active);border:.5px solid #fff3;font-weight:500}.ec-nav-caret{opacity:.55;font-size:11px}.ec-nav-spacer{flex:1}.ec-avatar{color:#fff;cursor:pointer;background:#ffffff2e;border:.5px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:500;transition:background .15s;display:flex}.ec-avatar:hover{background:#ffffff47}.ec-dropdown{background:var(--color-surface-raised);border:.5px solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:180px;padding:4px 0;overflow:hidden}.ec-dropdown-item{text-align:left;width:100%;font-size:13px;font-family:var(--font-sans);color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;padding:7px 16px;transition:background .1s;display:block}.ec-dropdown-item:hover{background:var(--color-surface-sunken)}.ec-dropdown-item.active{color:var(--color-brand);font-weight:500}.ec-dropdown-item.muted{color:var(--color-text-secondary)}.ec-dropdown-item.danger{color:var(--color-danger)}.ec-dropdown-item:disabled{opacity:.4;cursor:not-allowed}.ec-dropdown-divider{border:none;border-top:.5px solid var(--color-border-default);height:0;margin:4px 0}.ec-btn{border-radius:var(--radius-md);height:32px;font-size:13px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 14px;font-weight:400;transition:background .15s,border-color .15s;display:inline-flex}.ec-btn-primary{background:var(--color-brand);color:#fff;border:.5px solid var(--color-brand)}.ec-btn-primary:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark)}.ec-btn-secondary{background:var(--color-surface-raised);color:var(--color-text-primary);border:.5px solid var(--color-border-strong)}.ec-btn-secondary:hover{background:var(--color-surface-sunken)}.ec-btn-ghost{color:var(--color-text-secondary);background:0 0;border:.5px solid #0000}.ec-btn-ghost:hover{background:var(--color-surface-sunken);border-color:var(--color-border-default);color:var(--color-text-primary)}.ec-btn-danger{background:var(--color-surface-raised);color:var(--color-danger);border:.5px solid var(--color-border-strong)}.ec-btn-danger:hover{background:var(--color-danger-bg);border-color:var(--color-danger)}.ec-btn-danger-solid{background:var(--color-danger);color:#fff;border:.5px solid var(--color-danger)}.ec-btn-danger-solid:hover{background:#991b1b;border-color:#991b1b}.ec-btn-sm{height:26px;padding:0 10px;font-size:12px}.ec-btn-lg{height:38px;padding:0 18px;font-size:14px}.ec-btn:disabled{opacity:.4;cursor:not-allowed}.ec-btn-secondary.ec-btn--open{background:var(--color-surface-sunken);color:var(--color-brand);border-color:var(--color-brand)}.ec-btn-launcher{color:var(--color-brand);border:1px solid var(--color-brand);background:0 0}.ec-btn-launcher:hover{color:var(--color-brand);border-color:var(--color-brand);background:#f5e6e6}.ec-btn-launcher:active{color:var(--color-brand);border-color:var(--color-brand);background:#ebcfcf}.ec-btn-launcher.ec-btn--open{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.ec-input{border-radius:var(--radius-md);border:.5px solid var(--color-border-default);background:var(--color-surface-raised);height:32px;color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans);outline:none;width:100%;padding:0 10px;transition:border-color .15s}.ec-input:hover{border-color:var(--color-border-strong)}.ec-input:focus{border-color:var(--color-border-accent)}.ec-input::placeholder{color:var(--color-text-muted)}.ec-select{border-radius:var(--radius-md);border:.5px solid var(--color-border-default);background:var(--color-surface-raised);height:32px;color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5l6 6 6-6' stroke='%23555552' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:0 30px 0 10px;transition:border-color .15s}.ec-select:hover{border-color:var(--color-border-strong)}.ec-select:focus{border-color:var(--color-border-accent)}:focus-visible{outline:2px solid var(--color-border-accent);outline-offset:2px;border-radius:2px}.ec-label{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.ec-field{flex-direction:column;min-width:160px;display:flex}.ec-check-row{color:var(--color-text-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.ec-check-row input[type=checkbox],.ec-check-row input[type=radio]{accent-color:var(--color-brand);cursor:pointer;width:14px;height:14px}.ec-checkbox{appearance:none;border:1px solid var(--color-border-strong);background:var(--color-surface-raised);cursor:pointer;border-radius:3px;flex-shrink:0;width:14px;height:14px;margin:0;transition:background .1s,border-color .1s}.ec-checkbox:hover{border-color:var(--color-border-accent)}.ec-checkbox:checked{background-color:var(--color-brand);border-color:var(--color-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' fill='none'%3E%3Cpath d='M1 4l2.8 2.8L9 1.5' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat}.ec-checkbox:checked:hover{background-color:var(--color-brand-dark);border-color:var(--color-brand-dark)}.ec-checkbox:disabled{opacity:.4;cursor:not-allowed}.ec-card{background:var(--color-surface-raised);border:.5px solid var(--color-border-default);border-radius:var(--radius-lg);margin-bottom:4px;padding:16px}.ec-card-title{color:var(--color-text-primary);margin-bottom:8px;font-size:13px;font-weight:500}.ec-stat-card{background:var(--color-surface-sunken);border-radius:var(--radius-lg);min-width:100px;padding:10px 16px}.ec-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:3px;font-size:10px;font-weight:600}.ec-stat-value{color:var(--color-text-primary);font-size:22px;font-weight:500}.ec-badge{border-radius:var(--radius-full);align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.ec-badge-default{background:var(--color-surface-sunken);color:var(--color-text-secondary);border:.5px solid var(--color-border-default)}.ec-badge-success{background:var(--color-success-bg);color:var(--color-success)}.ec-badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.ec-badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.ec-badge-info{background:var(--color-info-bg);color:var(--color-info)}.ec-badge-brand{background:var(--color-brand);color:#fff}.ec-badge-role-admin{background:var(--color-role-admin-bg);color:var(--color-role-admin)}.ec-badge-role-member{background:var(--color-role-member-bg);color:var(--color-role-member);border:.5px solid var(--color-role-member-border)}.ec-badge-role-billing{background:var(--color-role-billing-bg);color:var(--color-role-billing)}.ec-badge-role-admin--rail{background:var(--color-role-admin-rail-bg);color:var(--color-role-admin-rail)}.ec-badge-role-member--rail{background:var(--color-role-member-rail-bg);color:var(--color-role-member-rail);border:.5px solid var(--color-role-member-rail-border)}.ec-badge-role-billing--rail{background:var(--color-role-billing-rail-bg);color:var(--color-role-billing-rail)}.ec-modal-backdrop{z-index:320;padding:var(--sp-6,24px);background:0 0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ec-modal-backdrop--dim{background:var(--color-scrim)}.ec-modal{background:var(--color-surface-raised);border-radius:var(--radius-lg,12px);border:.5px solid var(--color-border-default);box-shadow:var(--shadow-lg,0 10px 30px #0003);flex-direction:column;width:100%;max-width:440px;max-height:90vh;display:flex;overflow:hidden}.ec-modal-header{padding:var(--sp-4,12px) var(--sp-5,16px);border-bottom:.5px solid var(--color-border-default);background:var(--color-surface-raised);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ec-modal-title{color:var(--color-text-primary);font-size:15px;font-weight:500}.ec-modal-close{border-radius:var(--radius-md,6px);cursor:pointer;width:24px;height:24px;color:var(--color-text-muted,var(--color-text-secondary));background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.ec-modal-close:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.ec-modal-body{padding:var(--sp-5,16px);background:var(--color-surface-raised);flex:auto;overflow-y:auto}.ec-modal-footer{padding:var(--sp-3,8px) var(--sp-5,16px);border-top:.5px solid var(--color-border-default);justify-content:flex-end;gap:var(--sp-2,6px);background:var(--color-surface-base);flex-shrink:0;display:flex}.ec-drawer-container{z-index:300;justify-content:flex-end;align-items:stretch;padding-top:44px;display:flex;position:fixed;inset:0}.ec-drawer{background:var(--color-surface-raised);border-left:.5px solid var(--color-border-strong);box-shadow:var(--shadow-lg);flex-direction:column;max-width:94vw;animation:.18s ease-out ec-drawer-in;display:flex}@keyframes ec-drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.ec-drawer-header{padding:var(--sp-3,12px) var(--sp-4,16px);border-bottom:.5px solid var(--color-border-default);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ec-drawer-body{padding:var(--sp-4,16px);flex:auto;overflow-y:auto}.ec-toolbar{background:var(--color-surface-sunken);border:.5px solid var(--color-border-default);flex-shrink:0;align-items:center;gap:6px;height:40px;padding:0 12px;display:flex}.ec-toolbar-divider{background:var(--color-border-default);flex-shrink:0;width:.5px;height:20px;margin:0 2px}.ec-toolbar-btn{border-radius:var(--radius-sm);border:.5px solid var(--color-border-default);height:26px;color:var(--color-text-secondary);font-size:12px;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:0 8px;transition:background .1s;display:inline-flex}.ec-toolbar-btn:hover{background:var(--color-surface-raised);border-color:var(--color-border-default);color:var(--color-text-primary)}.ec-toolbar-btn.active{background:var(--color-surface-raised);border-color:var(--color-border-strong);color:var(--color-text-primary);font-weight:500}.ec-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.no-spin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.no-spin{-moz-appearance:textfield}.ec-project-page{box-sizing:border-box;grid-template-columns:1fr 340px;gap:24px;height:calc(100vh - 44px);padding:32px;display:grid;overflow:hidden}.ec-project-list{flex-direction:column;display:flex;overflow:hidden}.ec-project-list-scroll{flex:1;margin-top:12px;overflow-y:auto}.ec-project-card{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-sunken);flex-direction:column;gap:8px;margin-bottom:8px;padding:12px 14px;display:flex}.ec-project-card.active{border-color:var(--color-info);background:var(--color-info-bg);box-shadow:inset 0 0 0 1px var(--color-info)}.ec-project-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.ec-project-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.ec-project-tag{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ec-project-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.ec-project-date{color:var(--color-text-muted);font-size:11px}.ec-project-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ec-form-row-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ec-form-separator{border:none;border-top:1px solid var(--color-border-default);margin:12px 0}.ec-ft-row{border-radius:var(--radius-sm);align-items:center;gap:4px;min-height:24px;padding:3px 6px;display:flex}.ec-ft-row:hover{background:var(--color-surface-sunken)}.ec-ft-row.active{background:var(--color-info-bg)}.ec-ft-row.active .ec-ft-name{font-weight:600}.ec-ft-chevron{width:14px;color:var(--color-text-muted);cursor:pointer;text-align:center;background:0 0;border:none;flex-shrink:0;padding:0;font-size:9px}.ec-ft-name{min-width:0;font-size:12px;font-family:var(--font-sans);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:0;overflow:hidden}.ec-ft-count{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.ec-ft-actions{flex-shrink:0;gap:2px;display:none}.ec-ft-row:hover .ec-ft-actions{display:flex}.ec-ft-row:hover .ec-ft-count{display:none}.ec-ft-action-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;padding:0 3px;font-size:11px;line-height:1.4}.ec-ft-action-btn:hover{background:var(--color-surface-raised);color:var(--color-text-primary)}.ec-ft-action-btn.danger:hover{color:var(--color-danger)}.ec-ft-children{border-left:1px solid var(--color-border-default);margin-left:13px;padding-left:8px}.ec-crumb-chip{border-radius:var(--radius-full);background:var(--color-surface-sunken);border:.5px solid var(--color-border-default);align-items:center;gap:3px;max-width:100%;padding:1px 8px;font-size:11px;display:inline-flex;overflow:hidden}.ec-crumb-seg{cursor:pointer;font-size:11px;font-family:var(--font-sans);color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;padding:0}.ec-crumb-seg:hover{color:var(--color-text-primary);text-decoration:underline}.ec-crumb-seg.leaf{color:var(--color-text-primary);font-weight:500}.ec-crumb-sep{color:var(--color-text-muted);font-size:10px}.ec-crumb-chip.unfiled{color:var(--color-text-muted);cursor:pointer;background:0 0;border-style:dashed}.ec-crumb-chip.unfiled:hover{border-color:var(--color-border-strong);color:var(--color-text-secondary)}.ec-owner-pill{border-radius:var(--radius-full);background:var(--color-info-bg);color:var(--color-info);align-items:center;gap:5px;padding:1px 8px 1px 2px;font-size:11px;font-weight:500;display:inline-flex}.ec-owner-pill-avatar{background:var(--color-info);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:8px;font-weight:600;display:flex}.ec-seg{background:var(--color-surface-sunken);border:.5px solid var(--color-border-default);border-radius:var(--radius-md);gap:2px;padding:2px;display:inline-flex}.ec-seg-btn{font-size:12px;font-family:var(--font-sans);cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:4px;padding:3px 12px}.ec-seg-btn.active{background:var(--color-surface-raised);color:var(--color-text-primary);box-shadow:var(--shadow-sm);font-weight:500}@media (max-width:720px){.ec-project-page{grid-template-columns:1fr;height:auto;overflow:auto}.ec-project-list,.ec-project-list-scroll{overflow:visible}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
