:root{--color-brand:#1c85fc;--color-brand-hover:#1574e8;--color-brand-muted:#1c85fc1a;--color-brand-soft:#1c85fc24;--color-brand-on:#fff}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f1f5f9;border-radius:50%;border-top:4px solid var(--color-brand)}.loading-spinner--sm{height:44px;width:44px}.loading-spinner--md{height:50px;margin-bottom:20px;width:50px}.btn-brand{align-items:center;background:#1c85fc;background:var(--color-brand);border:1px solid #1c85fc;border:1px solid var(--color-brand);border-radius:8px;color:#fff;color:var(--color-brand-on);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;justify-content:center;padding:10px 18px;text-decoration:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn-brand:hover{background:#1574e8;background:var(--color-brand-hover);border-color:#1574e8;border-color:var(--color-brand-hover);box-shadow:0 4px 12px #1c85fc24;box-shadow:0 4px 12px var(--color-brand-soft)}.btn-brand:disabled{cursor:not-allowed;opacity:.6}.alert-modal-overlay{align-items:center;animation:alert-modal-overlay-in .2s ease;display:flex;inset:0;justify-content:center;padding:16px;pointer-events:auto;position:fixed;z-index:1000}.alert-modal-overlay--prompt{align-items:flex-end;padding:12px 12px max(12px,env(safe-area-inset-bottom))}@keyframes alert-modal-overlay-in{0%{opacity:0}to{opacity:1}}.alert-modal-panel--classic{animation:alert-modal-panel-in .24s cubic-bezier(.22,1,.36,1);background:#fff;border-radius:14px;box-shadow:0 16px 48px #0f172a2e;display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:min(100%,500px)}.alert-modal-panel--classic .alert-modal-header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:18px 20px 12px}.alert-modal-header-main{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.alert-modal-panel--classic .alert-modal-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1.75rem;height:44px;justify-content:center;width:44px}.alert-modal-panel--classic .alert-modal-title{font-size:1.125rem;font-weight:600;line-height:1.3;margin:0}.alert-modal-panel--classic .alert-modal-body{-webkit-overflow-scrolling:touch;color:#475569;flex:1 1;font-size:.875rem;line-height:1.5;min-height:0;overflow-y:auto;padding:12px 20px 16px}.alert-modal-panel--classic .alert-modal-actions{border-top:1px solid #f1f5f9;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:12px 16px 16px}.alert-modal-panel--prompt{animation:alert-modal-prompt-in .28s cubic-bezier(.22,1,.36,1);background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 40px #0f172a1f;display:flex;flex-direction:column;max-height:min(85vh,520px);overflow:hidden;width:min(100%,400px)}@keyframes alert-modal-panel-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alert-modal-prompt-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (min-width:520px){.alert-modal-overlay--prompt{align-items:center;padding:20px}.alert-modal-panel--prompt{animation:alert-modal-panel-in .24s cubic-bezier(.22,1,.36,1)}}.alert-modal-panel--prompt .alert-modal-header{align-items:center;display:flex;flex-shrink:0;gap:8px;justify-content:space-between;padding:12px 14px 0}.alert-modal-panel--prompt .alert-modal-title{color:#334155;font-size:.8125rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0}.alert-modal-panel--prompt .alert-modal-body{-webkit-overflow-scrolling:touch;color:#64748b;flex:1 1;font-size:.75rem;line-height:1.45;min-height:0;overflow-y:auto;padding:6px 14px 12px}.alert-modal-panel--prompt .alert-modal-body p{margin:0}.alert-modal-panel--prompt .alert-modal-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:stretch;padding:0 14px 14px}.alert-modal-close{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1.25rem;height:28px;line-height:1;padding:0;transition:background .15s ease,color .15s ease;width:28px}.alert-modal-close:hover{background:#f1f5f9;color:#64748b}.alert-modal-btn{border:1px solid #0000;border-radius:8px;cursor:pointer;flex:1 1 auto;font-family:inherit;font-size:.75rem;font-weight:600;min-width:0;padding:7px 12px;transition:background .15s ease,border-color .15s ease,color .15s ease}.alert-modal-btn--classic{border-radius:8px;flex:0 0 auto;font-size:13px;font-weight:600;min-width:96px;padding:8px 14px}.alert-modal-btn--secondary{background:#f8fafc;border-color:#e2e8f0;color:#475569}.alert-modal-btn--secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.alert-modal-btn--primary{background:#3b82f6;background:var(--alert-accent,#3b82f6);border-color:#3b82f6;border-color:var(--alert-accent,#3b82f6);color:#fff}.alert-modal-btn--primary:hover{filter:brightness(.95)}.alert-modal-btn--danger{background:#dc2626;border-color:#dc2626;color:#fff}.alert-modal-btn--danger:hover{background:#b91c1c;border-color:#b91c1c}.alert-modal-details{background:#f8fafc;border-radius:6px;color:#64748b;font-family:ui-monospace,monospace;font-size:.7rem;margin-top:10px;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.nav-context-wrap{position:relative}.nav-context-trigger{align-items:center;background:#0000;border:none;border-radius:10px;cursor:pointer;display:flex;flex-direction:row;gap:10px;margin:0;max-width:min(300px,48vw);padding:8px 10px 8px 12px;text-align:right;transition:background .15s ease}.nav-context-trigger-text{align-items:flex-end;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.nav-context-logo{align-items:center;background:var(--color-brand-muted);border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;overflow:hidden;width:36px}.nav-context-logo-img{display:block;height:100%;object-fit:cover;width:100%}.nav-context-logo-fallback{color:var(--color-brand);font-size:.75rem;font-weight:600;letter-spacing:.02em}.nav-context-trigger--open,.nav-context-trigger:hover{background:#f8fafc}.nav-context-org{color:#0f172a;font-size:.8125rem;font-weight:600}.nav-context-org,.nav-context-role{line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-context-role{color:#64748b;font-size:.75rem;font-weight:500}.nav-context-loading{color:#94a3b8;font-size:.8125rem;padding:8px 12px}.nav-context-panel{animation:nav-context-in .15s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 30px #0f172a14;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);width:min(320px,calc(100vw - 24px));z-index:1002}@keyframes nav-context-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-context-details{display:flex;flex-direction:column;gap:8px;padding:12px}.nav-context-row{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.nav-context-label{align-self:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;display:inline-block;font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:2px 6px;text-transform:uppercase}.nav-context-value{color:#334155;font-size:.8125rem;font-weight:500;line-height:1.35;word-break:break-word}.nav-context-divider{background:#f1f5f9;height:1px;margin:0}.nav-context-switch{padding:10px 12px 12px}.nav-context-switch-label{color:#94a3b8;display:block;font-size:.6875rem;font-weight:500;letter-spacing:.04em;padding:0 4px 8px;text-transform:uppercase}.nav-context-options{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.nav-context-option{align-items:flex-start;background:#fff;border:1px solid #f1f5f9;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-align:left;transition:border-color .12s ease,background .12s ease;width:100%}.nav-context-option:hover:not(:disabled){background:#f8fafc;border-color:#e2e8f0}.nav-context-option--active{background:var(--color-brand-muted);border-color:var(--color-brand-soft)}.nav-context-option--active .nav-context-option-title{color:var(--color-brand);font-weight:600}.nav-context-option:disabled{cursor:default;opacity:.55}.nav-context-option-title{color:#0f172a;font-size:.8125rem;font-weight:500;line-height:1.3}.nav-context-option-meta{color:#64748b;font-size:.75rem}.nav-context-option-badge{color:#dc2626;font-size:.6875rem;margin-top:2px}.nav-context-option-badge--pending{color:#d97706}.home-page{background-color:#f8fafc;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,var(--color-brand-muted),#0000),radial-gradient(ellipse 60% 40% at 100% 0,var(--color-brand-muted),#0000);color:#0f172a;min-height:calc(100vh - 60px)}.home-inner{margin:0 auto;max-width:1040px;padding:48px 24px 72px}.home-hero{align-items:flex-start;animation:home-fade-in .5s ease-out;display:flex;flex-direction:column;gap:20px;margin-bottom:56px}.home-title{color:#0f172a;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:0;max-width:18ch}.home-lead{color:#64748b;font-size:1.05rem;line-height:1.65;margin:0;max-width:52ch}.home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.home-section-label{color:#94a3b8;font-size:.7rem;font-weight:600;letter-spacing:.06em;margin:0 0 16px;text-transform:uppercase}.home-grid{grid-gap:12px;animation:home-fade-in .6s ease-out .08s both;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.home-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:18px 18px 16px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.home-card:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #0f172a0f;transform:translateY(-1px)}.home-card-icon{align-items:center;background:#f1f5f9;border-radius:8px;color:#475569;display:flex;height:36px;justify-content:center;margin-bottom:12px;width:36px}.home-card-title{color:#0f172a;font-size:.95rem;font-weight:600;margin:0 0 6px}.home-card-text{color:#64748b;font-size:.82rem;line-height:1.5;margin:0}@keyframes home-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.home-inner{padding:32px 16px 56px}.home-hero{margin-bottom:40px}}.auth-page{background:radial-gradient(circle at top,#1c85fc1a,#0000 42%),linear-gradient(180deg,#f4f7fb,#eef3f9);background:radial-gradient(circle at top,var(--color-brand-muted,#1c85fc1a),#0000 42%),linear-gradient(180deg,#f4f7fb 0,#eef3f9 100%);justify-content:center;min-height:calc(100vh - 60px);padding:2rem 1rem 3rem}.auth-page,.auth-shell{align-items:center;display:flex}.auth-shell{flex-direction:column;max-width:420px;width:100%}.auth-card{animation:auth-fade-in .4s ease-out;background:#fff;border:1px solid #1c85fc14;border-radius:14px;box-shadow:0 18px 40px #0f3a6b14,0 2px 8px #0f3a6b0a;padding:2rem 2rem 1.75rem;width:100%}.auth-header{margin-bottom:1.5rem;text-align:center}.auth-eyebrow{color:#94a3b8;font-size:.7rem;font-weight:600;letter-spacing:.06em;margin:0 0 .5rem;text-transform:uppercase}.auth-title{color:#0f172a;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:0}.auth-lead{color:#64748b;font-size:.875rem;line-height:1.45;margin:.35rem 0 0}.auth-message{border-radius:8px;font-size:.8125rem;line-height:1.45;margin-bottom:1rem;padding:.75rem .875rem}.auth-message--error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.auth-message--success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.auth-message--info{background:#eff6ff;border:1px solid #bfdbfe;color:#1c4f8f}.auth-form{display:flex;flex-direction:column;gap:0}.auth-field{margin-bottom:1rem}.auth-label{color:#334155;display:block;font-size:.8125rem;font-weight:500;margin-bottom:.375rem}.auth-input{background:#fff;border:1px solid #d7e0ea;border-radius:8px;box-sizing:border-box;color:#0f172a;font-size:.9375rem;outline:none;padding:.65rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.auth-input:focus{border-color:#1c85fc;border-color:var(--color-brand,#1c85fc);box-shadow:0 0 0 3px #1c85fc1f;box-shadow:0 0 0 3px var(--color-brand-muted,#1c85fc1f)}.auth-input:disabled{background:#f8fafc;color:#64748b}.auth-input--code{font-weight:600;letter-spacing:.35em;text-align:center}.auth-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.auth-button{background:linear-gradient(180deg,#1c85fc,#1570d4);background:linear-gradient(180deg,var(--color-brand,#1c85fc) 0,var(--color-brand-hover,#1570d4) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.75rem 1rem;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;width:100%}.auth-button:hover:not(:disabled){box-shadow:0 8px 18px #1c85fc38;transform:translateY(-1px)}.auth-button:disabled{cursor:not-allowed;opacity:.65}.auth-link-button{align-self:center;background:none;border:none;color:#1c85fc;color:var(--color-brand,#1c85fc);cursor:pointer;font-size:.8125rem;opacity:.85;padding:0;transition:opacity .15s ease,color .15s ease}.auth-link-button:hover:not(:disabled){opacity:1;text-decoration:underline}.auth-link-button:disabled{cursor:not-allowed;opacity:.5}.auth-footer-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.auth-footer{border-top:1px solid #f1f5f9;margin-top:1.25rem;padding-top:1.25rem;text-align:center}.auth-footer-link{color:#64748b;font-size:.85rem;text-decoration:none;transition:color .15s ease}.auth-footer-link:hover{color:#0f172a}.auth-meta{color:#94a3b8;font-size:.75rem;line-height:1.45;margin-top:1rem;text-align:center}.auth-below-card{display:flex;justify-content:center;margin-top:.85rem}.auth-forgot-link{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.75rem;font-weight:400;padding:.25rem .5rem;transition:color .15s ease}.auth-forgot-link:hover{color:#64748b;text-decoration:underline;text-underline-offset:2px}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.auth-card{padding:1.5rem 1.25rem 1.25rem}}.profile-page{align-items:flex-start;background:#f8fafc;display:flex;justify-content:center;min-height:calc(100vh - 60px);padding:32px 20px 48px}.profile-page--centered{align-items:center;min-height:calc(100vh - 60px)}.profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0f172a0a;max-width:440px;padding:28px 24px 24px;width:100%}.profile-card--message{padding:40px 28px;text-align:center}.profile-message-title{color:#0f172a;font-size:1.1rem;font-weight:600;margin:0 0 8px}.profile-message-text{color:#64748b;font-size:.9rem;line-height:1.5;margin:0}.profile-header{margin-bottom:24px}.profile-title{color:#94a3b8;font-size:.7rem;font-weight:600;letter-spacing:.06em;margin:0 0 16px;text-align:center;text-transform:uppercase}.profile-user{gap:14px}.profile-avatar,.profile-user{align-items:center;display:flex}.profile-avatar{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;color:#475569;flex-shrink:0;font-size:1rem;font-weight:600;height:52px;justify-content:center;overflow:hidden;width:52px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-user-name{color:#0f172a;font-size:1rem;font-weight:600;margin:0 0 2px}.profile-user-email{color:#64748b;font-size:.85rem;margin:0 0 2px;word-break:break-all}.profile-user-meta{color:#94a3b8;font-size:.75rem;margin:0}.profile-tabs{border-bottom:1px solid #f1f5f9;display:flex;gap:4px;margin-bottom:20px;padding-bottom:0}.profile-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;margin-bottom:-1px;padding:10px 12px;transition:color .15s ease,border-color .15s ease}.profile-tab:hover{color:#334155}.profile-tab--active{border-bottom-color:var(--color-brand);color:var(--color-brand)}.profile-form{display:flex;flex-direction:column;gap:14px}.profile-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#0f172a;font-size:.9rem;outline:none;padding:10px 12px;transition:border-color .15s ease;width:100%}.profile-input:focus{border-color:#cbd5e1}.profile-input::placeholder{color:#94a3b8}.profile-btn{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;padding:10px 16px;transition:background .15s ease,border-color .15s ease,color .15s ease}.profile-btn:disabled{cursor:not-allowed;opacity:.6}.profile-btn--primary{background:#fff;border-color:#e2e8f0;color:#475569;margin-top:4px}.profile-btn--primary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.profile-footer{border-top:1px solid #f1f5f9;margin-top:24px;padding-top:20px;text-align:center}.profile-btn--logout{background:#0000;border:none;color:#94a3b8;font-size:.85rem;padding:6px 12px}.profile-btn--logout:hover{background:#fef2f2;color:#dc2626}.dashboard-page{align-items:center;background:#f8fafc;display:flex;justify-content:center;min-height:calc(100vh - 60px);padding:24px 16px}.dashboard-inner{margin:0 auto;max-width:420px;width:100%}.dashboard-grid{grid-gap:20px 16px;display:grid;gap:20px 16px;grid-template-columns:repeat(3,1fr)}.dashboard-widget{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:4px;text-align:center;text-decoration:none}.dashboard-widget:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.dashboard-widget-icon{align-items:center;background:var(--color-brand-muted);border-radius:10px;color:var(--color-brand);display:flex;flex-shrink:0;height:40px;justify-content:center;transition:background .15s ease,color .15s ease;width:40px}.dashboard-widget:hover .dashboard-widget-icon{background:var(--color-brand);color:var(--color-brand-on)}.dashboard-widget-title{color:#334155;font-size:.8rem;font-weight:500;line-height:1.25;transition:color .15s ease}.dashboard-widget:hover .dashboard-widget-title{color:var(--color-brand)}.dashboard-empty{padding:16px;text-align:center}.dashboard-empty-text{color:#64748b;font-size:.875rem;margin:0}@media (max-width:380px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}.corner-notice-overlay{animation:corner-notice-overlay-in .2s ease;inset:0;pointer-events:none;position:fixed;z-index:10040}@keyframes corner-notice-overlay-in{0%{opacity:0}to{opacity:1}}.corner-notice{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #0f172a14;border-radius:12px;box-shadow:0 16px 40px #0f172a24,0 4px 12px #0f172a14;box-sizing:border-box;color:#14532d;font-family:inherit;max-width:min(360px,calc(100vw - 32px));padding:14px 16px;pointer-events:auto;position:fixed;text-align:left;z-index:10050}.corner-notice--clickable{cursor:pointer}.corner-notice--bottom-left{bottom:20px;left:20px}.corner-notice--bottom-right{bottom:20px;right:20px}.corner-notice--top-left{left:20px;top:20px}.corner-notice--top-right{right:20px;top:20px}.corner-notice--enter.corner-notice--bottom-left,.corner-notice--enter.corner-notice--bottom-right{animation:corner-notice-slide-up .38s cubic-bezier(.22,1,.36,1)}.corner-notice--enter.corner-notice--top-left,.corner-notice--enter.corner-notice--top-right{animation:corner-notice-slide-down .38s cubic-bezier(.22,1,.36,1)}.corner-notice--exit.corner-notice--bottom-left,.corner-notice--exit.corner-notice--bottom-right{animation:corner-notice-slide-down-out .28s ease forwards}.corner-notice--exit.corner-notice--top-left,.corner-notice--exit.corner-notice--top-right{animation:corner-notice-slide-up-out .28s ease forwards}@keyframes corner-notice-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes corner-notice-slide-down{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes corner-notice-slide-down-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes corner-notice-slide-up-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.corner-notice__title{font-size:.8rem;font-weight:700;letter-spacing:.02em;line-height:1.3;margin-bottom:4px}.corner-notice__text{font-size:.875rem;font-weight:500;line-height:1.45}.corner-notice__hint{font-size:.72rem;margin-top:6px;opacity:.75}.profile-sheet-panel--payment{max-height:min(92vh,720px);width:min(100%,480px)}.profile-sheet-close:hover:not(:disabled){background:#f1f5f9;color:#64748b}.profile-sheet-close:disabled{cursor:not-allowed;opacity:.5}.profile-sheet-field-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:10px}.profile-sheet-field-row .profile-sheet-form-group{margin-bottom:0}.profile-sheet-toggle-btn:disabled{cursor:not-allowed;opacity:.55}.profile-sheet-hint,.profile-sheet-muted{color:#64748b;font-size:.75rem;margin:0 0 10px}.profile-sheet-row{margin-bottom:6px}.profile-sheet-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:.75rem;margin:0 0 10px;padding:8px 10px}.profile-sheet-results{max-height:220px}.profile-sheet-result-item{background:#0000;border:none;box-sizing:border-box;display:block;font-family:inherit;text-align:left;transition:background .12s ease,box-shadow .12s ease;width:100%}.profile-sheet-result-item:hover:not(:disabled){background:#f8fafc}.profile-sheet-result-item.is-selected{box-shadow:inset 0 0 0 2px #3b82f6}.profile-sheet-result-item:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}.profile-sheet-selected-hint{color:#475569;font-size:.75rem;margin:8px 0 0}.profile-sheet-selected-hint strong{color:#0f172a;font-weight:600}.profile-sheet-result-item:disabled{cursor:not-allowed;opacity:.55}.profile-sheet-result-name{color:#0f172a;display:block;font-weight:600}.profile-sheet-result-meta{color:#64748b;display:block;font-size:.75rem;margin-top:2px}.bulk-csv-mapping-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:12px 0 10px;padding:12px}.bulk-csv-mapping-app+.bulk-csv-mapping-app{margin-top:10px}.bulk-csv-mapping-app{background:#fff;border:1px solid #dbeafe;border-radius:8px;padding:10px}.bulk-csv-mapping-app-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.bulk-csv-mapping-app-title{color:#0f172a;font-size:.875rem;font-weight:700;margin:0}.bulk-csv-mapping-app-meta{color:#64748b;font-size:.75rem;margin:2px 0 0}.bulk-csv-mapping-app-badge{background:#eff6ff;border-radius:999px;color:#1d4ed8;flex-shrink:0;font-size:.6875rem;font-weight:600;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.bulk-csv-mapping-list{list-style:none;margin:0;padding:0}.bulk-csv-mapping-item+.bulk-csv-mapping-item{border-top:1px solid #f1f5f9;margin-top:8px;padding-top:8px}.bulk-csv-mapping-item-label{align-items:flex-start;cursor:pointer;display:flex;gap:8px}.bulk-csv-mapping-checkbox{flex-shrink:0;margin-top:3px}.bulk-csv-mapping-item-main{display:flex;flex-direction:column;gap:4px;min-width:0}.bulk-csv-mapping-item-recognized{color:#059669;font-size:.6875rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.bulk-csv-mapping-item-route{align-items:center;color:#0f172a;display:flex;flex-wrap:wrap;font-size:.8125rem;gap:6px}.bulk-csv-mapping-item-route code{background:#f1f5f9;border-radius:4px;font-size:.75rem;padding:1px 5px}.bulk-csv-mapping-item-arrow{color:#94a3b8}.bulk-csv-mapping-item-target{font-weight:600}.bulk-csv-mapping-item-detail{color:#64748b;font-size:.75rem;margin:6px 0 0 24px}.bulk-csv-mapping-item-detail strong{color:#334155;font-weight:600}.bulk-csv-option-row{align-items:flex-start;color:#334155;cursor:pointer;display:flex;font-size:.8125rem;gap:8px}.bulk-csv-option-row input{flex-shrink:0;margin-top:2px}.groups-role-template-field__detail{margin-top:6px}.groups-page{background:#fafafa;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;margin:0 auto;max-width:780px;min-height:calc(100vh - 60px);padding:20px 20px 40px}.groups-shell{padding:0}.groups-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.groups-title{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin:0}.groups-subtitle{color:#475569;font-size:.78rem;line-height:1.45;margin:4px 0 0;max-width:56ch}.groups-path-trail{align-items:center;display:flex;flex-wrap:wrap;gap:2px 5px;line-height:1.35;margin:5px 0 0;max-width:min(100%,72ch)}.groups-path-segment{align-items:center;color:#94a3b8;display:inline-flex;font-size:.74rem;font-weight:500;gap:5px;min-width:0}.groups-path-segment--current{color:#0f172a;font-weight:600}.groups-path-segment--current .groups-path-period{color:#64748b;font-weight:500}.groups-path-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.groups-path-label{max-width:28ch;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groups-path-period{color:#cbd5e1}.groups-path-period,.groups-path-sep{flex-shrink:0;font-size:.68rem;font-weight:500}.groups-path-sep{color:#e2e8f0;padding:0 1px;-webkit-user-select:none;user-select:none}.groups-type-badge{align-items:center;color:#64748b;display:inline-flex;font-size:.62rem;font-weight:600;gap:4px;letter-spacing:.04em;line-height:1.2;text-transform:uppercase}.groups-type-badge--on-dark{color:#ffffffd1}.groups-type-badge-dot{border-radius:50%;flex-shrink:0;height:5px;width:5px}.groups-crumbs{align-items:center;display:flex;flex-wrap:wrap;font-size:.78rem;gap:6px}.groups-crumbs--compact{color:#64748b;font-size:.68rem;gap:4px}.groups-crumbs--compact .groups-crumb-btn{border:none;border-radius:0;color:#64748b;font-size:inherit;padding:0}.groups-crumbs--compact .groups-crumb-btn:hover{background:#0000;color:#0f172a}.groups-crumbs--compact .groups-crumb-current{color:#334155;font-weight:500;padding:0}.groups-crumbs--compact .groups-crumb-sep{font-size:.62rem;margin:0 1px}.groups-crumb-btn{background:#0000;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-family:inherit;font-size:.78rem;padding:4px 8px}.groups-crumb-btn:hover{background:#f8fafc;color:#0f172a}.groups-crumb-current{color:#0f172a;font-weight:500;padding:4px 8px}.groups-crumb-sep{color:#94a3b8}.groups-view{position:relative;transition:transform .3s ease,opacity .3s ease}.groups-view--visible{opacity:1;transform:translateX(0)}.groups-view--hidden-left{transform:translateX(-24px)}.groups-view--hidden-left,.groups-view--hidden-right{left:0;opacity:0;pointer-events:none;position:absolute;right:0}.groups-view--hidden-right{transform:translateX(24px)}.groups-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.groups-panel-bar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:8px}.groups-panel-bar--inline{align-items:center;flex-wrap:nowrap}.groups-panel-bar--inline .groups-panel-bar-main{flex-shrink:0}.groups-panel-bar--inline .groups-panel-tools{flex:1 1;justify-content:flex-end;min-width:0}.groups-panel-eyebrow{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.groups-count{background:#f1f5f9;border-radius:999px;color:#64748b;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:0;margin-left:4px;min-width:18px;padding:0 6px}.groups-panel-hint{color:#94a3b8;font-size:.72rem;margin:4px 0 0}.groups-period{align-items:center;display:flex;font-size:.78rem}.groups-period--inline{margin:0}.groups-period-value{color:#475569;white-space:nowrap}.groups-period-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;cursor:pointer;font-family:inherit;font-size:.78rem;max-width:220px;min-width:140px;outline:none;padding:5px 8px}.groups-period-select:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-muted)}.groups-period-select:disabled{cursor:not-allowed;opacity:.6}.groups-members-bar{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;width:100%}.groups-period--trailing{margin-left:auto}.groups-add-btn{align-items:center;background:#0000;border:none;color:#94a3b8;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:1.35rem;font-weight:300;height:28px;justify-content:center;line-height:1;min-width:22px;padding:0 2px}.groups-add-btn:hover{background:#0000;color:#0f172a}.groups-icon-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;height:30px;justify-content:center;padding:0;width:30px}.groups-icon-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.groups-icon-btn--ghost{background:#0000;border:none;color:#94a3b8}.groups-icon-btn--ghost:hover{background:#0000;border:none;color:#0f172a}.groups-icon-btn--primary{background:#0f172a;border-color:#0f172a;color:#fff;font-size:1.1rem;font-weight:400;line-height:1}.groups-icon-btn--primary:hover{background:#1e293b;border-color:#1e293b;color:#fff}.groups-search-expand{align-items:center;display:flex}.groups-search-expand.is-open{flex:1 1;max-width:220px}.groups-search--compact{font-size:.78rem;max-width:220px;min-width:140px;padding:5px 8px;width:100%}.groups-panel-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.groups-search{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;flex:1 1 auto;font-family:inherit;font-size:.8rem;max-width:320px;min-width:200px;outline:none;padding:6px 10px}.groups-search:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-muted)}.groups-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;padding:6px 10px}.groups-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.groups-btn--primary{background:#0f172a;border-color:#0f172a;color:#fff}.groups-btn--primary:hover{background:#1e293b;border-color:#1e293b;color:#fff}.groups-btn--icon{align-items:center;display:inline-flex;height:30px;justify-content:center;padding:0;width:30px}.groups-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.groups-table-head,.groups-table-row{grid-gap:10px;align-items:center;display:grid;font-size:.82rem;gap:10px;padding:7px 10px}.groups-table-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#94a3b8;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.groups-table-head,.groups-table-row{grid-template-columns:minmax(160px,1.2fr) minmax(200px,1.8fr) 100px}.groups-table-row{background:#fff;border-top:1px solid #e2e8f0;box-sizing:border-box;color:#0f172a;cursor:pointer;text-align:left;transition:background-color .12s ease;width:100%}.groups-table-row--link{text-decoration:none}.groups-table-row--hover,.groups-table-row:hover{background:#f8fafc}.groups-table-cell{min-width:0}.groups-table-cell strong{font-weight:600}.groups-muted{color:#64748b}.groups-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groups-align-right{text-align:right}.groups-tag{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;display:inline-block;font-size:.72rem;font-weight:500;padding:2px 8px}.groups-empty,.groups-state{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;color:#94a3b8;font-size:.8rem;padding:14px;text-align:center}.groups-view-not-configured{align-items:center;background:#f8fafc;display:flex;justify-content:center;min-height:calc(100vh - 60px);padding:24px}.groups-view-not-configured p{color:#64748b;font-size:.9rem;margin:0;max-width:32ch;text-align:center}.groups-table--two-col .groups-table-head,.groups-table--two-col .groups-table-row{grid-template-columns:minmax(180px,1fr) minmax(200px,2fr)}.groups-table--members .groups-table-head,.groups-table--members .groups-table-row{grid-template-columns:minmax(180px,1.2fr) minmax(200px,1.8fr)}.groups-dms-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.groups-dms-section-bar{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:12px 14px}.groups-dms-section-bar-main{min-width:0}.groups-dms-section-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.groups-dms-eyebrow{color:#94a3b8;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.groups-dms-hint{color:#94a3b8;font-size:.72rem;margin:4px 0 0}.groups-dms-empty{color:#94a3b8;font-size:.82rem;font-style:italic;padding:16px;text-align:center}.groups-dms-list{background:#fff}.groups-dms-row{align-items:center;background:#fff;border:none;border-bottom:1px solid #f1f5f9;box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font-family:inherit;gap:12px;justify-content:space-between;padding:12px 16px;text-align:left;text-decoration:none;width:100%}.groups-dms-row:hover{background:#f8fafc}.groups-dms-row--last{border-bottom:none}.groups-dms-row-left{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.groups-dms-dot{border-radius:999px;flex-shrink:0;height:8px;width:8px}.groups-dms-row-text{min-width:0}.groups-dms-row-name{color:#0f172a;font-size:14px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groups-dms-row-meta{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;margin-top:2px}.groups-dms-meta-sep{color:#cbd5e1}.group-logo-bare{align-items:center;background:#0000;border:none;display:flex;flex-shrink:0;justify-content:center}.group-logo-bare--sm{height:28px;width:28px}.group-logo-bare--md{height:40px;width:40px}.group-logo-bare--lg{height:52px;width:52px}.group-logo-bare-img{background:#0000;display:block;height:100%;object-fit:contain;width:100%}.group-logo-bare-fallback{color:#64748b;font-size:.65rem;font-weight:700;letter-spacing:.04em;line-height:1}.group-logo-upload{background:#0000;border:none;border-radius:6px;cursor:pointer;flex-shrink:0;line-height:0;margin:0;padding:0;position:relative;transition:box-shadow .2s ease,opacity .2s ease}.group-logo-upload:not(.group-logo-upload--disabled):hover{box-shadow:0 0 0 2px #e2e8f0}.group-logo-upload:not(.group-logo-upload--disabled):focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.group-logo-upload--disabled{cursor:default}.group-logo-upload--uploading{cursor:wait;opacity:.55}.group-logo-upload-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.groups-thread-panel{background:#f1f5f9;border-top:1px solid #e5e7eb;box-sizing:border-box;padding:12px}.groups-thread-sheet{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;overflow:hidden}.groups-thread-panel .groups-dms-empty{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:center;min-height:120px}.groups-thread-tree{--thread-branch-y:22px;--thread-rail-w:20px;list-style:none;margin:0;padding:6px 0}.groups-thread-item{align-items:stretch;display:flex;gap:0;position:relative}.groups-thread-item--root .groups-thread-label{margin-left:12px}.groups-thread-rail{align-self:stretch;display:flex;flex-shrink:0;margin-left:12px}.groups-thread-segment{align-self:stretch;flex-shrink:0;position:relative;width:var(--thread-rail-w)}.groups-thread-segment--corner:before,.groups-thread-segment--vcontinue:before{border-left:1px solid #cbd5e1;bottom:0;content:"";left:9px;position:absolute;top:0}.groups-thread-segment--corner:after{border-top:1px solid #cbd5e1;content:"";left:9px;position:absolute;top:var(--thread-branch-y);width:calc(100% + 8px);z-index:0}.groups-thread-segment--corner-last:before{border-left:1px solid #cbd5e1;content:"";height:var(--thread-branch-y);left:9px;position:absolute;top:0}.groups-thread-segment--corner-last:after{border-top:1px solid #cbd5e1;content:"";left:9px;position:absolute;top:var(--thread-branch-y);width:calc(100% + 8px);z-index:0}.groups-thread-label{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-sizing:border-box;cursor:pointer;flex:1 1;font-family:inherit;margin:3px 12px 3px 0;min-width:0;padding:8px 12px;position:relative;text-align:left;z-index:1}.groups-thread-label:hover{background:#f8fafc;border-color:#cbd5e1}.groups-thread-label:active{background:#f1f5f9}.groups-thread-name{color:#0f172a;display:block;font-size:14px;font-weight:500;line-height:1.35}.groups-thread-meta{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;line-height:1.3;margin-top:1px}.groups-thread-item--period .groups-thread-name{color:#475569;font-weight:500}.groups-thread-item--derived .groups-thread-label{border-style:dashed}.groups-org-create-fab-wrap{display:flex;justify-content:center;margin-top:24px;padding:0 16px 10px}.groups-org-create-fab-btn{align-items:center;background:linear-gradient(135deg,#fff,#f1f5f9);border:1px solid #e2e8f0;border-radius:50%;box-shadow:0 6px 16px #0f172a1a,0 2px 6px #0f172a0f;color:#374151;cursor:pointer;display:flex;font-family:inherit;height:40px;justify-content:center;padding:0;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s ease,background .3s ease;width:40px}.groups-org-create-fab-btn__icon{stroke:#374151;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:18px;width:18px}.groups-org-create-fab-btn:hover{background:linear-gradient(135deg,#fff,#e2e8f0);border-color:#cbd5e1;box-shadow:0 10px 20px #0f172a24,0 4px 10px #0f172a14;transform:translateY(-2px) scale(1.04)}.groups-org-create-fab-btn:active{transform:translateY(0) scale(.96)}.groups-dms-members{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;min-height:min(56vh,560px);overflow:hidden;padding:0}.groups-dms-members-toolbar{align-items:center;background:#fff;border-bottom:1px solid #f1f5f9;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:0;padding:14px 16px 12px}.groups-members-body{background:#f1f5f9;display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative}.groups-members-empty-canvas{align-items:center;box-sizing:border-box;display:flex;flex:1 1;justify-content:center;min-height:min(40vh,360px);padding:32px 16px}.groups-members-empty-canvas .groups-add-group-empty{margin:0}.groups-members-body-message{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:min(32vh,280px);padding:24px 16px;text-align:center}.groups-members-restricted{display:flex;flex:1 1;flex-direction:column;min-height:0}.groups-members-others-hidden-notice{background:#fffbeb;border-bottom:1px solid #fde68a;color:#92400e;font-size:.875rem;line-height:1.4;margin:0;padding:10px 14px}.groups-dms-members .groups-dms-member-list{box-sizing:border-box;flex:1 1;min-height:0;overflow:auto;padding:12px 12px 56px}.groups-org-floating-add-btn--members{bottom:20px;position:absolute;right:20px;z-index:5}.groups-org-floating-add-btn--members:hover{transform:scale(1.06) translateY(-2px)}.groups-org-floating-add-btn--members:active{transform:scale(.95)}.groups-dms-members-toolbar-end{align-items:center;display:inline-flex;gap:10px;margin-left:auto}.groups-dms-members-count{color:#64748b;font-size:.75rem;font-weight:600;white-space:nowrap}.groups-dms-members-count--loading{font-weight:500}.groups-period-badge-wrap{position:relative}.groups-period-badge{align-items:center;background:#eef2ff;border:1px solid #e0e7ff;border-radius:999px;color:#3730a3;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.72rem;font-weight:600;gap:6px;line-height:1.2;padding:5px 10px;transition:background .15s ease,border-color .15s ease}.groups-period-badge--static{cursor:default}.groups-period-badge:not(:disabled):hover{background:#e0e7ff;border-color:#c7d2fe}.groups-period-badge:disabled{cursor:not-allowed;opacity:.65}.groups-period-badge-label{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groups-period-badge-caret{border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid #6366f1;height:0;opacity:.85;width:0}.groups-period-badge-menu{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0f172a1a;left:0;min-width:100%;padding:4px;position:absolute;top:calc(100% + 6px);z-index:20}.groups-period-badge-option{background:#0000;border:none;border-radius:7px;color:#334155;cursor:pointer;display:block;font-family:inherit;font-size:.75rem;font-weight:500;padding:7px 10px;text-align:left;white-space:nowrap;width:100%}.groups-period-badge-option:hover{background:#f8fafc}.groups-period-badge-option.is-active{background:#eef2ff;color:#3730a3;font-weight:600}.groups-dms-type-pill{background:#f1f5f9;border-radius:999px;color:#334155;font-size:11px;padding:2px 8px;text-transform:capitalize}.groups-dms-members-search{max-width:200px}.groups-dms-muted{color:#94a3b8;font-size:12px;font-style:italic;margin:0}.groups-dms-member-list{grid-gap:6px;align-content:start;display:grid;gap:6px}.groups-dms-member-row{align-items:center;border:1px solid #eef2f7;border-radius:8px;color:inherit;display:flex;justify-content:space-between;padding:10px 12px;text-decoration:none;transition:background .12s ease,border-color .12s ease}.groups-dms-member-row:hover{background:#f8fafc;border-color:#e2e8f0}.groups-dms-member-row--static{cursor:default}.groups-dms-member-row--static:hover{background:#0000;border-color:#eef2f7}.groups-dms-member-name{color:#0f172a;font-size:13px;font-weight:500;margin:0}.groups-dms-member-email{color:#64748b;font-size:12px;margin:3px 0 0}.groups-dms-modal-backdrop{align-items:center;background:#0f172a47;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:2000}.groups-dms-modal-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 20px 50px #0f172a2e;max-height:90vh;max-width:560px;overflow:auto;padding:18px;width:100%}.groups-dms-modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.groups-dms-modal-title{color:#0f172a;font-size:16px;font-weight:600;margin:0}.groups-dms-modal-close{background:#0000;border:none;color:#64748b;cursor:pointer;font-family:inherit;font-size:12px}.groups-dms-modal-sub{color:#64748b;font-size:12px;line-height:1.5;margin:0 0 12px}.groups-dms-mode-switch{border:1px solid #e5e7eb;border-radius:8px;display:inline-flex;margin-bottom:10px;overflow:hidden}.groups-dms-mode-btn{background:#fff;border:none;border-right:1px solid #e5e7eb;color:#64748b;cursor:pointer;font-family:inherit;font-size:12px;padding:7px 10px}.groups-dms-mode-btn:last-child{border-right:none}.groups-dms-mode-btn.is-active{background:#f8fafc;color:#0f172a;font-weight:600}.groups-dms-modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:13px;margin-bottom:12px;padding:8px 12px}.groups-dms-modal-form{grid-gap:10px;display:grid;gap:10px}.groups-dms-field{display:flex;flex-direction:column;gap:6px}.groups-dms-field-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.groups-dms-field-label{color:#374151;font-size:12px;font-weight:500}.groups-dms-input{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:13px;height:34px;outline:none;padding:0 10px}.groups-dms-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.groups-dms-user-pick-list{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;max-height:220px;overflow-y:auto}.groups-dms-user-pick-row{background:#0000;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer;display:block;font-family:inherit;padding:10px 12px;text-align:left;width:100%}.groups-dms-user-pick-row.is-selected{background:#eff6ff}.groups-dms-user-pick-name{color:#0f172a;display:block;font-size:13px;font-weight:600}.groups-dms-user-pick-email{color:#64748b;display:block;font-size:12px;margin-top:2px}.groups-dms-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.groups-dms-btn-primary{background:#0f172a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;height:34px;padding:0 12px}.groups-dms-btn-primary:disabled{cursor:not-allowed;opacity:.6}.groups-dms-btn-secondary{color:#0f172a;font-size:13px;font-weight:500;height:34px;padding:0 12px}.groups-dms-btn-secondary,.groups-dms-icon-action{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-family:inherit}.groups-dms-icon-action{align-items:center;color:#64748b;display:inline-flex;font-size:1rem;height:30px;justify-content:center;line-height:1;padding:0;width:30px}.groups-dms-icon-action:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.groups-org-groups-panel--list,.groups-org-groups-panel--web{display:flex;flex:1 1;flex-direction:column;min-height:0}.groups-page:has(.groups-view--visible .groups-dms-members),.groups-page:has(.groups-view--visible .groups-org-groups-panel){box-sizing:border-box;display:flex;flex-direction:column;max-width:none;min-height:calc(100vh - 60px);padding:0}.groups-page:has(.groups-view--visible .groups-dms-members) .groups-shell,.groups-page:has(.groups-view--visible .groups-org-groups-panel) .groups-shell{display:flex;flex:1 1;flex-direction:column;min-height:0}.groups-page:has(.groups-view--visible .groups-dms-members) .groups-top,.groups-page:has(.groups-view--visible .groups-org-groups-panel) .groups-top{flex-shrink:0;margin-bottom:0;padding:16px 20px 12px}.groups-page:has(.groups-view--visible .groups-dms-members) .groups-view--visible,.groups-page:has(.groups-view--visible .groups-org-groups-panel) .groups-view--visible{display:flex;flex:1 1;flex-direction:column;min-height:0}.groups-page:has(.groups-view--visible .groups-org-groups-panel) .groups-org-groups-panel{border-left:none;border-radius:0;border-right:none}.groups-page:has(.groups-view--visible .groups-dms-members) .groups-dms-members{border-left:none;border-radius:0;border-right:none;flex:1 1;min-height:0}.groups-org-list-body{flex:1 1;overflow:hidden}.groups-org-list-body,.groups-org-list-view{display:flex;flex-direction:column;min-height:0;position:relative}.groups-org-list-view{background:#f4f7fb;flex:1 1}.groups-org-list-scroll{background:#0000;flex:1 1;min-height:0;overflow:auto;position:relative}.groups-org-groups-panel--list .groups-org-list-scroll{display:flex;flex-direction:column}.groups-org-groups-panel--list .groups-org-list-scroll .groups-thread-panel{background:#0000;border-top:none;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-height:0;padding:0}.groups-org-groups-panel--list .groups-org-list-scroll .groups-thread-sheet{flex:1 1;margin:12px;min-height:0}.groups-org-groups-panel--list .groups-org-list-scroll .groups-thread-panel--empty-center{flex:1 1;min-height:0;padding:12px}.groups-org-groups-panel--list .groups-org-list-scroll--empty{display:flex;flex-direction:column}.groups-org-groups-panel--list .groups-org-list-scroll--empty .groups-thread-panel--empty-center{background:#0000;border:none;display:flex;flex:1 1;flex-direction:column;min-height:0}.groups-org-groups-panel--list .groups-org-list-empty-canvas{flex:1 1;min-height:0;padding:32px 16px}.groups-org-list-empty-canvas{align-items:center;box-sizing:border-box;display:flex;flex:1 1;justify-content:center;min-height:min(48vh,420px);padding:32px 16px;width:100%}.groups-org-list-empty-canvas .groups-add-group-empty{margin:0}.groups-org-picker-body--empty .groups-dms-section{display:flex;flex-direction:column;min-height:min(48vh,420px)}.groups-org-picker-body--empty .groups-org-list-empty-canvas{flex:1 1;min-height:min(40vh,360px)}.groups-org-web-footer-nav{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:10px 14px;min-width:0}.groups-org-web-footer-nav .groups-dms-hint--footer{flex:1 1 200px;font-size:.72rem;line-height:1.35;margin:0;min-width:0}.groups-view-tabs{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;gap:2px;padding:2px}.groups-view-tab,.groups-view-tabs{align-items:center;display:inline-flex}.groups-view-tab{background:#0000;border:0;border-radius:6px;color:#64748b;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;gap:6px;padding:4px 10px}.groups-view-tab.is-active{background:#fff;box-shadow:0 1px 1px #0f172a0f;color:#0f172a}.groups-view-tab-count{background:#e2e8f0;border-radius:999px;color:#475569;display:inline-block;font-size:.68rem;font-weight:700;line-height:1.5;min-width:16px;padding:0 5px;text-align:center}.groups-org-groups-loading{color:#94a3b8;font-size:.72rem;font-style:italic}.groups-org-web{background:#f4f7fb;display:flex;flex:1 1;flex-direction:column;min-height:0;position:relative}.groups-org-web-loading{align-items:center;color:#94a3b8;display:flex;font-size:.82rem;font-style:italic;height:100%;justify-content:center;min-height:200px;padding:32px 16px;text-align:center}.groups-org-web-viewport.is-loading{cursor:default}.groups-org-web-footer{align-items:center;background:#fffffff0;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;padding:8px 12px}.groups-org-web-footer-slot{flex:1 1 240px;min-width:0}.groups-org-web-toolbar{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-height:24px}.groups-org-web-tool-cluster{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:7px;display:inline-flex;overflow:hidden}.groups-org-web-tool-btn{background:#0000;border:none;border-right:1px solid #e5e7eb;color:#64748b;cursor:pointer;font-family:inherit;font-size:14px;height:24px;line-height:1;width:26px}.groups-org-web-tool-btn--end{border-right:none}.groups-org-web-tool-fit{background:#fff;border:1px solid #e5e7eb;border-radius:7px;color:#64748b;cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;height:24px;letter-spacing:.06em;padding:0 8px;text-transform:uppercase}.groups-org-web-hint{color:#94a3b8;font-size:10px;letter-spacing:.02em;white-space:nowrap}.groups-org-web-viewport{background:#f1f5f9;cursor:grab;flex:1 1;min-height:0;overflow:hidden;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.groups-org-web-viewport.is-panning{cursor:grabbing}.groups-org-web-canvas{transform-origin:0 0}.groups-org-web-svg{display:block}.groups-org-web-empty{bottom:10px;color:#94a3b8;font-size:.78rem;left:0;margin:0;pointer-events:none;position:absolute;right:0;text-align:center}.groups-org-web-empty-inline{color:#94a3b8;font-size:.78rem;margin:12px 0 0;text-align:center}.groups-org-tree-root{min-width:-webkit-max-content;min-width:max-content;padding:28px 40px 48px}.groups-org-tree-main,.groups-org-tree-root{align-items:center;display:flex;flex-direction:column}.groups-org-tree-card-wrap{display:flex;justify-content:center;position:relative}.groups-org-owner-crown-btn{align-items:center;background:#0000;border:none;border-radius:2px;color:#cbd5e1;cursor:pointer;display:inline-flex;height:14px;justify-content:center;opacity:.85;padding:0;width:14px}.groups-org-owner-crown-btn--map{left:50%;pointer-events:auto;position:absolute;top:0;transform:translate(-50%,calc(-100% - 4px));z-index:5}.groups-org-owner-crown-btn:hover{color:#94a3b8;opacity:1}.groups-org-owner-crown-emoji{display:block;filter:grayscale(1);font-size:11px;line-height:1;opacity:.42}.groups-org-owner-crown-btn:hover .groups-org-owner-crown-emoji{opacity:.65}.groups-thread-item--owner-crown{margin-bottom:2px}.groups-thread-item--owner-crown .groups-thread-label{align-items:center;display:inline-flex;gap:6px}.groups-thread-item--owner-crown .groups-thread-meta,.groups-thread-item--owner-crown .groups-thread-name{display:inline}.groups-thread-owner-crown{filter:grayscale(1);flex-shrink:0;font-size:11px;line-height:1;opacity:.42}.groups-thread-item--owner-crown:hover .groups-thread-owner-crown{opacity:.65}.groups-thread-item--owner-crown .groups-thread-name{font-weight:500}.groups-org-tree-org-slot{align-items:center;display:inline-flex;justify-content:center;overflow:visible;position:relative}.groups-org-floating-add-btn--web-edge{left:100%;margin-left:6px;position:absolute;top:50%;transform:translateY(-50%);z-index:4}.groups-org-tree-add-group-btn{align-items:center;background:linear-gradient(135deg,#fff,#f1f5f9);border:1px solid #e2e8f0;border-radius:50%;box-shadow:0 6px 16px #0f172a1a,0 2px 6px #0f172a0f;color:#374151;cursor:pointer;display:flex;font-family:inherit;height:32px;justify-content:center;padding:0;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s ease,background .3s ease;width:32px;z-index:3}.groups-org-tree-add-group-btn__icon{stroke:#374151;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;height:16px;width:16px}.groups-org-tree-add-group-btn:hover{background:linear-gradient(135deg,#fff,#e2e8f0);border-color:#cbd5e1;box-shadow:0 10px 20px #0f172a24,0 4px 10px #0f172a14}.groups-org-floating-add-btn--web-edge:hover{transform:translateY(calc(-50% - 2px)) scale(1.06)}.groups-org-floating-add-btn--web-edge:active{transform:translateY(-50%) scale(.95)}.groups-org-floating-add-btn--list{bottom:20px;flex:none;position:absolute;right:20px;z-index:5}.groups-org-floating-add-btn--list:hover{transform:scale(1.06) translateY(-2px)}.groups-org-floating-add-btn--list:active{transform:scale(.95)}.groups-org-tree-add-group-btn:focus-visible{outline:2px solid #94a3b8;outline-offset:3px}.groups-add-group-empty{align-items:center;background:linear-gradient(180deg,#f8fafc,#fff);border:2px dashed #cbd5e1;border-radius:10px;box-sizing:border-box;display:flex;flex-direction:column;font-family:inherit;gap:8px;justify-content:center;margin:16px auto 0;min-height:118px;min-width:168px;padding:24px 16px 14px;text-align:center}.groups-add-group-empty--interactive{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.groups-add-group-empty--interactive:hover{background:linear-gradient(180deg,#f1f5f9,#fff);border-color:#94a3b8;box-shadow:0 2px 10px #0f172a0f}.groups-add-group-empty--interactive:hover .groups-add-group-empty__icon{background:#e2e8f0;color:#334155}.groups-add-group-empty--interactive:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.groups-add-group-empty__icon{align-items:center;background:#f1f5f9;border-radius:10px;color:#64748b;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;transition:background .15s ease,color .15s ease;width:40px}.groups-add-group-empty__users{display:block}.groups-add-group-empty__icon-plus{bottom:0;color:#64748b;font-size:28px;font-weight:700;line-height:1;pointer-events:none;position:absolute;right:0;transform:translate(42%,42%)}.groups-add-group-empty--interactive:hover .groups-add-group-empty__icon-plus{color:#334155}.groups-add-group-empty__label{color:#475569;font-size:.875rem;font-weight:600;line-height:1.3}.groups-add-group-empty--interactive:hover .groups-add-group-empty__label{color:#334155}.groups-org-tree-branch{align-items:center;display:flex;flex-direction:column;min-width:0}.groups-org-tree-card-slot{display:flex;justify-content:center;position:relative}.groups-org-tree-card{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:2px;justify-content:center;min-height:48px;padding:8px 10px;text-align:center;width:168px}.groups-org-tree-card--root{color:#fff;cursor:default;min-height:64px;width:220px}.groups-org-tree-card.is-hover:not(.groups-org-tree-card--root){background:#f1f5f9}.groups-org-tree-card-name{color:#0f172a;font-size:12px;font-weight:600;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.groups-org-tree-card--org-root .groups-org-tree-card-name{color:#fff;font-size:13px}.groups-org-tree-card--root:not(.groups-org-tree-card--org-root) .groups-org-tree-card-name{color:#0f172a;font-size:13px}.groups-org-tree-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:2px}.groups-org-tree-card-meta--period-text{color:#94a3b8;font-size:.62rem;font-weight:500;letter-spacing:.01em}.groups-org-tree-connector-block{align-items:center;display:flex;flex-direction:column;min-width:0;width:100%}.groups-org-tree-connector-block--root{margin-top:0}.groups-org-tree-stem-down{align-self:center;background:#cbd5e1;flex-shrink:0;height:14px;width:2px}.groups-org-tree-child-row{align-items:flex-start;align-self:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:24px;justify-content:flex-start;position:relative;width:-webkit-max-content;width:max-content}.groups-org-tree-h-line{background:#cbd5e1;box-sizing:border-box;height:2px;pointer-events:none;position:absolute;top:0;z-index:0}.groups-org-tree-child-cell{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;position:relative;z-index:1}.groups-org-tree-card--period{background:#fafbff;border-style:dashed}.groups-org-tree-card--period.is-hover{background:#eff6ff}.groups-org-tree-card--nested{min-height:44px}.groups-org-tree-card--derived{border-style:dashed}.groups-derived-guardians{padding:0}.groups-derived-guardians .groups-dms-members-toolbar,.groups-derived-guardians-gp-row,.groups-derived-guardians-header{flex-shrink:0}.groups-derived-guardians-header{align-items:flex-start;background:#fff;border-bottom:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:14px 16px 10px}.groups-derived-guardians-title{color:#0f172a;font-size:1.05rem;font-weight:600;margin:0 0 4px}.groups-derived-guardians-sub{color:#64748b;font-size:.82rem;line-height:1.45;margin:0;max-width:36rem}.groups-derived-guardians-stats{color:#475569;display:flex;flex-wrap:wrap;font-size:.82rem;gap:10px 14px}.groups-derived-guardians-stat strong{color:#0f172a;font-weight:600}.groups-derived-guardians-gp-row{align-items:flex-start;background:#fafafa;border-bottom:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:10px;padding:10px 16px}.groups-derived-guardians-gp-label{color:#94a3b8;flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.04em;padding-top:6px;text-transform:uppercase}.groups-derived-guardians-gp-chips{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.groups-derived-guardians-gp-chip{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#334155;cursor:pointer;display:inline-flex;font-size:.78rem;gap:6px;padding:4px 10px}.groups-derived-guardians-gp-chip.is-active{background:#ecfdf5;border-color:#059669;color:#047857}.groups-derived-guardians-gp-chip-count{align-items:center;background:#f1f5f9;border-radius:999px;color:#475569;display:inline-flex;font-size:.7rem;font-weight:600;justify-content:center;min-width:1.25rem;padding:0 5px}.groups-derived-guardians-gp-chip.is-active .groups-derived-guardians-gp-chip-count{background:#a7f3d0;color:#065f46}.groups-derived-guardian-gps{color:#64748b;font-size:.78rem;line-height:1.35;margin:2px 0 0}.groups-derived-guardian-students{color:#94a3b8}.groups-org-tree-stem-to-card{background:#cbd5e1;flex-shrink:0;height:14px;width:2px}.groups-create-period-label-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.groups-create-period-panel{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin-bottom:12px;padding:12px}.crud-btn{align-items:center;-webkit-appearance:none;appearance:none;border-radius:10px;display:inline-flex;font-size:.95rem;font-weight:700;justify-content:center;line-height:1;padding:10px 16px;transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform 40ms ease;-webkit-user-select:none;user-select:none}.crud-btn:disabled{cursor:not-allowed;opacity:.6}.crud-btn--primary{background:var(--color-brand-muted);border:2px solid var(--color-brand-soft);color:var(--color-brand-hover);padding:12px 20px}.crud-btn--primary:hover:not(:disabled){background:var(--color-brand-soft);border-color:var(--color-brand);box-shadow:0 6px 14px var(--color-brand-soft)}.crud-btn--primary:active:not(:disabled){background:var(--color-brand-soft);border-color:var(--color-brand);transform:translateY(1px)}.crud-btn--primary-soft{background:var(--color-brand-muted);border:1px solid var(--color-brand-soft);color:var(--color-brand-hover)}.crud-btn--primary-soft:hover:not(:disabled){background:var(--color-brand-soft);border-color:var(--color-brand)}.crud-btn--primary-soft:active:not(:disabled){background:var(--color-brand-soft);transform:translateY(1px)}.crud-btn--neutral{background:#0000;border:2px solid #cbd5e1;color:#475569}.crud-btn--neutral:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.crud-btn--neutral:active:not(:disabled){transform:translateY(1px)}.crud-btn--danger{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.crud-btn--danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.crud-btn:focus-visible{outline:3px solid var(--color-brand-soft);outline-offset:2px}.crud-btn--danger:active:not(:disabled){background:#fecaca;transform:translateY(1px)}.crud-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #c7d2fe;border-radius:15px;box-shadow:0 2px 10px #0000000d}.profile-sheet-panel--payment .profile-sheet-title{font-size:.95rem}.profile-sheet-panel--payment .profile-sheet-subtext{font-size:.68rem;line-height:1.4}.profile-sheet-panel--payment .profile-sheet-form-body{padding:0 12px 8px}.profile-sheet-panel--payment .profile-sheet-label{font-size:.6rem;margin-bottom:3px}.profile-sheet-panel--payment .profile-sheet-input,.profile-sheet-panel--payment .profile-sheet-select{border-radius:6px;font-size:.75rem;padding:5px 8px}.profile-sheet-panel--payment .profile-sheet-btn{border-radius:6px;font-size:.75rem;padding:6px 12px}.profile-sheet-panel--payment .profile-sheet-field-row{gap:8px;margin-bottom:6px}.pay-editor-section{border-top:1px solid #f1f5f9;margin-top:10px;padding-top:10px}.pay-editor-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.pay-editor-section-title{color:#94a3b8;font-size:.6rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.pay-invoice-card{align-items:center;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;padding:8px 10px}.pay-invoice-icon{align-items:center;background:#eef2ff;border-radius:7px;color:#4f46e5;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.pay-invoice-icon svg{height:18px;width:18px}.pay-invoice-body{flex:1 1;min-width:0}.pay-invoice-aside{flex-shrink:0;gap:4px}.pay-invoice-aside,.pay-invoice-charge{align-items:flex-end;display:flex;flex-direction:column}.pay-invoice-charge{gap:0;line-height:1.2}.pay-invoice-charge-label{color:#94a3b8;font-size:.55rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pay-invoice-charge-value{color:#0f172a;font-size:.82rem;font-weight:700}.pay-invoice-name{color:#0f172a;font-size:.8rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pay-invoice-charge-code{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;font-weight:600;letter-spacing:.03em;margin-top:1px}.pay-invoice-received{color:#64748b;font-size:.68rem;font-weight:500;margin-top:2px}.pay-invoice-received--none{color:#94a3b8;font-style:italic}.pay-invoice-tracking{color:#94a3b8;font-size:.68rem;margin-top:2px}.pay-editor-status-pill{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;flex-shrink:0;font-size:.65rem;font-weight:700;padding:2px 8px}.pay-editor-derived-note{color:#94a3b8;font-size:.62rem;line-height:1.35;margin:4px 0 0}.pay-editor-section-bar{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px}.pay-editor-section-bar-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.pay-editor-waived-box{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;display:flex;font-size:.72rem;gap:8px;justify-content:space-between;padding:7px 10px}.pay-editor-waive-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.65rem;font-weight:600;gap:4px;padding:3px 8px;white-space:nowrap}.pay-editor-waive-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.pay-editor-waive-btn:disabled{cursor:not-allowed;opacity:.55}.pay-editor-waive-btn__glyph{font-size:.78rem;line-height:1}.pay-editor-waive-btn--restore{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.pay-editor-txn-sum{color:#64748b;font-size:.68rem;padding:4px 2px}.pay-editor-txn-sum strong{color:#0f172a;font-weight:700}.pay-editor-txn-sum--inline{padding:0}.pay-editor-txn-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.pay-editor-txn-list--muted{opacity:.75}.pay-editor-txn-list-add{list-style:none}.pay-editor-add-txn-row{align-items:center;background:linear-gradient(180deg,#f8fafc,#fff);border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:center;min-height:44px;padding:8px 12px;transition:border-color .15s ease,background .15s ease;width:100%}.pay-editor-add-txn-row:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.pay-editor-add-txn-row:disabled{cursor:not-allowed;opacity:.45}.pay-editor-add-txn-row__icon{align-items:center;background:#f1f5f9;border-radius:7px;color:#64748b;display:flex;flex-shrink:0;height:28px;justify-content:center;position:relative;width:28px}.pay-editor-add-txn-row__glyph{font-size:16px;font-weight:700;line-height:1}.pay-editor-add-txn-row__plus{bottom:-5px;color:#64748b;font-size:12px;font-weight:800;line-height:1;position:absolute;right:-4px}.pay-editor-add-txn-row__label{color:#475569;font-size:.75rem;font-weight:600}.pay-editor-txn-card{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:5px 7px}.pay-editor-txn-card--draft{background:#f8fafc;border-color:#bfdbfe;padding:6px 8px}.pay-editor-txn-card--muted{opacity:.85}.pay-editor-txn-row{align-items:flex-start;display:flex;gap:6px}.pay-editor-txn-row__main{flex:1 1;min-width:0}.pay-editor-txn-row__line{align-items:center;display:flex;flex-wrap:wrap;gap:6px 8px;line-height:1.25}.pay-editor-txn-row__amt{color:#166534;font-size:.78rem;font-weight:700;white-space:nowrap}.pay-editor-txn-row__amt--debit{color:#b91c1c}.pay-editor-txn-row__meta{color:#64748b;flex:1 1 120px;font-size:.65rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pay-editor-txn-row__notes{color:#94a3b8;font-size:.62rem;line-height:1.35;margin:3px 0 0;padding-left:2px;word-break:break-word}.pay-editor-txn-draft-head{align-items:center;display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.pay-editor-txn-edit-compact{display:flex;flex-direction:column;gap:4px}.pay-editor-txn-edit-line{grid-gap:4px;align-items:start;display:grid;gap:4px;grid-template-columns:minmax(64px,.55fr) minmax(0,1.4fr) minmax(72px,.75fr)}.pay-editor-txn-edit-line--no-amt{grid-template-columns:minmax(0,1.4fr) minmax(72px,.75fr)}.pay-editor-txn-edit-cell--amt{display:flex;flex-direction:column;gap:2px}.pay-editor-txn-input{border-radius:5px!important;font-size:.7rem!important;min-width:0;padding:4px 6px!important;width:100%}.pay-editor-txn-input--notes{font-size:.68rem!important;padding:4px 7px!important}.pay-editor-fill-link{background:none;border:none;color:#2563eb;cursor:pointer;font-family:inherit;font-size:.58rem;font-weight:600;padding:0;text-align:left}.pay-editor-fill-link:hover:not(:disabled){text-decoration:underline}.pay-editor-fill-link:disabled{cursor:not-allowed;opacity:.5}.pay-editor-txn-card-head{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-bottom:5px}.pay-editor-remove-x{background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:1rem;font-weight:400;height:20px;line-height:1;margin-top:1px;padding:0;transition:color .15s ease,background .15s ease;width:20px}.pay-editor-remove-x:hover:not(:disabled){background:#fef2f2;color:#b91c1c}.pay-editor-remove-x:disabled{cursor:not-allowed;opacity:.45}.pay-editor-badge-wrap{display:inline-block;position:relative}.pay-editor-badge-trigger{align-items:center;border:1px solid;border-radius:999px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.6rem;font-weight:700;gap:3px;padding:2px 7px}.pay-editor-badge-trigger:disabled{cursor:not-allowed;opacity:.55}.pay-editor-badge-caret{border-left:3px solid #0000;border-right:3px solid #0000;border-top:4px solid;height:0;opacity:.65;width:0}.pay-editor-badge-menu{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 6px 18px #0f172a1a;left:0;min-width:150px;padding:3px;position:absolute;top:calc(100% + 3px);z-index:20}.pay-editor-badge-option{background:#0000;border:none;border-radius:4px;color:#334155;cursor:pointer;display:block;font-family:inherit;font-size:.72rem;padding:5px 8px;text-align:left;width:100%}.pay-editor-badge-option:hover{background:#f8fafc}.pay-editor-badge-option.is-active{background:#eff6ff;color:#1d4ed8;font-weight:600}.pay-editor-txn-badge{border:1px solid;border-radius:999px;font-size:.6rem;font-weight:700;padding:2px 7px}.pay-editor-txn-badge--payment{background:#dcfce7;border-color:#bbf7d0;color:#166534}.pay-editor-txn-badge--partial{background:#ffedd5;border-color:#fed7aa;color:#9a3412}.pay-editor-txn-badge--refund{background:#fee2e2;border-color:#fecaca;color:#991b1b}.pay-editor-txn-badge--waiver{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.pay-editor-txn-badge--failed_attempt{background:#ffedd5;border-color:#fed7aa;color:#9a3412}.pay-editor-txn-fields{grid-gap:4px 10px;display:grid;gap:4px 10px;grid-template-columns:1fr 1fr}.pay-editor-txn-field{display:flex;flex-direction:column;gap:0;min-width:0}.pay-editor-txn-field--full{grid-column:1/-1}.pay-editor-txn-field-label{color:#94a3b8;font-size:.58rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pay-editor-txn-field-value{color:#334155;font-size:.72rem;line-height:1.35;word-break:break-word}.pay-editor-txn-form-group{margin-bottom:6px}.pay-editor-txn-edit .pay-editor-txn-form-group:last-child{margin-bottom:0}.pay-editor-inline-notice{align-items:center;border:1px solid;border-radius:5px;display:flex;flex:1 1;flex-wrap:wrap;font-size:.6rem;gap:4px;line-height:1.25;min-width:0;padding:3px 6px}.pay-editor-inline-notice--success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.pay-editor-inline-notice--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.pay-editor-inline-notice--warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.pay-editor-inline-notice-action{background:#fff;border:1px solid;border-radius:4px;color:inherit;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.58rem;font-weight:700;padding:1px 5px}.pay-editor-select{position:relative}.pay-editor-select-trigger{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#0f172a;cursor:pointer;display:flex;font-family:inherit;font-size:.75rem;gap:6px;justify-content:space-between;padding:5px 8px;text-align:left;width:100%}.pay-editor-select-trigger.is-open{border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f61f}.pay-editor-select-trigger:disabled{cursor:not-allowed;opacity:.55}.pay-editor-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pay-editor-select-caret{border-left:3px solid #0000;border-right:3px solid #0000;border-top:4px solid #94a3b8;flex-shrink:0;height:0;width:0}.pay-editor-select-option{background:#0000;border:none;border-radius:4px;color:#334155;cursor:pointer;display:block;font-family:inherit;font-size:.75rem;padding:5px 8px;text-align:left;width:100%}.pay-editor-select-option:hover{background:#f8fafc}.pay-editor-select-option.is-active{background:#eff6ff;color:#1d4ed8;font-weight:600}.pay-editor-fill-btn{background:#eff6ff;border:1px solid #3b82f6;border-radius:6px;color:#2563eb;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:.65rem;font-weight:600;padding:0 8px;white-space:nowrap}.pay-editor-amount-row{align-items:stretch;display:flex;gap:5px}.pay-editor-amount-row .profile-sheet-input{flex:1 1;min-width:0}.pay-editor-record-footer{align-items:stretch;border-top:1px solid #f1f5f9;display:flex;gap:6px;justify-content:flex-end;margin-top:6px;padding-top:6px}.pay-editor-cancel-btn{font-size:.72rem!important;padding:6px 10px!important}.pay-editor-save-btn{font-size:.78rem!important;font-weight:700!important;min-width:88px;padding:6px 14px!important}.pay-editor-label-optional{color:#94a3b8;font-weight:400;text-transform:none}.pay-editor-notes{box-sizing:border-box;font-family:inherit;font-size:.75rem;line-height:1.4;min-height:48px;resize:vertical;width:100%}.pay-editor-empty{color:#94a3b8;font-size:.72rem;margin:0}.pay-editor-select-menu--portal{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 6px 18px #0f172a1f;max-height:200px;overflow-y:auto;padding:3px;position:fixed;z-index:3000}.profile-section-save{background:var(--color-brand);border:1px solid var(--color-brand);border-radius:6px;color:var(--color-brand-on);cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:500;padding:5px 10px;transition:background .15s ease,border-color .15s ease}.profile-section-save:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.profile-section-cancel{background:#0000;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:500;padding:5px 10px;transition:background .15s ease,color .15s ease}.profile-section-cancel:hover{background:#f8fafc;color:#0f172a}.profile-section-header-extra{align-items:center;display:inline-flex;flex-shrink:0;margin-right:2px}.profile-section-add-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:4px;color:var(--color-brand);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:.72rem;font-weight:600;letter-spacing:.01em;line-height:1.3;margin:0;padding:2px 4px;transition:color .15s ease,opacity .15s ease;white-space:nowrap}.profile-section-add-btn:hover{color:var(--color-brand-hover)}.profile-section-add-btn:active{opacity:.85}.profile-section-add-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.profile-display-name-btn{background:none;border:none;border-radius:6px;color:#334155;cursor:pointer;display:block;font:inherit;font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin:0;padding:0;text-align:left;transition:color .15s ease,background .15s ease;width:100%}.profile-display-name-btn:hover{color:var(--color-brand)}.profile-display-name-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.profile-column-scroll{min-height:0;overscroll-behavior:contain}.profile-top-bar-start{align-items:center;display:flex;flex:1 1;min-width:0}.profile-back-link{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8125rem;font-weight:500;gap:6px;margin:0;padding:4px 0;transition:color .15s ease}.profile-back-link:hover{color:var(--color-brand)}.profile-back-link:focus-visible{border-radius:4px;outline:2px solid var(--color-brand);outline-offset:2px}.profile-back-link-icon{font-size:.95rem;line-height:1}.profile-context-switcher-wrap{flex-shrink:0;max-width:min(420px,55vw)}.profile-context-switcher{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;display:flex;font-family:inherit;gap:12px;margin:0;padding:8px 12px;text-align:left;width:100%}.profile-context-switcher--interactive{cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.profile-context-switcher--interactive:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 1px 2px #0f172a0f}.profile-context-switcher--interactive:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.profile-context-switcher--static{background:#fafbfc;cursor:default}.profile-context-switcher-main{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.profile-context-switcher-eyebrow{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.profile-context-switcher-role{color:#0f172a;font-size:.875rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-context-switcher-period{color:#64748b;font-size:.75rem;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-context-switcher-action{align-items:center;color:var(--color-brand);display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;gap:4px;white-space:nowrap}.profile-context-switcher-chevron{font-size:.7rem;line-height:1}.profile-documents-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}.profile-document-widget{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;min-height:118px;overflow:hidden;position:relative;transition:border-color .15s ease,box-shadow .15s ease}.profile-document-widget:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0f}.profile-document-widget-open{align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:inherit;gap:6px;justify-content:flex-start;min-height:118px;padding:28px 10px 12px;text-align:center;width:100%}.profile-document-widget-open:disabled{cursor:default;opacity:.85}.profile-document-widget-open:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.profile-document-widget:hover .profile-document-widget-icon{background:var(--color-brand);color:var(--color-brand-on)}.profile-document-widget-icon{align-items:center;background:var(--color-brand-muted);border-radius:10px;color:var(--color-brand);display:flex;flex-shrink:0;height:40px;justify-content:center;transition:background .15s ease,color .15s ease;width:40px}.profile-document-widget-category,.profile-document-widget-type{font-size:.62rem;font-weight:600;letter-spacing:.04em;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.profile-document-widget-category{color:#0369a1}.profile-document-widget-type{color:#94a3b8}.profile-document-widget-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#334155;display:-webkit-box;font-size:.78rem;font-weight:600;line-height:1.25;overflow:hidden;transition:color .15s ease;width:100%}.profile-document-widget:hover .profile-document-widget-title{color:var(--color-brand)}.profile-document-widget-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#94a3b8;display:-webkit-box;font-size:.68rem;line-height:1.3;overflow:hidden;width:100%}.profile-document-widget-actions{align-items:center;display:flex;gap:2px;position:absolute;right:4px;top:4px;z-index:1}.profile-document-delete,.profile-document-edit{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-family:inherit;justify-content:center;line-height:1;padding:2px 4px}.profile-document-edit{color:#94a3b8}.profile-document-edit:hover{color:#64748b}.profile-document-delete{color:#fca5a5;font-size:1.1rem;font-weight:400}.profile-document-delete:hover{color:#f87171}.profile-credential-row--required-missing{background:linear-gradient(180deg,#fef2f2,#fff5f5);border:2px dashed #f87171;border-radius:8px;margin-bottom:6px;overflow:hidden}.profile-credential-row-missing-trigger{align-items:flex-start;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-align:left;width:100%}.profile-credential-row-missing-trigger:disabled{cursor:not-allowed}.profile-credential-row-missing-trigger:not(:disabled):hover{background:#fee2e259}.profile-credential-row-title--missing{color:#991b1b;font-size:.95rem;font-weight:600}.profile-document-widget--required-missing{background:linear-gradient(180deg,#fef2f2,#fff5f5);border:2px dashed #f87171;box-shadow:none}.profile-document-widget--required-missing:hover{border-color:#ef4444;box-shadow:0 2px 10px #ef44441f}.profile-document-widget-open--missing{cursor:pointer}.profile-document-widget-open--missing:disabled{cursor:not-allowed;opacity:1}.profile-document-widget-open--missing:not(:disabled):hover .profile-document-widget-icon--missing{background:#ef4444;color:#fff}.profile-document-widget-icon--missing{background:#fee2e2;color:#dc2626}.profile-document-widget-title--missing{color:#991b1b}.profile-document-widget--required-missing:hover .profile-document-widget-title--missing{color:#b91c1c}.profile-doc-field{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.875rem;margin-bottom:12px;padding:8px 10px;width:100%}.profile-doc-field--flush,.profile-doc-source{margin-bottom:0}.profile-doc-source-tabs{background:#f1f5f9;border-radius:10px;display:flex;gap:4px;margin-bottom:10px;padding:4px}.profile-doc-source-tab{background:#0000;border:none;border-radius:7px;color:#64748b;cursor:pointer;flex:1 1;font-family:inherit;font-size:.8125rem;font-weight:500;margin:0;padding:7px 10px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.profile-doc-source-tab:hover:not(:disabled){color:#334155}.profile-doc-source-tab--active{background:#fff;box-shadow:0 1px 2px #0f172a14;color:#0f172a}.profile-doc-source-tab:disabled{cursor:not-allowed;opacity:.6}.profile-doc-source-panel{min-height:88px}.profile-doc-file-drop{align-items:center;background:#fafbfc;border:1.5px dashed #cbd5e1;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:6px;justify-content:center;min-height:112px;padding:16px;transition:border-color .15s ease,background .15s ease;width:100%}.profile-doc-file-drop:hover:not(:disabled){background:var(--color-brand-muted);border-color:var(--color-brand)}.profile-doc-file-drop:disabled{cursor:not-allowed;opacity:.65}.profile-doc-file-drop-icon{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:50%;color:#64748b;display:flex;font-size:1.25rem;font-weight:300;height:32px;justify-content:center;line-height:1;width:32px}.profile-doc-file-drop-label{color:#334155;font-size:.875rem;font-weight:600;text-align:center;word-break:break-word}.profile-doc-file-drop-hint{color:#94a3b8;font-size:.75rem}.profile-doc-file-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.profile-basic{display:flex;flex-direction:column;gap:10px}.profile-basic-header{padding-right:48px;position:relative}.profile-basic-avatar-wrap{align-items:center;display:flex;flex-direction:column;gap:3px;position:absolute;right:0;top:0}.profile-basic-avatar{align-items:center;background:var(--color-brand-muted);border:none;border-radius:8px;cursor:pointer;display:flex;height:40px;justify-content:center;overflow:hidden;transition:opacity .15s ease;width:40px}.profile-basic-avatar:hover:not(.profile-basic-avatar--disabled){opacity:.88}.profile-basic-avatar-label{color:#94a3b8;font-size:.58rem;font-weight:600;letter-spacing:.08em;line-height:1;text-transform:uppercase;-webkit-user-select:none;user-select:none}.profile-basic-avatar--disabled{cursor:default;opacity:.85}.profile-basic-avatar img{display:block;height:100%;object-fit:cover;width:100%}.profile-basic-avatar-initials{color:var(--color-brand);font-size:.72rem;font-weight:600;letter-spacing:.02em}.profile-basic-name-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.profile-field{border:none;display:flex;flex-direction:column;gap:4px;margin:0;padding:0}.profile-field-label{color:#94a3b8;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.profile-field-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:.8rem;outline:none;padding:6px 8px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.profile-field-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-muted)}.profile-field-input:disabled{background:#f8fafc;cursor:default;opacity:.85}.profile-platform-access-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px 14px}.profile-platform-access-row .profile-switch-badge{flex-shrink:0}.profile-owner-password-hint{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:.8rem;line-height:1.4;margin:0 0 10px;padding:8px 10px}.profile-platform-password-trigger{background:none;border:none;color:#94a3b8;cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:500;padding:4px 2px;text-decoration:none;transition:color .15s ease}.profile-platform-password-trigger:hover{color:#64748b}.profile-platform-password-trigger:focus-visible{border-radius:4px;outline:2px solid var(--color-brand);outline-offset:2px}.profile-platform-password-missing{background:linear-gradient(180deg,#fef2f2,#fff5f5);border:2px dashed #f87171;border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:10px 12px}.profile-platform-password-missing__label{color:#b91c1c;font-size:.68rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.profile-field-input--required-missing{background:#fff;border-color:#fecaca}.profile-field-input--required-missing:focus{border-color:#f87171;box-shadow:0 0 0 2px #f8717133}.profile-switch-badge{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#94a3b8;cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:500;padding:4px 10px;transition:background .15s ease,border-color .15s ease,color .15s ease}.profile-switch-badge.is-on,.profile-switch-badge:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.profile-badge-check{font-weight:700}.profile-badge-check--blue{color:#2563eb}.profile-badge-check--green{color:#16a34a}.profile-switch-badge:disabled{cursor:default;opacity:.8}.profile-platform-hint{color:#94a3b8;font-size:.68rem;line-height:1.2}.profile-field-hint--subtle{color:#94a3b8;font-size:.72rem;line-height:1.4;margin:0}.profile-expandable-section{border:1px solid #e2e8f0;border-radius:10px}.profile-expandable-section>.profile-expandable-section-header{border-left:3px solid var(--color-brand);padding-left:9px}.profile-expandable-section .profile-expandable-section{border:1px solid #e2e8f0;border-radius:10px}.profile-expandable-section .profile-expandable-section>.profile-expandable-section-header{border-left:none;padding-left:12px}.profile-expandable-section .profile-expandable-section .profile-section-title{color:#475569}.profile-section-title{color:#334155;font-size:.75rem;font-weight:600;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.profile-section-expand{color:#94a3b8;font-size:.7rem}.profile-student-info{display:flex;flex-direction:column;gap:12px;overflow:visible}.profile-student-info-badges-wrap{display:flex;flex-direction:column;gap:8px}.profile-student-info-badge-grid{align-content:flex-start;align-items:stretch;display:flex;flex-wrap:wrap;gap:8px}.profile-student-info-badge-grid--dates{border-top:1px solid #f1f5f9;padding-top:4px}.profile-student-info .profile-si-badge-cell{box-sizing:border-box;display:flex;flex:0 0 auto;max-width:100%;min-width:0;width:-webkit-max-content;width:max-content}.profile-student-info .profile-si-badge-cell>.profile-choice-badge,.profile-student-info .profile-si-badge-cell>.profile-choice-badge-wrap,.profile-student-info .profile-si-badge-cell>.profile-si-toggle-badge{box-sizing:border-box;flex:1 1 auto;height:100%;min-height:40px;width:100%}.profile-student-info .profile-si-badge-cell .profile-choice-badge-wrap{max-width:100%;min-width:0}.profile-si-toggle-badge{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#64748b;cursor:pointer;display:flex;font-family:inherit;font-size:.8125rem;font-weight:600;justify-content:center;min-height:40px;padding:5px 10px;text-align:center;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;width:100%}.profile-si-toggle-badge:hover:not(:disabled){background:#fff;border-color:#cbd5e1;color:#334155}.profile-si-toggle-badge.is-on{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.profile-si-toggle-badge:disabled{cursor:default;opacity:.9}.profile-choice-badge-wrap{min-width:0;position:relative;width:100%}.profile-choice-badge{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:1px;justify-content:center;min-height:40px;padding:5px 10px;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.profile-choice-badge--date:not(.is-disabled){cursor:pointer}.profile-choice-badge--date.is-disabled{cursor:default;opacity:.9}.profile-choice-badge--date:not(.is-disabled):hover{background:#fff;border-color:#cbd5e1;box-shadow:0 1px 4px #0f172a0f}.profile-si-date-badge-wrap{position:relative}.profile-si-date-input-overlay{background:#0000;border:0;cursor:pointer;font-size:16px;height:100%;inset:0;margin:0;opacity:0;padding:0;position:absolute;width:100%;z-index:2}.profile-si-date-input-overlay::-webkit-calendar-picker-indicator{cursor:pointer;height:100%;inset:0;margin:0;padding:0;position:absolute;width:100%}.profile-choice-badge__value--solo{color:#64748b;font-size:.8125rem;font-weight:600;line-height:1.3;white-space:normal}.profile-choice-badge:not(:disabled):hover{background:#fff;border-color:#cbd5e1;box-shadow:0 1px 4px #0f172a0f}.profile-choice-badge.is-disabled{cursor:default;opacity:.9}.profile-choice-badge-wrap.is-open .profile-choice-badge{border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand-muted)}.profile-choice-badge__kicker{color:#94a3b8;font-size:.62rem;font-weight:600;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.profile-student-info .profile-choice-badge__kicker{font-size:.58rem}.profile-student-info .profile-choice-badge__kicker,.profile-student-info .profile-choice-badge__value,.profile-student-info .profile-choice-badge__value--solo{max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}.profile-student-info .profile-choice-badge__value{color:#475569;font-size:.78rem}.profile-student-info .profile-choice-badge__value--solo{font-size:.75rem}.profile-student-info .profile-si-toggle-badge{white-space:nowrap}.profile-student-info .profile-choice-badge__chev{font-size:.65rem;right:8px;top:7px}.profile-student-info .profile-si-toggle-badge{font-size:.75rem;min-height:40px;padding:5px 10px}.profile-student-info .profile-choice-badge{padding-right:22px}.profile-choice-badge__value{color:#0f172a;font-size:.9rem;font-weight:600;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-choice-badge__chev{color:#94a3b8;font-size:.7rem;line-height:1;position:absolute;right:10px;top:10px}.profile-choice-badge{padding-right:26px;position:relative}.profile-student-info .profile-choice-badge--success{background:#f0fdf4;border-color:#bbf7d0}.profile-student-info .profile-choice-badge--success .profile-choice-badge__value{color:#15803d}.profile-student-info .profile-choice-badge--warning{background:#fffbeb;border-color:#fde68a}.profile-student-info .profile-choice-badge--warning .profile-choice-badge__value{color:#b45309}.profile-student-info .profile-choice-badge--info{background:#eff6ff;border-color:#bfdbfe}.profile-student-info .profile-choice-badge--info .profile-choice-badge__value{color:#1d4ed8}.profile-choice-badge--neutral .profile-choice-badge__value{color:#475569}.profile-choice-badge-menu{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0f172a1f;box-sizing:border-box;min-width:160px;overflow-x:hidden;overflow-y:auto;padding:4px}.profile-choice-badge-menu--portal{position:fixed}.profile-choice-badge-menu__item{background:#0000;border:none;border-radius:6px;color:#334155;cursor:pointer;display:block;font-family:inherit;font-size:.8125rem;font-weight:500;padding:8px 10px;text-align:left;width:100%}.profile-choice-badge-menu__item:hover{background:#f1f5f9}.profile-choice-badge-menu__item.is-selected{background:var(--color-brand-muted);color:var(--color-brand)}.profile-choice-badge-menu-custom{display:flex;flex-direction:column;gap:8px;padding:6px}.profile-choice-badge-menu__label{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.profile-choice-badge-menu__actions{display:flex;gap:8px;justify-content:flex-end}.profile-choice-badge-menu__secondary{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:500;padding:6px 10px}.profile-choice-badge-menu__secondary:hover{background:#f8fafc;color:#334155}.profile-choice-badge-menu__done{background:var(--color-brand);border:none;border-radius:6px;color:var(--color-brand-on);cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600;padding:6px 10px}.profile-choice-badge-menu__done:hover{background:var(--color-brand-hover)}.profile-check-badge-row{align-items:center;display:flex;gap:8px}.profile-sheet-overlay{align-items:flex-end;animation:profile-sheet-overlay-in .2s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#0f172a29;display:flex;inset:0;justify-content:center;padding:12px 12px max(12px,env(safe-area-inset-bottom));position:fixed;z-index:1998}@keyframes profile-sheet-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes profile-sheet-panel-slide{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes profile-sheet-panel-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-sheet-panel{animation:profile-sheet-panel-slide .28s cubic-bezier(.22,1,.36,1);background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 40px #0f172a1f;display:flex;flex-direction:column;max-height:min(70vh,360px);overflow:hidden;width:min(100%,400px)}@media (min-width:520px){.profile-sheet-overlay{align-items:center;padding:20px}.profile-sheet-panel{animation:profile-sheet-panel-in .24s cubic-bezier(.22,1,.36,1)}}.profile-sheet-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;padding:12px 14px 8px}.profile-sheet-header-main{flex:1 1;min-width:0}.profile-sheet-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.profile-sheet-name{color:#0f172a;font-size:.875rem;font-weight:600;letter-spacing:-.01em}.profile-sheet-relationship{color:#64748b;font-size:.75rem;line-height:1.35}.profile-sheet-close{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1.25rem;height:28px;line-height:1;padding:0;transition:background .15s ease,color .15s ease;width:28px}.profile-sheet-close:hover{background:#f1f5f9;color:#64748b}.profile-sheet-body{display:flex;flex-direction:column;gap:10px;padding:0 14px 14px}.profile-sheet-field-label{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.05em;margin-bottom:2px;text-transform:uppercase}.profile-sheet-field-value{color:#0f172a;font-size:.8125rem;line-height:1.4}.profile-sheet-field-value.is-empty{color:#94a3b8}.profile-sheet-footer{border-top:1px solid #f1f5f9;margin-top:2px;padding-top:10px}.profile-sheet-action{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-family:inherit;font-size:.75rem;font-weight:600;padding:7px 12px;transition:filter .15s ease;width:100%}.profile-sheet-action:hover{filter:brightness(.95)}.profile-sheet-footer--split{display:flex;flex-direction:column;gap:8px}.profile-sheet-action--secondary{background:#fff;border:1px solid #e2e8f0;color:#334155}.profile-sheet-action--secondary:hover{background:#f8fafc;filter:none}.profile-sheet-callout{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px 14px}.profile-sheet-callout--warning .profile-sheet-callout-text{color:#92400e;font-size:.8rem;line-height:1.45;margin:0 0 10px}.profile-sheet-btn--inline{width:auto}.profile-sheet-title-row{align-items:center;display:flex;gap:8px}.profile-sheet-title-row .profile-sheet-title{margin:0}.profile-sheet-title-open-tab{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;justify-content:center;line-height:1;padding:4px}.profile-sheet-title-open-tab:hover{background:#f1f5f9;color:#0369a1}.profile-pl-open-tab{margin-left:2px;vertical-align:middle}.profile-pl-missing-meeting-link{color:#b45309;font-style:italic;font-weight:500}.profile-ugp-props-list{display:flex;flex-direction:column;gap:8px}.profile-ugp-props-row{align-items:flex-start;background:#fafafa;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.profile-ugp-props-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-ugp-props-key{color:#0f172a;font-size:.8rem;font-weight:600}.profile-ugp-props-audience{color:#64748b;font-size:.72rem}.profile-ugp-props-value,.profile-ugp-props-value-link{color:#475569;font-size:.78rem;word-break:break-all}.profile-ugp-props-value-link{color:#0369a1}.profile-ugp-props-actions{align-items:center;display:flex;flex-shrink:0;gap:2px}.profile-pl-row{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:6px;padding:10px 12px;transition:box-shadow .15s ease,border-color .15s ease}.profile-pl-row:not(.profile-pl-row--disabled){cursor:pointer}.profile-pl-row:not(.profile-pl-row--disabled):hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000f}.profile-pl-row--disabled{cursor:default}.profile-pl-row-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.profile-sheet-readonly-block{display:flex;flex-direction:column;gap:10px}.profile-sheet-readonly-name{color:#0f172a;font-size:.95rem;font-weight:600}.profile-sheet-readonly-row{display:flex;flex-direction:column;gap:2px}.profile-sheet-readonly-row .profile-sheet-label{margin:0}.profile-sheet-readonly-empty{color:#94a3b8;font-style:italic}.profile-sheet-readonly-link{color:#0369a1;font-size:.85rem;word-break:break-all}.profile-pl-type-badge{border-radius:6px;font-size:.65rem;font-weight:600;letter-spacing:.03em;padding:2px 7px;text-transform:uppercase}.profile-pl-type-badge--guardian{background:#e0f2fe;color:#0369a1}.profile-pl-type-badge--counselor{background:#fef3c7;color:#b45309}.profile-pl-type-badge--supervisor{background:#ede9fe;color:#5b21b6}.profile-pl-primary-badge{background:#d1fae5;border-radius:4px;color:#059669;font-size:.65rem;font-weight:600;padding:2px 6px}.profile-sheet-overlay--raised{z-index:1999}.profile-sheet-panel--form{max-height:min(90vh,640px);width:min(100%,440px)}.profile-sheet-panel--pl-form{max-height:min(92vh,760px);width:min(100%,720px)}.profile-sheet-form-body{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto;padding:0 14px 10px}.profile-sheet-title{color:#0f172a;font-size:.875rem;font-weight:600;letter-spacing:-.01em;margin:0}.profile-sheet-subtext{color:#64748b;font-size:.75rem;line-height:1.4;margin:4px 0 0}.profile-sheet-form-group{margin-bottom:10px}.profile-sheet-form-group:last-child{margin-bottom:0}.profile-sheet-label{color:#94a3b8;display:block;font-size:.65rem;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.profile-sheet-input,.profile-sheet-select,.profile-sheet-textarea{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:.8125rem;padding:7px 10px;width:100%}.profile-sheet-select{cursor:pointer}.profile-sheet-textarea{display:block;min-height:64px;resize:vertical}.profile-sheet-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;font-size:.8125rem;gap:8px;justify-content:space-between;margin-bottom:10px;padding:8px 10px}.profile-sheet-row strong{color:#0f172a;font-weight:600}.profile-sheet-row span{color:#64748b;font-size:.75rem}.profile-sheet-toggle{background:#f1f5f9;border-radius:8px;display:flex;gap:4px;margin-bottom:10px;padding:3px}.profile-sheet-toggle-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;flex:1 1;font-family:inherit;font-size:.75rem;font-weight:600;padding:6px 8px;transition:background .15s ease,color .15s ease}.profile-sheet-toggle-btn.is-active{background:#e0f2fe;color:#0369a1}.profile-sheet-search-row{align-items:stretch;display:flex;gap:6px;margin-bottom:10px}.profile-sheet-search-row .profile-sheet-input{flex:1 1;margin-bottom:0;min-width:0;width:100%}.profile-sheet-search-submit{align-self:stretch;background:#3b82f6;border:1px solid #3b82f6;border-radius:8px;color:#fff;cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:.6875rem;font-weight:600;letter-spacing:.02em;line-height:1;min-width:3.25rem;padding:0 10px;transition:filter .15s ease,opacity .15s ease;white-space:nowrap}.profile-sheet-search-submit:hover:not(:disabled){filter:brightness(.95)}.profile-sheet-search-submit:disabled{cursor:not-allowed;opacity:.5}.profile-sheet-hint{color:#64748b;font-size:.75rem;margin:0 0 10px}.profile-sheet-results{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;max-height:160px;overflow-y:auto}.profile-sheet-result-item{border-bottom:1px solid #f1f5f9;color:#0f172a;cursor:pointer;font-size:.8125rem;padding:10px 12px;transition:background .12s ease}.profile-sheet-result-item:last-child{border-bottom:none}.profile-sheet-result-item:hover{background:#f8fafc}.profile-sheet-result-item.is-selected{background:#eff6ff}.profile-sheet-result-item span{color:#64748b;font-size:.75rem;margin-left:6px}.profile-sheet-inset{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;padding:10px 12px}.profile-sheet-check{align-items:center;color:#334155;cursor:pointer;display:flex;font-size:.8125rem;gap:8px}.profile-sheet-check.is-disabled{cursor:not-allowed;opacity:.7}.profile-sheet-actions{border-top:1px solid #f1f5f9;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;padding:10px 14px 14px}.profile-sheet-btn{border:1px solid #0000;border-radius:8px;cursor:pointer;flex:1 1 auto;font-family:inherit;font-size:.75rem;font-weight:600;min-width:0;padding:7px 12px;transition:filter .15s ease,opacity .15s ease}.profile-sheet-btn:disabled{cursor:not-allowed;opacity:.55}.profile-sheet-btn--secondary{background:#f8fafc;border-color:#e2e8f0;color:#475569}.profile-sheet-btn--secondary:hover:not(:disabled){background:#f1f5f9}.profile-sheet-btn--primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.profile-sheet-btn--primary:hover:not(:disabled){filter:brightness(.95)}.profile-sheet-form-body--pl-flow{padding-top:8px}.profile-pl-flow{align-items:stretch;display:flex;gap:24px;min-height:280px;position:relative}.profile-pl-flow-connector{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%;z-index:0}.profile-pl-flow-spine{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;position:relative;width:220px;z-index:1}.profile-pl-flow-line--short{align-self:center;background:#94a3b8;border-radius:1px;flex:none;height:12px;margin:6px 0;min-height:12px;width:2px}.profile-pl-flow-node{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #0f172a0a;padding:10px 12px;width:100%}.profile-pl-flow-node--subject{background:linear-gradient(180deg,#f8fafc,#fff);border-color:#cbd5e1}.profile-pl-flow-node--target{background:#fafbff;border-color:#c7d2fe;margin-bottom:10px}.profile-pl-flow-kicker{color:#64748b;display:block;font-size:.6875rem;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.profile-pl-flow-name{color:#0f172a;display:block;font-size:.9375rem;font-weight:600;line-height:1.3}.profile-pl-flow-context{color:#64748b;display:block;font-size:.75rem;line-height:1.35;margin-top:4px}.profile-pl-flow-badge{background:#e0e7ff;border-radius:999px;color:#3730a3;display:inline-block;font-size:.6875rem;font-weight:600;margin-top:8px;padding:2px 8px}.profile-pl-flow-badge--user{background:#d1fae5;color:#047857}.profile-pl-flow-badge--ugp{background:#e0e7ff;color:#3730a3}.profile-pl-flow-target-hint{color:#64748b;display:block;font-size:.75rem;line-height:1.4}.profile-pl-rel-cards{display:flex;flex-direction:column;gap:6px;margin:8px 0;width:100%}.profile-pl-rel-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:8px 10px;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.profile-pl-rel-card:hover{background:#f8fafc;border-color:#94a3b8}.profile-pl-rel-card.is-selected{background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 1px #6366f140}.profile-pl-rel-card-head{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.profile-pl-rel-card-label{color:#0f172a;font-size:.8125rem;font-weight:600}.profile-pl-rel-card-shape{color:#6366f1;font-size:.625rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.profile-pl-rel-card-sub{color:#475569;font-size:.6875rem;line-height:1.45;margin:8px 0 0}.profile-pl-rel-card-note{color:#64748b;font-size:.6875rem;font-style:italic;line-height:1.4;margin:6px 0 0}.profile-pl-flow-target{flex:1 1;min-width:0;position:relative;z-index:1}.profile-pl-flow-target-body{padding-top:4px}.profile-pl-flow-toggle{margin-bottom:10px}@media (max-width:640px){.profile-pl-flow{flex-direction:column;gap:12px;min-height:0}.profile-pl-flow-connector{display:none}.profile-pl-flow-spine{width:100%}.profile-pl-flow-target{border-top:none;margin-top:0;padding-top:0}.profile-pl-flow-line--short{display:none}}.gd-page{background:#f8fafc;min-height:calc(100vh - 60px);padding:24px 20px 40px}.gd-inner{margin:0 auto;max-width:1400px}.gd-header{margin-bottom:20px}.gd-title{color:#0f172a;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;margin:0 0 6px}.gd-lead{color:#64748b;font-size:.875rem;line-height:1.5;margin:0 0 16px;max-width:56ch}.gd-toolbar{display:flex;flex-wrap:wrap;gap:8px}.gd-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.8125rem;font-weight:500;padding:7px 14px;transition:background .15s ease,border-color .15s ease,color .15s ease}.gd-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.gd-btn:disabled{cursor:not-allowed;opacity:.45}.gd-btn--primary{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-brand-on)}.gd-btn--primary:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover);color:var(--color-brand-on)}.gd-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.875rem;margin-bottom:16px;padding:12px 14px}.gd-empty{background:#fff;border:1px dashed #e2e8f0;border-radius:12px;color:#64748b;font-size:.9rem;margin-bottom:16px;padding:48px 20px;text-align:center}.gd-empty h3{color:#334155;font-size:1rem;font-weight:600;margin:0 0 8px}.gd-legend{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:12px 14px}.gd-legend-title{color:#94a3b8;font-size:.6875rem;font-weight:600;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.gd-legend-items{display:flex;flex-wrap:wrap;gap:14px 20px}.gd-legend-item{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:8px}.gd-legend-swatch{border-radius:4px;flex-shrink:0;height:14px;width:14px}.gd-canvas-wrap{background:#e5e7eb;border:1px solid #e2e8f0;border-radius:12px;height:min(78vh,900px);min-height:420px;overflow:hidden;overscroll-behavior:contain;position:relative}.gd-canvas-tools{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0f172a0f;gap:4px;padding:4px 6px;position:absolute;right:10px;top:10px;z-index:10}.gd-canvas-tools,.gd-tool-btn{align-items:center;display:flex}.gd-tool-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:1rem;height:28px;justify-content:center;line-height:1;padding:0;transition:background .12s ease,color .12s ease;width:28px}.gd-tool-btn:hover{background:#f1f5f9;color:#0f172a}.gd-tool-zoom{color:#64748b;font-size:.75rem;font-weight:500;min-width:40px;padding:0 4px;text-align:center;-webkit-user-select:none;user-select:none}.gd-tool-divider{background:#e2e8f0;height:20px;margin:0 2px;width:1px}.gd-tool-pan{align-items:center;display:flex;gap:6px;padding:0 4px 0 2px}.gd-tool-pan-label{color:#94a3b8;font-size:.6875rem;white-space:nowrap}.gd-tool-pan-slider{accent-color:var(--color-brand);cursor:pointer;height:4px;width:72px}.gd-tool-pan-value{color:#64748b;font-size:.6875rem;min-width:28px;text-align:right}.gd-svg{background:#e5e7eb;display:block;height:100%;touch-action:none;width:100%}.gd-details{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:16px;padding:16px 18px}.gd-details-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.gd-details-header h3{color:#0f172a;font-size:.95rem;font-weight:600;margin:0}.gd-details-close{background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:1.25rem;line-height:1;padding:2px 6px;transition:color .12s ease,background .12s ease}.gd-details-close:hover{background:#f1f5f9;color:#334155}.gd-details-body{color:#475569;font-size:.8125rem;line-height:1.55}.gd-details-body p{margin:0 0 8px}.gd-details-body ul{margin:4px 0 12px;padding-left:1.25rem}.gd-details-muted{color:#94a3b8;font-style:italic;margin-left:10px}.ppm-page-open{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;display:inline-flex;flex-shrink:0;justify-content:center;padding:2px;text-decoration:none;transition:color .15s ease}.ppm-page-open:hover{color:#1c85fc;color:var(--color-brand,#1c85fc)}.ppm-page-open:focus-visible{outline:2px solid #1c85fc;outline:2px solid var(--color-brand,#1c85fc);outline-offset:2px}.ppm-page-widget{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;box-shadow:none}.ppm-page-widget,.ppm-page-widget:active,.ppm-page-widget:focus{outline:none!important}.ppm-page-widget:not(.ppm-page-widget--selected){border:1px solid #eceef1!important;box-shadow:none!important}.ppm-page-widget:not(.ppm-page-widget--selected):focus,.ppm-page-widget:not(.ppm-page-widget--selected):focus-visible{border-color:#eceef1!important;box-shadow:none!important;outline:none!important}.ppm-page-widget--selected{background:var(--color-brand-muted)!important;border-color:var(--color-brand)!important;box-shadow:0 0 0 1px var(--color-brand-soft)!important}.ppm-page-widget:focus-visible{outline:2px solid var(--color-brand)!important;outline-offset:2px}.ppm-compact-table{table-layout:fixed}.ppm-compact-row{cursor:pointer}.ppm-compact-row:hover{background:#f8fafc}.ppm-compact-row--owner-grantees{background:#f8fafc;color:#94a3b8}.ppm-compact-row--owner-grantees:hover{background:#f1f5f9}.ppm-compact-row--owner-grantees .ppm-row-edit{color:#cbd5e1}.ppm-compact-row--owner-grantees .ppm-row-edit:hover{color:#94a3b8}.ppm-row-actions{align-items:center;display:inline-flex;gap:2px;justify-content:flex-end;overflow:visible}.ppm-row-delete,.ppm-row-edit{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;justify-content:center;line-height:1;padding:2px 4px}.ppm-row-edit{color:#94a3b8}.ppm-row-edit:hover{color:#64748b}.ppm-row-delete{color:#fca5a5}.ppm-row-delete:hover{color:#f87171}.ppm-sheet-overlay{align-items:flex-end;animation:ppm-sheet-overlay-in .2s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#0f172a29;display:flex;inset:0;justify-content:center;padding:12px 12px max(12px,env(safe-area-inset-bottom));position:fixed;z-index:2000}@keyframes ppm-sheet-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ppm-sheet-panel-slide{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes ppm-sheet-panel-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ppm-sheet-panel{animation:ppm-sheet-panel-slide .28s cubic-bezier(.22,1,.36,1);background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 12px 40px #0f172a1f;display:flex;flex-direction:column;max-height:min(88vh,600px);overflow:hidden;width:min(100%,460px)}@media (min-width:520px){.ppm-sheet-overlay{align-items:center;padding:20px}.ppm-sheet-panel{animation:ppm-sheet-panel-in .24s cubic-bezier(.22,1,.36,1)}}.ppm-sheet-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;flex-shrink:0;gap:8px;justify-content:space-between;padding:8px 12px 6px}.ppm-sheet-header-main{flex:1 1;min-width:0}.ppm-sheet-header-badges{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ppm-header-badge-wrap{position:relative}.ppm-header-badge{align-items:center;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;color:#1d4ed8;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.6875rem;font-weight:600;gap:4px;line-height:1.3;padding:3px 8px;transition:background .15s ease,border-color .15s ease,color .15s ease}.ppm-header-badge:hover{background:#dbeafe;border-color:#93c5fd}.ppm-header-badge--open{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f640}.ppm-header-badge-caret{font-size:.6rem;opacity:.75}.ppm-header-badge-group{align-items:center;display:inline-flex;gap:4px}.ppm-header-badge--type{background:#f8fafc;border-color:#e2e8f0;color:#64748b}.ppm-header-badge--type.ppm-header-badge--active{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.ppm-page-picker{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f;left:0;max-height:220px;min-width:168px;overflow-y:auto;padding:4px;position:absolute;top:calc(100% + 4px);z-index:10}.ppm-page-picker-item{background:#0000;border:none;border-radius:6px;color:#334155;cursor:pointer;display:block;font-family:inherit;font-size:.6875rem;font-weight:500;padding:6px 8px;text-align:left;width:100%}.ppm-page-picker-item:hover{background:#f8fafc}.ppm-page-picker-item--selected{background:#eff6ff;color:#1d4ed8;font-weight:600}.ppm-grantee-type-cards{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr}.ppm-grantee-type-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:3px;padding:8px 10px;text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.ppm-grantee-type-card:hover{background:#f8fafc;border-color:#cbd5e1}.ppm-grantee-type-card--selected{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 1px #3b82f62e}.ppm-grantee-type-card__head{align-items:baseline;display:flex;gap:8px;justify-content:space-between;width:100%}.ppm-grantee-type-card__title{color:#0f172a;font-size:.75rem;font-weight:600}.ppm-grantee-type-card__code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;flex-shrink:0;font-size:.6rem;font-weight:700;letter-spacing:.04em;padding:1px 5px;text-transform:uppercase}.ppm-grantee-type-card--selected .ppm-grantee-type-card__code{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.ppm-grantee-type-card__desc{color:#64748b;font-size:.6875rem;line-height:1.4}.ppm-sheet-title{color:#0f172a;font-size:.8125rem;font-weight:600;letter-spacing:-.01em;line-height:1.35;margin:0}.ppm-sheet-subtext,.ppm-sheet-title .ppm-sheet-subtext{color:#64748b;font-weight:500}.ppm-sheet-subtext{font-size:.6875rem;line-height:1.35;margin:2px 0 0}.ppm-sheet-close{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1.25rem;height:28px;line-height:1;padding:0;transition:background .15s ease,color .15s ease;width:28px}.ppm-sheet-close:hover{background:#f1f5f9;color:#64748b}.ppm-sheet-callout{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#92400e;flex-shrink:0;font-size:.6875rem;line-height:1.4;margin:0 12px 6px;padding:6px 10px}.ppm-sheet-form-body{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto;padding:6px 12px 2px}.ppm-sheet-fieldset{border:none;margin:0;min-width:0;padding:0}.ppm-sheet-fieldset:disabled{opacity:.92}.ppm-form-section{background:#fcfdff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:6px;padding:6px 8px 0}.ppm-form-section-title{color:#1f2937;font-size:.75rem;font-weight:600;margin:0 0 2px}.ppm-form-section-hint{color:#64748b;font-size:.6875rem;line-height:1.35;margin:0 0 6px}.ppm-form-row{margin-bottom:6px}.ppm-form-row:last-child{margin-bottom:4px}.ppm-form-grid-2{grid-gap:6px 8px;display:grid;gap:6px 8px;grid-template-columns:1fr 1fr;margin-bottom:6px}@media (max-width:400px){.ppm-form-grid-2{grid-template-columns:1fr}}.ppm-details-section{background:#fcfdff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:6px;overflow:hidden}.ppm-details-section>summary{color:#1f2937;cursor:pointer;font-size:.75rem;font-weight:600;list-style:none;padding:6px 8px;-webkit-user-select:none;user-select:none}.ppm-details-section>summary::-webkit-details-marker{display:none}.ppm-details-section>summary:before{color:#94a3b8;content:"▸ ";display:inline-block;transition:transform .15s ease;width:.85em}.ppm-details-section[open]>summary:before{transform:rotate(90deg)}.ppm-details-section__body{border-top:1px solid #f1f5f9;padding:0 8px 6px}.ppm-details-section--page-config>summary{color:#334155}.ppm-checkbox-grid{grid-gap:4px 10px;display:grid;gap:4px 10px;grid-template-columns:repeat(2,minmax(0,1fr))}.ppm-checkbox-grid--widgets{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:360px){.ppm-checkbox-grid,.ppm-checkbox-grid--widgets{grid-template-columns:1fr}}.ppm-field-label{color:#94a3b8;display:block;font-size:.65rem;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.ppm-field-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:.75rem;padding:5px 8px;width:100%}.ppm-field-input[type=search]{max-width:100%}select.ppm-field-input{cursor:pointer}.ppm-field-hint{color:#64748b;display:block;font-size:.6875rem;line-height:1.35;margin-top:2px}.ppm-field-hint--inline{margin-bottom:4px;margin-top:0}.ppm-checkbox-label{align-items:flex-start;color:#334155;cursor:pointer;display:flex;font-size:.75rem;gap:6px;line-height:1.35}.ppm-checkbox-label input{flex-shrink:0;margin-top:2px}.ppm-checkbox-label--protected{color:#64748b;opacity:.85}.ppm-nested-controls{background:#f8fbff;border-left:2px solid #dbeafe;border-radius:6px;margin:2px 0 4px 16px;padding:4px 6px 0}.ppm-nested-controls .ppm-form-row{margin-bottom:4px}.ppm-page-section{background:#0000;border:none;border-radius:0;margin-top:0;padding:0}.ppm-page-section.ppm-details-section{background:#f8fafc;border:1px solid #e2e8f0}.ppm-capability-details{background:#fff;border:1px solid #e8ecf1;border-radius:6px;margin-bottom:4px}.ppm-capability-details>summary{color:#475569;cursor:pointer;font-size:.6875rem;font-weight:600;list-style:none;padding:5px 8px;-webkit-user-select:none;user-select:none}.ppm-capability-details>summary::-webkit-details-marker{display:none}.ppm-capability-details>summary:before{color:#94a3b8;content:"▸ "}.ppm-capability-details[open]>summary:before{content:"▾ "}.ppm-capability-details__body{padding:0 8px 4px}.ppm-capability-details__body .ppm-form-row{margin-bottom:3px}.ppm-layout-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:6px}.ppm-layout-details>summary{color:#334155;cursor:pointer;font-size:.75rem;font-weight:600;list-style:none;padding:5px 8px}.ppm-layout-details>summary::-webkit-details-marker{display:none}.ppm-layout-details__body{border-top:1px solid #e2e8f0;padding:6px 8px 8px}.ppm-layout-col-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.ppm-layout-col{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:6px 8px}.ppm-layout-col__head{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-bottom:4px}.ppm-layout-col__title{align-items:center;color:#111827;cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:5px;margin:0}.ppm-layout-col__id{color:#9ca3af;flex-shrink:0;font-size:.625rem}.ppm-layout-buckets{display:flex;flex-wrap:wrap;gap:4px}.ppm-layout-bucket{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.6875rem;gap:4px;padding:2px 6px}.ppm-layout-bucket--on{background:#ecfdf3;border-color:#22c55e}.ppm-layout-json{border:1px solid #e5e7eb;border-radius:6px;box-sizing:border-box;font-family:ui-monospace,monospace;font-size:.6875rem;min-height:72px;padding:6px 8px;resize:vertical;width:100%}.ppm-layout-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.ppm-page-section-desc{color:#64748b;font-size:.6875rem;line-height:1.35;margin:0 0 6px}.ppm-gp-checkbox-list{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;gap:4px;max-height:132px;overflow-y:auto;padding:6px}.ppm-grantee-group{background:#fff;border:1px solid #edf2f7;border-radius:6px;padding:4px 4px 2px}.ppm-grantee-group-title{color:#475569;font-size:.6875rem;font-weight:700;letter-spacing:.02em;margin-bottom:4px;text-transform:uppercase}.ppm-sheet-actions{border-top:1px solid #f1f5f9;display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px;justify-content:flex-end;padding:8px 12px 10px}.ppm-sheet-btn{border:1px solid #0000;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.6875rem;font-weight:600;padding:6px 12px;transition:filter .15s ease,opacity .15s ease}.ppm-sheet-btn:disabled{cursor:not-allowed;opacity:.55}.ppm-sheet-btn--secondary{background:#fff;border-color:#e2e8f0;color:#334155}.ppm-sheet-btn--secondary:hover:not(:disabled){background:#f8fafc}.ppm-sheet-btn--primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.ppm-sheet-btn--primary:hover:not(:disabled){filter:brightness(.95)}.ppm-page-widget--reference:not(.ppm-page-widget--selected){background:#fafafa;border-color:#d4d4d8;border-style:dashed}.ppm-page-widget--reference{position:relative}.ppm-page-widget--reference .ppm-page-widget-badge{position:absolute;right:5px;top:5px}.ppm-page-widget-badge{align-items:center;align-self:flex-start;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:4px;color:#7c3aed;display:inline-flex;font-size:.55rem;font-weight:600;letter-spacing:.04em;line-height:1.3;padding:1px 5px;text-transform:uppercase}.ppm-page-widget-badge--header{font-size:.62rem;padding:2px 7px}.ppm-role-templates-panel{max-height:calc(50vh - 72px);overflow:auto;padding:0 2px 8px}.ppm-role-templates-panel-intro{color:#64748b;font-size:.78rem;line-height:1.4;margin:0 0 12px}.ppm-role-templates-panel-intro code{background:#f1f5f9;border-radius:3px;font-size:.72rem;padding:1px 4px}.ppm-role-templates-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.ppm-role-template-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.ppm-role-template-card-header{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.ppm-role-template-card-title{color:#0f172a;font-size:.82rem;font-weight:600;margin:0}.ppm-role-template-card-id{color:#94a3b8;font-size:.65rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.ppm-role-template-card-desc{color:#475569;font-size:.72rem;line-height:1.35;margin:0 0 6px}.ppm-role-template-card-note{background:#fffbeb;border:1px solid #fde68a;border-radius:5px;color:#92400e;font-size:.68rem;line-height:1.35;margin:0 0 8px;padding:5px 8px}.ppm-role-template-perms{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.ppm-role-template-perm{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1px;padding-top:6px}.ppm-role-template-perm:first-child{border-top:none;padding-top:0}.ppm-role-template-perm-page{color:#334155;font-size:.68rem;font-weight:600}.ppm-role-template-perm-config{color:#64748b;font-size:.65rem;line-height:1.4;word-break:break-word}.ppm-guidance-banner{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:10px;color:#475569;font-size:.8125rem;line-height:1.5;margin-top:20px;padding:14px 16px}.ppm-guidance-banner__title{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.02em;margin:0 0 8px;text-transform:uppercase}.ppm-guidance-banner__list{margin:0;padding-left:1.15rem}.ppm-guidance-banner__list li+li{margin-top:8px}.ppm-guidance-banner code{background:#e2e8f0;border-radius:4px;color:#334155;font-size:.75rem;padding:1px 5px}.forms-page{color:#0f172a;font-family:inherit;margin:0 auto;max-width:1120px;min-height:calc(100vh - 60px);padding:18px 20px 40px}.forms-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.forms-top-main{flex:1 1;min-width:0}.forms-title{color:#1f2937;font-size:1.15rem;font-weight:650;letter-spacing:-.02em;margin:0}.forms-subtitle{color:#64748b;font-size:.78rem;line-height:1.4;margin:3px 0 0;max-width:56ch}.forms-toolbar{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.forms-toolbar-link{align-items:center;border-radius:8px;display:inline-flex;font-size:.75rem;font-weight:600;padding:7px 12px;text-decoration:none}.forms-btn,.forms-toolbar-link{transition:background .15s ease,border-color .15s ease,color .15s ease}.forms-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;padding:6px 10px}.forms-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.forms-btn:disabled{cursor:not-allowed;opacity:.55}.forms-btn--primary{background:#1c85fc;background:var(--color-brand,#1c85fc);border-color:#1c85fc;border-color:var(--color-brand,#1c85fc);color:#fff}.forms-btn--primary:hover:not(:disabled){background:#1565d8;background:var(--color-brand-hover,#1565d8);border-color:#1565d8;border-color:var(--color-brand-hover,#1565d8);color:#fff}.forms-btn--danger{background:#fff;border-color:#fecaca;color:#b91c1c}.forms-btn--danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#991b1b}.forms-btn--compact{font-size:.72rem;padding:5px 8px}.forms-link-btn{background:#0000;border:none;color:#1c85fc;color:var(--color-brand,#1c85fc);cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:600;line-height:1.3;padding:2px 4px;transition:color .15s ease,opacity .15s ease}.forms-link-btn:hover:not(:disabled){color:#1565d8;color:var(--color-brand-hover,#1565d8)}.forms-link-btn:disabled{cursor:not-allowed;opacity:.5}.forms-panel-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px}.forms-icon-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;height:28px;justify-content:center;line-height:1;padding:0;transition:background .15s ease,border-color .15s ease,color .15s ease;width:28px}.forms-icon-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.forms-icon-btn:disabled{cursor:not-allowed;opacity:.35}.forms-icon-btn--danger:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#b91c1c}.forms-count{color:#94a3b8;font-size:.72rem;font-weight:500;letter-spacing:.01em;margin:0}.forms-list{max-width:560px}.forms-list-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.forms-list-add{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-family:inherit;height:28px;justify-content:center;padding:0;transition:background .15s ease,border-color .15s ease,color .15s ease;width:28px}.forms-list-add:hover{background:#f5f9ff;background:var(--color-brand-muted,#f5f9ff);border-color:#bfdbfe;border-color:var(--color-brand-soft,#bfdbfe);color:#1c85fc;color:var(--color-brand,#1c85fc)}.forms-list-rows{background:#fff;border:1px solid #eceef1;border-radius:8px;list-style:none;margin:0;overflow:hidden;padding:0}.forms-list-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:10px;justify-content:space-between;padding:8px 10px}.forms-list-row:last-child{border-bottom:none}.forms-list-row:hover{background:#fafbfc}.forms-list-row-main{align-items:baseline;display:flex;flex:1 1;gap:8px;min-width:0}.forms-list-row-title{color:#334155;font-size:.8rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forms-list-row-meta{color:#a3acba;flex-shrink:0;font-size:.68rem;font-weight:500}.forms-list-row-actions{align-items:center;display:flex;flex-shrink:0;gap:2px}.forms-list-icon-btn{align-items:center;background:#0000;border:none;border-radius:5px;color:#94a3b8;cursor:pointer;display:inline-flex;font-family:inherit;height:26px;justify-content:center;padding:0;transition:background .15s ease,color .15s ease;width:26px}.forms-list-icon-btn:hover:not(:disabled){background:#f1f5f9;color:#475569}.forms-list-icon-btn:disabled{cursor:not-allowed;opacity:.45}.forms-list-icon-btn--danger:hover:not(:disabled){background:#fef2f2;color:#b91c1c}.forms-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.forms-card{animation:forms-card-in .32s cubic-bezier(.22,1,.36,1) both;background:#fff;border:1px solid #eceef1;border-radius:10px;display:flex;flex-direction:column;min-height:0;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.forms-card:hover{border-color:#dbe3ec;box-shadow:0 4px 14px #0f172a0f;transform:translateY(-1px)}@keyframes forms-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.forms-card-head{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;gap:8px;justify-content:space-between;padding:12px 14px 10px}.forms-card-title{color:#334155;font-size:.9rem;font-weight:600;letter-spacing:-.01em;line-height:1.35;margin:0;word-break:break-word}.forms-card-meta{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;display:inline-flex;flex-shrink:0;font-size:.65rem;font-weight:600;gap:4px;padding:3px 7px;white-space:nowrap}.forms-card-body{display:flex;flex:1 1;flex-direction:column;gap:10px;padding:10px 14px 12px}.forms-card-stats{display:flex;flex-wrap:wrap;gap:6px 12px}.forms-stat{align-items:baseline;display:inline-flex;font-size:.72rem;gap:5px}.forms-stat-label{color:#94a3b8;font-weight:500}.forms-stat-value{color:#475569;font-weight:600}.forms-preview{display:flex;flex-direction:column;gap:5px}.forms-preview-label{color:#94a3b8;font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.forms-preview-list{display:flex;flex-direction:column;gap:4px}.forms-preview-item{align-items:center;background:#fafbfc;border:1px solid #f1f5f9;border-radius:6px;display:flex;font-size:.72rem;gap:8px;justify-content:space-between;padding:5px 8px}.forms-preview-q{color:#475569;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forms-preview-type{color:#94a3b8;flex-shrink:0;font-size:.62rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.forms-preview-more{color:#94a3b8;font-size:.68rem;padding:2px 0;text-align:center}.forms-card-actions{background:#fafbfc;border-top:1px solid #f1f5f9;display:flex;gap:8px;padding:10px 14px 12px}.forms-card-actions .forms-btn{flex:1 1}.forms-card-btn{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;flex:1 1;font-family:inherit;font-size:.75rem;font-weight:600;justify-content:center;padding:7px 10px;text-decoration:none;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.forms-card-btn:disabled{cursor:not-allowed;opacity:.6}.forms-empty{background:#fff;border:1px dashed #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;padding:48px 24px;text-align:center}.forms-empty,.forms-empty-icon{align-items:center;display:flex;justify-content:center}.forms-empty-icon{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:1.1rem;height:40px;line-height:1;width:40px}.forms-empty-title{color:#334155;font-size:.9rem;font-weight:600;margin:0}.forms-empty-text{color:#64748b;font-size:.8rem;line-height:1.45;margin:0;max-width:36ch}.forms-empty--compact{padding:32px 20px}.forms-preview-more--left{margin:0;text-align:left}.forms-card--clickable{cursor:pointer}.forms-card--clickable:focus-visible{outline:2px solid #1c85fc;outline:2px solid var(--color-brand,#1c85fc);outline-offset:2px}.forms-tabs{background:#f1f5f9;border-radius:10px;display:flex;gap:4px;margin-bottom:14px;padding:3px;width:-webkit-fit-content;width:fit-content}.forms-tab{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600;padding:6px 14px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.forms-tab:hover{color:#334155}.forms-tab.is-active{background:#fff;box-shadow:0 1px 3px #0f172a14;color:#0f172a}.forms-main{min-height:0}.forms-split{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:minmax(200px,240px) minmax(0,1fr)}@media (max-width:860px){.forms-split{grid-template-columns:1fr}.forms-sidebar{max-height:200px;overflow-y:auto}}.forms-sidebar{background:#fff;border:1px solid #eceef1;border-radius:10px;padding:8px;position:-webkit-sticky;position:sticky;top:12px}.forms-sidebar-list{display:flex;flex-direction:column;gap:4px}.forms-sidebar-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-family:inherit;font-size:.75rem;gap:8px;justify-content:space-between;padding:8px 10px;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease;width:100%}.forms-sidebar-item:hover{background:#f8fafc;border-color:#e2e8f0}.forms-sidebar-item.is-active{background:#eff6ff;background:var(--color-brand-muted,#eff6ff);border-color:#bfdbfe;border-color:var(--color-brand-soft,#bfdbfe);color:#1d4ed8;color:var(--color-brand-hover,#1d4ed8)}.forms-sidebar-item--new{color:#1c85fc;color:var(--color-brand,#1c85fc);font-weight:600;margin-bottom:4px}.forms-sidebar-item-title{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forms-sidebar-item-meta{color:#94a3b8;flex-shrink:0;font-size:.65rem;font-weight:600}.forms-split-main{min-width:0}.forms-builder{margin:0 auto;max-width:660px}.forms-back-link{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.74rem;font-weight:600;gap:4px;margin-bottom:12px;padding:3px 6px 3px 2px;transition:color .15s ease}.forms-back-link:hover{color:#1c85fc;color:var(--color-brand,#1c85fc)}.forms-editor-head{align-items:center;display:flex;gap:8px;margin-bottom:12px;min-width:0}.forms-editor-heading{color:#1f2937;flex:1 1;font-size:1.05rem;font-weight:650;letter-spacing:-.02em;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forms-editor-assign-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;height:28px;justify-content:center;padding:0;transition:background .15s ease,color .15s ease;width:28px}.forms-editor-assign-btn:hover{background:#f1f5f9;color:#1c85fc;color:var(--color-brand,#1c85fc)}.forms-editor-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:2px}.forms-editor-footer .forms-btn{padding:7px 16px}.forms-new-card{align-items:center;background:#0000;border:1px dashed #d8dee6;border-radius:10px;color:#94a3b8;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:6px;justify-content:center;min-height:132px;transition:border-color .15s ease,color .15s ease,background .15s ease}.forms-new-card:hover{background:#f5f9ff;background:var(--color-brand-muted,#f5f9ff);border-color:#bfdbfe;border-color:var(--color-brand-soft,#bfdbfe);color:#1c85fc;color:var(--color-brand,#1c85fc)}.forms-new-card-plus{font-size:1.3rem;font-weight:400;line-height:1}.forms-new-card-text{font-size:.78rem;font-weight:600}.forms-editor{min-width:0}.forms-editor-bar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffd9;border:1px solid #eceef1;border-radius:9px;gap:10px;justify-content:space-between;margin-bottom:10px;padding:8px 10px;position:-webkit-sticky;position:sticky;top:0;z-index:6}.forms-editor-bar,.forms-editor-bar-main{align-items:center;display:flex;flex-wrap:wrap}.forms-editor-bar-main{gap:7px;min-width:0}.forms-editor-crumb{color:#94a3b8;flex-shrink:0;font-size:.72rem;font-weight:500}.forms-editor-title{color:#334155;font-size:.82rem;font-weight:600;letter-spacing:-.01em;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forms-editor-badge{background:#fffbeb;border:1px solid #fde68a;border-radius:5px;color:#b45309;font-size:.66rem;font-weight:600;padding:2px 7px}.forms-editor-body{display:flex;flex-direction:column;gap:10px}.forms-panel{background:#fff;border:1px solid #eceef1;border-radius:10px;padding:11px 13px}.forms-panel-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:9px}.forms-panel-title{color:#94a3b8;font-size:.7rem;font-weight:650;letter-spacing:.04em;margin:0;text-transform:uppercase}.forms-panel>.forms-panel-title{margin-bottom:9px}.forms-field{display:flex;flex-direction:column;gap:5px}.forms-field+.forms-field{margin-top:10px}.forms-field-label{color:#64748b;font-size:.72rem;font-weight:600}.forms-field-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:.8125rem;padding:8px 10px;transition:border-color .15s ease;width:100%}.forms-field-input:focus{border-color:#1c85fc;border-color:var(--color-brand,#1c85fc);outline:none}.forms-sheet-overlay{align-items:flex-end;animation:forms-sheet-overlay-in .2s ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#0f172a29;display:flex;inset:0;justify-content:center;padding:12px 12px max(12px,env(safe-area-inset-bottom));position:fixed;z-index:1998}@keyframes forms-sheet-overlay-in{0%{opacity:0}to{opacity:1}}.forms-sheet-panel{animation:forms-sheet-slide .28s cubic-bezier(.22,1,.36,1);background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 40px #0f172a1f;display:flex;flex-direction:column;max-height:min(75vh,400px);overflow:hidden;width:min(100%,420px)}@keyframes forms-sheet-slide{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (min-width:520px){.forms-sheet-overlay{align-items:center;padding:20px}.forms-sheet-panel{animation:forms-sheet-in .24s cubic-bezier(.22,1,.36,1)}}@keyframes forms-sheet-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.forms-sheet-header{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:12px 14px 8px}.forms-sheet-header-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.forms-sheet-panel--wide{max-height:min(75vh,520px);width:min(100%,480px)}.forms-sheet-title{color:#0f172a;font-size:.875rem;font-weight:600;margin:0}.forms-sheet-close{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:1.25rem;height:28px;line-height:1;padding:0;width:28px}.forms-sheet-close:hover{background:#f1f5f9;color:#64748b}.forms-sheet-body{overflow-y:auto;padding:4px 14px 12px}.forms-sheet-actions{border-top:1px solid #f1f5f9;display:flex;gap:8px;padding:10px 14px 14px}.forms-sheet-btn{border:1px solid #0000;border-radius:8px;cursor:pointer;flex:1 1 auto;font-family:inherit;font-size:.75rem;font-weight:600;min-width:0;padding:7px 12px;transition:background .15s ease,border-color .15s ease,filter .15s ease}.forms-sheet-btn:disabled{cursor:not-allowed;opacity:.55}.forms-sheet-btn--secondary{background:#f8fafc;border-color:#e2e8f0;color:#475569}.forms-sheet-btn--secondary:hover:not(:disabled){background:#f1f5f9}.forms-sheet-btn--primary{background:#1c85fc;background:var(--color-brand,#1c85fc);border-color:#1c85fc;border-color:var(--color-brand,#1c85fc);color:#fff}.forms-sheet-btn--primary:hover:not(:disabled){background:#1565d8;background:var(--color-brand-hover,#1565d8);border-color:#1565d8;border-color:var(--color-brand-hover,#1565d8)}.forms-panel-empty{color:#94a3b8;font-size:.78rem;line-height:1.45;margin:0;padding:16px 4px;text-align:center}.forms-q-groups{display:flex;flex-direction:column;gap:8px}.forms-q-group{background:#fff;border:1px solid #eceef1;border-radius:8px;overflow:hidden}.forms-q-group-head{align-items:center;background:#fafbfc;cursor:pointer;display:flex;gap:7px;padding:7px 9px;transition:background .15s ease;-webkit-user-select:none;user-select:none}.forms-q-group-head:hover{background:#f4f6f9}.forms-q-group-chevron{color:#b8c0cc;font-size:.56rem;transition:transform .15s ease}.forms-q-group-title{color:#334155;flex:1 1;font-size:.76rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forms-q-group-count{color:#a3acba;font-size:.66rem;font-weight:500}.forms-q-group-body{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:7px;padding:9px}.forms-q-card{background:#fcfcfd;border:1px solid #eef1f4;border-radius:7px;padding:9px 10px}.forms-q-card-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:7px}.forms-q-card-label{color:#a3acba;font-size:.64rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.forms-q-card-actions{display:flex;gap:3px}.forms-q-card-actions .forms-icon-btn{font-size:.78rem;height:24px;width:24px}.forms-q-grid{grid-gap:7px 8px;display:grid;gap:7px 8px;grid-template-columns:1fr 1fr}@media (max-width:640px){.forms-q-grid{grid-template-columns:1fr}}.forms-q-field{display:flex;flex-direction:column;gap:3px}.forms-q-field-label{color:#94a3b8;font-size:.64rem;font-weight:600}.forms-q-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;color:#0f172a;font-family:inherit;font-size:.76rem;padding:5px 8px;transition:border-color .15s ease;width:100%}.forms-q-input:focus{border-color:#1c85fc;border-color:var(--color-brand,#1c85fc);outline:none}.forms-q-check{align-items:center;align-self:end;color:#475569;cursor:pointer;display:flex;font-size:.72rem;gap:6px;padding-bottom:6px}.forms-q-options{background:#fff;border:1px solid #eef1f4;border-radius:6px;margin-top:7px;padding:8px}.forms-q-options-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px}.forms-q-option-row{align-items:center;display:flex;gap:6px}.forms-q-option-row+.forms-q-option-row{margin-top:6px}.forms-q-options-empty{color:#a3acba;font-size:.7rem;font-style:italic;margin:4px 0 0}.forms-q-add{background:#0000;border:1px dashed #d8dee6;border-radius:7px;color:#64748b;cursor:pointer;font-family:inherit;font-size:.72rem;font-weight:600;padding:7px;transition:border-color .15s ease,color .15s ease,background .15s ease;width:100%}.forms-q-add:hover{background:#f5f9ff;background:var(--color-brand-muted,#f5f9ff);border-color:#bfdbfe;border-color:var(--color-brand-soft,#bfdbfe);color:#1c85fc;color:var(--color-brand,#1c85fc)}.forms-rel-list{display:flex;flex-direction:column;gap:6px}.forms-rel-row{background:#fafbfc;border:1px solid #f1f5f9;border-radius:8px;gap:10px;justify-content:space-between;padding:8px 10px}.forms-rel-main,.forms-rel-row{align-items:center;display:flex}.forms-rel-main{flex:1 1;flex-wrap:wrap;gap:8px;min-width:0}.forms-rel-kind{color:#64748b;font-size:.68rem;font-weight:600}.forms-rel-name{color:#334155;font-size:.78rem;font-weight:500}.forms-rel-type{color:#94a3b8;font-size:.68rem}.forms-panel-loading{color:#94a3b8;font-size:.78rem;margin:0;padding:12px 4px;text-align:center}.forms-assignments-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.forms-assignments-hint{color:#64748b;font-size:.78rem;line-height:1.45;margin:0;max-width:48ch}.forms-table-wrap{background:#fff;border:1px solid #eceef1;border-radius:10px;overflow:hidden}.forms-table{border-collapse:collapse;font-size:.78rem;width:100%}.forms-table th{background:#fafbfc;border-bottom:1px solid #eceef1;color:#94a3b8;font-size:.65rem;font-weight:650;letter-spacing:.04em;padding:10px 12px;text-align:left;text-transform:uppercase}.forms-table td{border-bottom:1px solid #f1f5f9;color:#475569;padding:10px 12px;vertical-align:middle}.forms-table tr:last-child td{border-bottom:none}.forms-table-muted{color:#94a3b8;font-size:.72rem}.forms-table-col-actions{text-align:right;width:100px}.forms-table-link{background:none;border:none;color:#1c85fc;color:var(--color-brand,#1c85fc);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0;text-align:left}.forms-table-link:hover{text-decoration:underline}.forms-table-action{font-size:.72rem;padding:5px 10px}.rpc-cell{gap:4px;min-width:118px}.rpc-cell,.rpc-status{display:flex;flex-direction:column;width:100%}.rpc-status{align-items:center;border:1px solid;border-radius:6px;cursor:pointer;font-family:inherit;gap:1px;justify-content:center;line-height:1.2;min-height:34px;padding:4px 6px}.rpc-status-label{font-size:.68rem;font-weight:600}.rpc-status-meta{font-size:.58rem;font-weight:500;max-width:100%;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpc-actions{display:flex;gap:3px}.rpc-action,.rpc-actions{align-items:center;justify-content:center}.rpc-action{background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;display:inline-flex;flex-shrink:0;height:22px;padding:0;width:24px}.rpc-action:disabled{cursor:not-allowed;opacity:.35}.rpc-action--paid:not(:disabled):hover{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.rpc-action--fail:not(:disabled):hover{background:#fef2f2;border-color:#fecaca;color:#991b1b}.rpc-action--insufficient{border-color:#fecaca;color:#dc2626}.rpc-action--insufficient:not(:disabled):hover{background:#fef2f2;border-color:#f87171;color:#b91c1c}.rpc-action--partial:not(:disabled):hover{background:#fffbeb;border-color:#fde68a;color:#92400e}.rpc-partial-frac{align-items:center;display:inline-flex;flex-direction:column;font-family:ui-sans-serif,system-ui,sans-serif;font-size:7px;font-weight:700;justify-content:center;letter-spacing:-.02em;line-height:1;width:11px}.rpc-partial-frac__bar{background:currentColor;border-radius:1px;display:block;height:1.5px;margin:1px 0;width:100%}.rpc-legend{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 10px}.rpc-legend-label{color:#94a3b8;font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.rpc-legend-item{align-items:center;color:#64748b;display:inline-flex;font-size:.68rem;gap:5px}.rpc-legend-item--note{color:#94a3b8;font-style:italic}.rpc-action--legend{height:20px;pointer-events:none;width:22px}.payments-roster-scroll{-webkit-overflow-scrolling:touch;max-height:min(60vh,560px);overflow:auto}.payments-roster-table{border-collapse:initial;border-spacing:0}.payments-roster-th{background:#f8fafc;box-shadow:0 1px 0 #e2e8f0;position:-webkit-sticky;position:sticky;top:0;z-index:2}.payments-roster-th--corner{box-shadow:1px 1px 0 #e2e8f0;left:0;z-index:4}.payments-roster-td-student{background:#fff;box-shadow:1px 0 0 #e2e8f0;left:0;position:-webkit-sticky;position:sticky;z-index:1}.payments-roster-table tbody tr:hover .payments-roster-td-student{background:#fafafa}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.c34a9abe.css.map*/