*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}ul{list-style:none;margin:0;padding:0}a{color:inherit}h1,h2,h3,h4,p,dl,dd{margin:0}:root{color-scheme:light;--color-bg: #F6F6FB;--color-surface: #FFFFFF;--color-border: #E7E7F1;--color-border-strong: #D7D7E6;--color-text: #16161F;--color-text-muted: #6B6B80;--color-text-faint: #9797AB;--color-primary: #5B4CFF;--color-primary-hover: #4B3AF0;--color-primary-soft: #EEECFF;--color-primary-text: #4432E0;--color-success: #12875A;--color-success-soft: #E3F7EE;--color-warning: #B15C00;--color-warning-soft: #FDF0E1;--color-danger: #D0374C;--color-danger-solid: #D0374C;--color-danger-soft: #FCEBEE;--color-info: #2757C7;--color-info-soft: #EAF0FF;--color-assistant: #0E9F8E;--color-inverse-bg: #16161F;--color-inverse-text: #FFFFFF;--color-inverse-hover: rgba(255, 255, 255, .12);--color-backdrop: rgba(15, 15, 23, .48);--color-receipt-bg: #1B1B24;--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B6B80' stroke-width='1.5' fill='none' fill-rule='evenodd' stroke-linecap='round'/%3E%3C/svg%3E");--role-violet-bg: #EEECFF;--role-violet-fg: #4432E0;--role-teal-bg: #DDF5F2;--role-teal-fg: #0B6B63;--role-amber-bg: #FDF0DC;--role-amber-fg: #9A4E00;--role-rose-bg: #FCE7EE;--role-rose-fg: #B4234F;--role-blue-bg: #E6EFFF;--role-blue-fg: #1F4FC2;--role-slate-bg: #ECEDF3;--role-slate-fg: #4A4F63;--role-count-bg: rgba(255, 255, 255, .65);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(20, 20, 43, .06);--shadow-md: 0 8px 24px rgba(20, 20, 43, .08);--shadow-lg: 0 24px 64px rgba(20, 20, 43, .16)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0F0F17;--color-surface: #17171F;--color-border: #27272F;--color-border-strong: #34343F;--color-text: #F2F2F7;--color-text-muted: #9C9CAD;--color-text-faint: #6E6E7D;--color-primary-hover: #6B5DFF;--color-primary-soft: #23204A;--color-primary-text: #B4ABFF;--color-success: #3DD38F;--color-success-soft: #103324;--color-warning: #F2B15A;--color-warning-soft: #362408;--color-danger: #FF8392;--color-danger-solid: #C9384C;--color-danger-soft: #3A1620;--color-info: #8AB0FF;--color-info-soft: #16233D;--color-assistant: #2DD4BF;--color-inverse-bg: #26263A;--color-inverse-text: #F2F2F7;--color-inverse-hover: rgba(255, 255, 255, .08);--color-backdrop: rgba(0, 0, 0, .62);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239C9CAD' stroke-width='1.5' fill='none' fill-rule='evenodd' stroke-linecap='round'/%3E%3C/svg%3E");--role-violet-bg: #26224F;--role-violet-fg: #C2BAFF;--role-teal-bg: #0F3330;--role-teal-fg: #7DDAD0;--role-amber-bg: #38260A;--role-amber-fg: #F5B86A;--role-rose-bg: #3C1727;--role-rose-fg: #F7A3BD;--role-blue-bg: #17264A;--role-blue-fg: #9BB9FF;--role-slate-bg: #272A35;--role-slate-fg: #BDC1CF;--role-count-bg: rgba(0, 0, 0, .28);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]):not([data-theme=dim]){color-scheme:dark;--color-bg: #0F0F17;--color-surface: #17171F;--color-border: #27272F;--color-border-strong: #34343F;--color-text: #F2F2F7;--color-text-muted: #9C9CAD;--color-text-faint: #6E6E7D;--color-primary-hover: #6B5DFF;--color-primary-soft: #23204A;--color-primary-text: #B4ABFF;--color-success: #3DD38F;--color-success-soft: #103324;--color-warning: #F2B15A;--color-warning-soft: #362408;--color-danger: #FF8392;--color-danger-solid: #C9384C;--color-danger-soft: #3A1620;--color-info: #8AB0FF;--color-info-soft: #16233D;--color-assistant: #2DD4BF;--color-inverse-bg: #26263A;--color-inverse-text: #F2F2F7;--color-inverse-hover: rgba(255, 255, 255, .08);--color-backdrop: rgba(0, 0, 0, .62);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239C9CAD' stroke-width='1.5' fill='none' fill-rule='evenodd' stroke-linecap='round'/%3E%3C/svg%3E");--role-violet-bg: #26224F;--role-violet-fg: #C2BAFF;--role-teal-bg: #0F3330;--role-teal-fg: #7DDAD0;--role-amber-bg: #38260A;--role-amber-fg: #F5B86A;--role-rose-bg: #3C1727;--role-rose-fg: #F7A3BD;--role-blue-bg: #17264A;--role-blue-fg: #9BB9FF;--role-slate-bg: #272A35;--role-slate-fg: #BDC1CF;--role-count-bg: rgba(0, 0, 0, .28);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .55)}}:root[data-theme=dim]{color-scheme:dark;--color-bg: #232428;--color-surface: #2B2C31;--color-border: #393A41;--color-border-strong: #474850;--color-text: #EDEDF0;--color-text-muted: #A9AAB4;--color-text-faint: #7C7D87;--color-primary-hover: #6B5DFF;--color-primary-soft: #2E2C54;--color-primary-text: #B7AEFF;--color-success: #3DD38F;--color-success-soft: #1B3A2C;--color-warning: #F2B15A;--color-warning-soft: #3A2B10;--color-danger: #FF8392;--color-danger-solid: #C9384C;--color-danger-soft: #3A1C23;--color-info: #8AB0FF;--color-info-soft: #1C2A44;--color-assistant: #2DD4BF;--color-inverse-bg: #3A3B44;--color-inverse-text: #EDEDF0;--color-inverse-hover: rgba(255, 255, 255, .08);--color-backdrop: rgba(0, 0, 0, .58);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23A9AAB4' stroke-width='1.5' fill='none' fill-rule='evenodd' stroke-linecap='round'/%3E%3C/svg%3E");--role-violet-bg: #2E2B57;--role-violet-fg: #C2BAFF;--role-teal-bg: #173D39;--role-teal-fg: #7DDAD0;--role-amber-bg: #3E2D12;--role-amber-fg: #F5B86A;--role-rose-bg: #42202F;--role-rose-fg: #F7A3BD;--role-blue-bg: #1F2E52;--role-blue-fg: #9BB9FF;--role-slate-bg: #34363F;--role-slate-fg: #C5C8D4;--role-count-bg: rgba(0, 0, 0, .26);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .6)}.stack-md{display:flex;flex-direction:column;gap:16px}.w-full{width:100%}.muted{color:var(--color-text-muted)}.form-error{color:var(--color-danger);font-size:13.5px;margin:0}.form-narrow{max-width:420px}.link-button{background:none;border:none;padding:0;font-size:14px;font-weight:600;color:var(--color-primary-text);text-decoration:none}.link-button:hover{text-decoration:underline}.link-button.danger{color:var(--color-danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .05s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-md{padding:10px 18px;font-size:14.5px}.btn-sm{padding:6px 12px;font-size:13.5px}.btn-lg{padding:13px 22px;font-size:15.5px}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 2px #5b4cff40}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary-text)}.btn-danger{background:var(--color-danger-solid);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.93)}.btn-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}.btn-secondary .btn-spinner,.btn-ghost .btn-spinner{border-color:#5b4cff40;border-top-color:var(--color-primary)}.btn-label-loading{opacity:.85}.spinner{display:inline-block;border-radius:50%;border:2.5px solid var(--color-border-strong);border-top-color:var(--color-primary);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.full-page-spinner{height:100vh;display:flex;align-items:center;justify-content:center}.field{display:flex;flex-direction:column;gap:7px}.field-label{font-size:13.5px;font-weight:600;color:var(--color-text)}.field-error{font-size:12.5px;color:var(--color-danger)}.field-hint{font-size:12.5px;color:var(--color-text-faint)}.input{width:100%;padding:10.5px 13px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:14.5px;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--color-text-faint)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.input:disabled{background:var(--color-bg);color:var(--color-text-muted)}.input-error{border-color:var(--color-danger)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 12px center}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.card+.card{margin-top:20px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.card-title{font-size:16px;font-weight:700}.card-subtitle{font-size:13.5px;color:var(--color-text-muted);margin-top:3px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em}.badge-neutral{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border-strong)}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary-text)}.badge-info{background:var(--color-info-soft);color:var(--color-info)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex-shrink:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:fade-in .15s ease}.modal{width:100%;max-width:440px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px;animation:pop-in .18s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-header h3{font-size:17px;font-weight:700}.modal-close{background:none;border:none;font-size:22px;line-height:1;color:var(--color-text-muted);padding:4px}.modal-close:hover{color:var(--color-text)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.toast-stack{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:200}.toast{background:var(--color-inverse-bg);color:var(--color-inverse-text);border:1px solid var(--color-inverse-hover);padding:12px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;box-shadow:var(--shadow-md);max-width:360px;animation:pop-in .18s ease}.toast-success{background:#0f5a3b;color:#fff;border-color:transparent}.toast-error{background:#7a1f2e;color:#fff;border-color:transparent}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{position:relative;overflow:hidden;padding:56px;background:linear-gradient(160deg,#4b3af0,#5b4cff 45%,#8b7cff);color:#fff;display:flex;align-items:center}.auth-brand-inner{position:relative;z-index:1;max-width:440px}.auth-logo{font-size:20px;font-weight:800;letter-spacing:-.01em;margin-bottom:56px}.auth-brand h1{font-size:34px;line-height:1.25;font-weight:800;letter-spacing:-.02em;margin-bottom:16px}.auth-brand p{font-size:15.5px;color:#ffffffd9;line-height:1.6;margin-bottom:28px}.auth-brand-points{display:flex;flex-direction:column;gap:12px}.auth-brand-points li{font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:10px}.auth-brand-points li:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#ffffff2e;font-size:11px}.auth-brand-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:#ffffff1f;filter:blur(10px);right:-180px;bottom:-220px}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:40px}.auth-form-box{width:100%;max-width:380px}.auth-eyebrow{display:inline-block;font-size:12.5px;font-weight:700;color:var(--color-primary-text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.auth-form-box h2{font-size:25px;font-weight:800;letter-spacing:-.01em;margin-bottom:8px}.auth-subtitle{color:var(--color-text-muted);font-size:14.5px;margin-bottom:26px;line-height:1.5}.auth-footer{margin-top:26px;font-size:14px;color:var(--color-text-muted);text-align:center}.auth-footer a{color:var(--color-primary-text);font-weight:700;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-row-between{display:flex;justify-content:flex-end;margin-top:-6px}.auth-terms{font-size:12px;color:var(--color-text-faint);text-align:center;line-height:1.5}@media (max-width: 900px){.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}}.onboarding-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg)}.onboarding-box{width:100%;max-width:440px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:36px}.onboarding-box h2{font-size:22px;font-weight:800;margin-bottom:8px}.invite-card{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;gap:12px}.invite-card p{color:var(--color-text-muted);font-size:13px;margin-top:2px}.invite-card-actions{display:flex;gap:8px;flex-shrink:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:264px 1fr}.app-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh}.app-sidebar-top{padding:6px 8px 18px;display:flex;flex-direction:column;gap:16px}.app-logo{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--color-primary-text)}.app-nav{display:flex;flex-direction:column;gap:2px;flex:1;margin-top:6px}.app-nav-section{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-faint);padding:16px 12px 6px}.app-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);font-size:14.5px;font-weight:600;color:var(--color-text-muted);text-decoration:none;transition:background .12s ease,color .12s ease}.app-nav-item svg{flex-shrink:0;opacity:.8}.app-nav-item:hover{background:var(--color-bg);color:var(--color-text)}.app-nav-item.active{background:var(--color-primary-soft);color:var(--color-primary-text)}.app-nav-item.active svg{opacity:1}.app-sidebar-bottom{position:relative;border-top:1px solid var(--color-border);padding-top:12px;margin-top:12px}.app-user-trigger{width:100%;display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);background:none;border:none;text-align:left}.app-user-trigger:hover{background:var(--color-bg)}.app-user-info{display:flex;flex-direction:column;overflow:hidden}.app-user-info strong{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-user-info small{font-size:12px;color:var(--color-text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-user-menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:6px;z-index:20}.app-user-menu-item{width:100%;text-align:left;padding:9px 10px;border-radius:6px;background:none;border:none;font-size:14px;font-weight:500;color:var(--color-text)}.app-user-menu-item:hover{background:var(--color-bg)}.app-user-menu-item.danger{color:var(--color-danger)}.app-user-menu-item.danger:hover{background:var(--color-danger-soft)}.app-user-menu-divider{height:1px;background:var(--color-border);margin:6px 2px}.theme-row{padding:6px 4px 4px;display:flex;flex-direction:column;gap:8px}.theme-row-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-faint);padding:0 2px}.theme-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:3px;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border)}.theme-picker button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:7px 2px 6px;border-radius:8px;border:none;background:none;color:var(--color-text-muted);font-size:10.5px;font-weight:600;line-height:1;white-space:nowrap;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.theme-picker button svg{flex-shrink:0}.theme-picker button:hover{color:var(--color-text)}.theme-picker button.active{background:var(--color-surface);color:var(--color-primary-text);box-shadow:var(--shadow-sm)}.theme-picker button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.app-main{display:flex;flex-direction:column;min-width:0}.app-topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 36px;border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:10}.app-topbar h1{font-size:19px;font-weight:800;letter-spacing:-.01em}.app-content{padding:32px 36px 60px;display:flex;flex-direction:column;gap:0;max-width:1080px;width:100%}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto}.app-sidebar-top{padding:6px 12px 6px 0}.app-nav{flex-direction:row;margin-top:0}.app-sidebar-bottom{display:none}.app-content{padding:24px 18px 48px}.app-topbar{padding:18px}}.company-switcher{position:relative}.company-switcher-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);text-align:left}.company-switcher-trigger:hover{border-color:var(--color-border-strong)}.company-switcher-mark{width:26px;height:26px;border-radius:7px;background:var(--color-primary);color:#fff;font-weight:700;font-size:12.5px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.company-switcher-mark.small{width:22px;height:22px;font-size:11px}.company-switcher-mark.ghost{background:var(--color-primary-soft);color:var(--color-primary-text)}.company-switcher-name{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.company-switcher-chevron{color:var(--color-text-faint);font-size:12px}.company-switcher-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:6px;z-index:20}.company-switcher-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px;border-radius:7px;background:none;border:none;font-size:13.5px;font-weight:600}.company-switcher-item:hover{background:var(--color-bg)}.company-switcher-item.active{color:var(--color-primary-text);background:var(--color-primary-soft)}.company-switcher-divider{height:1px;background:var(--color-border);margin:6px 2px}.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.dashboard-hero h2{font-size:22px;font-weight:800;margin-bottom:4px}.dashboard-hero p{color:var(--color-text-muted);font-size:14.5px}.dashboard-hero p strong{color:var(--color-text)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stat-card{display:flex;flex-direction:column;gap:4px;padding:20px 22px}.stat-value{font-size:26px;font-weight:800;letter-spacing:-.01em}.stat-label{font-size:13px;color:var(--color-text-muted);font-weight:500}@media (max-width: 640px){.stat-row{grid-template-columns:1fr}}.member-preview-row{display:flex}.member-preview{margin-right:-8px;border:2px solid var(--color-surface);border-radius:50%}.module-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.module-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px}.module-card-shop-head{display:flex;align-items:flex-start;justify-content:space-between;width:100%}.module-card-body strong{display:block;font-size:15px;font-weight:700;margin-bottom:3px}.module-card-body p{font-size:13px;color:var(--color-text-muted);line-height:1.5}.module-card-price{font-size:13.5px;font-weight:700;color:var(--color-text);padding-top:2px}.module-logo{border-radius:12px;object-fit:cover;flex-shrink:0}.module-logo-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;background:var(--color-primary-soft);color:var(--color-primary-text)}.empty-state{align-items:center;text-align:center;display:flex;flex-direction:column;gap:8px;padding:48px 24px}.empty-state-icon{font-size:32px;margin-bottom:4px}.empty-state h3{font-size:16.5px;font-weight:700}.empty-state p{color:var(--color-text-muted);font-size:14px;max-width:340px;margin-bottom:8px}.table{width:100%;border-collapse:collapse}.table td{padding:12px 8px;border-top:1px solid var(--color-border);vertical-align:middle}.table tr:first-child td{border-top:none}.table-person{display:flex;align-items:center;gap:12px}.table-person strong{display:block;font-size:14px;font-weight:600}.table-person small{display:block;font-size:12.5px;color:var(--color-text-faint)}.table-actions{text-align:right;white-space:nowrap}.detail-list{display:flex;flex-direction:column;gap:14px}.detail-list>div{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.detail-list>div:last-child{border-bottom:none;padding-bottom:0}.detail-list dt{font-size:13.5px;color:var(--color-text-muted);font-weight:500}.detail-list dd{font-size:14px;font-weight:600}.plain-link{text-decoration:none;color:inherit;display:block}:root{--app-accent: var(--color-primary)}.module-card-link{height:100%;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.module-card-link:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.module-card-open{margin-top:auto;display:inline-flex;align-items:center;gap:2px;font-size:13.5px;font-weight:700;color:var(--color-primary-text)}.module-card-shop.is-enabled{border-color:var(--color-primary-soft)}.module-features{display:flex;flex-direction:column;gap:6px}.module-features li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted)}.module-features svg{color:var(--color-success);flex-shrink:0}.module-card-foot{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:6px}.module-card-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.module-card-actions a{text-decoration:none}.app-drawer-toggle{display:none;background:none;border:none;padding:6px;margin:-6px 4px -6px -6px;border-radius:var(--radius-sm);color:var(--color-text)}.app-drawer-backdrop{display:none}.app-topbar{gap:12px}.app-topbar h1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-actions{display:flex;align-items:center;gap:8px}@media (max-width: 860px){.app-shell{display:block}.app-sidebar{position:fixed;inset:0 auto 0 0;width:280px;height:100vh;z-index:60;flex-direction:column;align-items:stretch;overflow-y:auto;padding:20px 14px;transform:translate(-102%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.app-sidebar-top{padding:6px 8px 18px}.app-nav{flex-direction:column;margin-top:6px}.app-sidebar-bottom{display:block}.drawer-open .app-sidebar{transform:none}.app-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s ease}.drawer-open .app-drawer-backdrop{opacity:1;pointer-events:auto}.app-drawer-toggle{display:inline-flex}.app-topbar{padding:12px 14px}.app-topbar h1{font-size:17px}.app-content{padding:18px 14px 96px}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);z-index:100;display:flex;justify-content:flex-end;animation:fade-in .15s ease}.sheet{width:min(var(--sheet-width, 520px),100vw);height:100%;background:var(--color-surface);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 14px;border-bottom:1px solid var(--color-border)}.sheet-header h3{font-size:17px;font-weight:750}.sheet-header p{font-size:13px;color:var(--color-text-muted);margin-top:2px}.sheet-body{flex:1;overflow-y:auto;padding:20px 24px}.sheet-footer{padding:14px 24px;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:10px;background:var(--color-surface)}.sheet-footer .spacer{flex:1}@keyframes sheet-in{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}@media (max-width: 640px){.sheet-backdrop{align-items:flex-end}.sheet{width:100vw;height:auto;max-height:94vh;border-radius:18px 18px 0 0;animation:sheet-up .24s cubic-bezier(.2,.8,.2,1)}.sheet-header{padding:16px 18px 12px}.sheet-body{padding:16px 18px}.sheet-footer{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.sheet-footer .btn{flex:1}.sheet-footer .btn.btn-icon{flex:0 0 auto}}@keyframes sheet-up{0%{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;cursor:pointer}.switch-row+.switch-row{border-top:1px solid var(--color-border)}.switch-row.disabled{opacity:.55;cursor:not-allowed}.switch-text{display:flex;flex-direction:column;gap:2px}.switch-label{font-size:14px;font-weight:600}.switch-hint{font-size:12.5px;color:var(--color-text-faint)}.switch{position:relative;width:40px;height:24px;border-radius:999px;background:var(--color-border-strong);flex-shrink:0;transition:background .15s ease}.switch.on{background:var(--app-accent)}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:inherit}.switch-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s ease;pointer-events:none}.switch.on .switch-knob{transform:translate(16px)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border);max-width:100%;overflow-x:auto}.segmented button{border:none;background:none;padding:7px 14px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--color-text-muted);white-space:nowrap;display:inline-flex;align-items:center;gap:7px}.segmented button:hover{color:var(--color-text)}.segmented button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.segmented-sm button{padding:5px 11px;font-size:13px}.segmented-count{font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--color-border);color:var(--color-text-muted)}.segmented button.active .segmented-count{background:var(--app-accent);color:#fff}.btn-icon{padding:9px}.btn-primary{background:var(--app-accent)}.textarea{min-height:80px;resize:vertical;font-family:inherit;line-height:1.5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 520px){.field-row{grid-template-columns:1fr}}.btn-primary:hover:not(:disabled){background:var(--app-accent);filter:brightness(.93)}.btn-primary{box-shadow:0 1px 2px #14142b2e}.module-card-grid>.card+.card,.module-card-grid>a+a>.card,.module-card-grid .card{margin-top:0}.app-shell{--sidebar-w: 264px;grid-template-columns:var(--sidebar-w) 1fr;transition:grid-template-columns .2s ease}.app-logo-mark,.app-sidebar-collapse{display:none}@media (min-width: 861px){.app-sidebar-collapse{position:absolute;top:24px;right:-13px;z-index:5;width:26px;height:26px;border-radius:50%;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.app-sidebar-collapse svg{transform:rotate(180deg);transition:transform .2s ease}.app-sidebar:hover .app-sidebar-collapse,.app-sidebar-collapse:focus-visible,.sidebar-collapsed .app-sidebar-collapse{opacity:1}.app-sidebar-collapse:hover{color:var(--color-primary-text);border-color:var(--color-primary)}.sidebar-collapsed .app-sidebar-collapse svg{transform:none}.sidebar-collapsed{--sidebar-w: 76px}.sidebar-collapsed .app-sidebar{padding:20px 12px}.sidebar-collapsed .app-sidebar-top{padding:6px 0 14px;align-items:center}.sidebar-collapsed .app-logo-full{display:none}.sidebar-collapsed .app-logo-mark{display:inline}.sidebar-collapsed .company-switcher-trigger{padding:7px;justify-content:center}.sidebar-collapsed .company-switcher-name,.sidebar-collapsed .company-switcher-chevron{display:none}.sidebar-collapsed .company-switcher-menu{right:auto;width:240px}.sidebar-collapsed .app-nav-section{height:1px;margin:10px 8px;padding:0;background:var(--color-border)}.sidebar-collapsed .app-nav-section span{display:none}.sidebar-collapsed .app-nav-item{justify-content:center;padding:11px 0}.sidebar-collapsed .app-nav-item span{display:none}.sidebar-collapsed .app-user-trigger{justify-content:center;padding:8px 0}.sidebar-collapsed .app-user-info{display:none}.sidebar-collapsed .app-user-menu{right:auto;width:236px}}.app-tile{position:relative;padding:0;gap:0}.app-tile.dragging{opacity:.45}.app-tile.drag-over{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);transform:none}.app-tile-main{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 20px 14px;width:100%;flex:1;text-decoration:none;color:inherit}.app-tile-foot{display:flex;align-items:center;gap:6px;width:100%;padding:0 12px 14px 20px}.app-tile-foot .btn{text-decoration:none}.app-tile-tools{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease}.app-tile:hover .app-tile-tools,.app-tile:focus-within .app-tile-tools{opacity:1}.app-tile-tools button{width:26px;height:26px;border-radius:7px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1}.app-tile-tools button:hover:not(:disabled){color:var(--color-text);border-color:var(--color-border-strong)}.app-tile-tools button:disabled{opacity:.3;cursor:default}.app-tile-grip{color:var(--color-text-faint);cursor:grab;display:inline-flex;padding:0 2px 0 6px}@media (hover: none){.app-tile-tools{opacity:1}.app-tile-grip{display:none}}.access-list{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:12px}.access-row{display:flex;align-items:center;gap:12px;padding:9px 12px;cursor:pointer}.access-row+.access-row{border-top:1px solid var(--color-border)}.access-row:hover{background:var(--color-bg)}.access-row input{width:16px;height:16px;margin:0;accent-color:var(--color-primary);flex-shrink:0}.access-row-text{display:flex;flex-direction:column;min-width:0;flex:1}.access-row-text strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.access-row-text small{font-size:12.5px;color:var(--color-text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.access-quick-links{display:flex;gap:14px;margin-top:10px;font-size:13px}.access-quick-links .link-button{font-size:13px}.access-total{margin:16px 0 4px;font-size:14px;color:var(--color-text-muted)}.access-price{font-weight:700;color:var(--color-text)}.access-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.access-summary strong{display:block;font-size:15.5px;font-weight:700}.access-summary p{color:var(--color-text-muted);font-size:13.5px;margin-top:3px}.access-avatars{margin-top:14px;align-items:center}.access-more{margin-left:14px;font-size:13px;color:var(--color-text-muted);font-weight:600}.app-settings-stack{display:flex;flex-direction:column;gap:20px}.app-settings-stack>.card+.card{margin-top:0}.settings-loading{padding:40px;display:flex;justify-content:center}.app-topbar-actions .btn{text-decoration:none}.asst-toggle{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:13.5px;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease}.asst-toggle:hover{border-color:var(--color-primary);color:var(--color-primary-text)}.asst-toggle.active{background:var(--color-primary-soft);border-color:var(--color-primary-soft);color:var(--color-primary-text)}.asst-toggle svg{color:var(--color-assistant)}.asst-backdrop{display:none}.asst-dock{position:sticky;top:0;height:100vh;border-left:1px solid var(--color-border);background:var(--color-surface);min-width:0}@media (min-width: 1180px){.app-shell.assistant-open{grid-template-columns:var(--sidebar-w) 1fr 400px}}@media (max-width: 1179px){.asst-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-backdrop);z-index:100;animation:fade-in .15s ease}.asst-dock{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);height:auto;z-index:101;box-shadow:var(--shadow-lg);animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}}.asst{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-surface)}.asst-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 12px 18px;border-bottom:1px solid var(--color-border)}.asst-title{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:750;min-width:0}.asst-title svg{color:var(--color-assistant);flex-shrink:0}.asst-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.asst-head-tools{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.asst-icon-btn{width:32px;height:32px;border-radius:8px;border:none;background:none;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.asst-icon-btn:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.asst-icon-btn:disabled{opacity:.4}.asst-history{position:relative}.asst-history-menu{position:absolute;top:calc(100% + 6px);right:0;width:300px;max-height:360px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:6px;z-index:30}.asst-history-empty{padding:14px;font-size:13.5px;color:var(--color-text-muted);text-align:center}.asst-history-item{display:flex;align-items:stretch;border-radius:8px}.asst-history-item:hover{background:var(--color-bg)}.asst-history-item.active{background:var(--color-primary-soft)}.asst-history-item>button:first-child{flex:1;min-width:0;text-align:left;padding:8px 10px;background:none;border:none;display:flex;flex-direction:column;gap:2px}.asst-history-item>button:first-child span{font-size:13.5px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.asst-history-item>button:first-child small{font-size:12px;color:var(--color-text-faint)}.asst-history-del{background:none;border:none;color:var(--color-text-faint);padding:0 10px;opacity:0}.asst-history-item:hover .asst-history-del{opacity:1}.asst-history-del:hover{color:var(--color-danger)}.asst-body{flex:1;overflow-y:auto;padding:18px 18px 10px;display:flex;flex-direction:column;gap:16px}.asst-empty{margin:auto 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:24px 8px}.asst-empty-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#2dd4bf,#0b8478);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;box-shadow:0 8px 20px #0e9f8e40}.asst-empty h3{font-size:17px;font-weight:800}.asst-empty p{font-size:13.5px;color:var(--color-text-muted);max-width:280px;line-height:1.5}.asst-suggestions{display:flex;flex-direction:column;gap:6px;margin-top:14px;width:100%;max-width:320px}.asst-suggestions button{text-align:left;padding:9px 13px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);font-size:13.5px;font-weight:500;color:var(--color-text);transition:border-color .12s ease,background .12s ease}.asst-suggestions button:hover{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-text)}.asst-msg{display:flex;flex-direction:column;gap:8px;max-width:100%}.asst-user{align-items:flex-end}.asst-user .asst-bubble{background:var(--color-primary-soft);color:var(--color-text);border-radius:16px 16px 4px;padding:9px 13px;font-size:14px;line-height:1.5;max-width:85%;white-space:pre-wrap;word-break:break-word}.asst-assistant{align-items:stretch}.asst-steps{display:flex;flex-wrap:wrap;gap:6px}.asst-step{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:3px 9px 3px 7px}.asst-step.done svg{color:var(--color-success)}.asst-step-spin{width:10px;height:10px;border-radius:50%;border:2px solid var(--color-border-strong);border-top-color:var(--color-primary);animation:spin .7s linear infinite}.asst-typing{display:inline-flex;gap:4px;padding:6px 2px}.asst-typing span{width:6px;height:6px;border-radius:50%;background:var(--color-text-faint);animation:asst-blink 1.2s infinite ease-in-out}.asst-typing span:nth-child(2){animation-delay:.15s}.asst-typing span:nth-child(3){animation-delay:.3s}@keyframes asst-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.asst-error{font-size:13px;color:var(--color-danger);background:var(--color-danger-soft);padding:8px 12px;border-radius:8px}.asst-md{font-size:14px;line-height:1.55;display:flex;flex-direction:column;gap:10px;word-break:break-word}.asst-md p{margin:0}.asst-md h4{font-size:14px;font-weight:750;margin:4px 0 -2px}.asst-md ul,.asst-md ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.asst-md code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;background:var(--color-bg);border:1px solid var(--color-border);padding:1px 5px;border-radius:5px}.asst-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:10px}.asst-md table{width:100%;border-collapse:collapse;font-size:13px}.asst-md th,.asst-md td{padding:7px 10px;text-align:left;vertical-align:top}.asst-md th{font-size:12px;font-weight:700;color:var(--color-text-muted);background:var(--color-bg);white-space:nowrap}.asst-md td{border-top:1px solid var(--color-border)}.asst-md th.num,.asst-md td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.asst-confirm{border:1px solid var(--color-primary);background:var(--color-primary-soft);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.asst-confirm-text{display:flex;flex-direction:column;gap:3px}.asst-confirm-text strong{font-size:13px;font-weight:750;color:var(--color-primary-text)}.asst-confirm-text span{font-size:14px;line-height:1.45}.asst-confirm-actions{display:flex;gap:8px}.asst-confirm.decided{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;border-color:var(--color-border);background:var(--color-bg)}.asst-confirm.decided .asst-confirm-text strong{color:var(--color-text-muted)}.asst-confirm-state{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.asst-confirm.ok .asst-confirm-state{background:var(--color-success-soft);color:var(--color-success)}.asst-confirm.no .asst-confirm-state{background:var(--color-border);color:var(--color-text-muted)}.asst-composer{padding:10px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-direction:column;gap:8px}.asst-context{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--color-text-muted);padding:0 4px}.asst-context-dot{width:7px;height:7px;border-radius:50%;background:var(--color-assistant);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-assistant) 20%,transparent)}.asst-input-row{display:flex;align-items:flex-end;gap:8px;border:1.5px solid var(--color-border-strong);border-radius:14px;padding:6px 6px 6px 12px;background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.asst-input-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.asst-input{flex:1;border:none;background:none;resize:none;font-family:inherit;font-size:14.5px;line-height:1.45;padding:6px 0;max-height:160px;color:var(--color-text)}.asst-input:focus{outline:none}.asst-input::placeholder{color:var(--color-text-faint)}.asst-send{width:34px;height:34px;border-radius:10px;border:none;background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease,opacity .15s ease}.asst-send:hover:not(:disabled){background:var(--color-primary-hover)}.asst-send:disabled{opacity:.35;cursor:default}.app-content-wide{max-width:none}.asst-page-wrap{margin:-32px -36px -60px;height:calc(100vh - 71px)}.asst-page{height:100%}.asst-page .asst-body{padding:28px max(18px,calc(50% - 380px)) 12px}.asst-page .asst-composer{padding-left:max(14px,calc(50% - 384px));padding-right:max(14px,calc(50% - 384px))}.asst-page .asst-head{padding-left:max(18px,calc(50% - 380px));padding-right:max(14px,calc(50% - 384px))}.asst-page .asst-title-text{max-width:480px}.asst-page .asst-empty{padding-top:10vh}@media (max-width: 860px){.asst-page-wrap{margin:-24px -18px -48px;height:calc(100vh - 62px)}.asst-toggle span{display:none}.asst-toggle{padding:7px 9px}}@media (max-width: 640px){.asst-page-wrap{margin:-18px -14px -96px;height:calc(100vh - 54px)}}.asst-stats{margin-bottom:0}.asst-stat{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.asst-stat .stat-value{font-size:22px}.asst-log td{font-size:13.5px}.asst-log-when{white-space:nowrap;color:var(--color-text-muted);font-size:13px;width:70px}.asst-log-summary{color:var(--color-text-muted);font-size:13px;margin-top:2px}.app-user-name{display:flex;align-items:center;gap:8px;min-width:0}.app-user-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-name .badge{padding:1px 7px;font-size:10.5px;flex-shrink:0}.company-switcher-search{padding:2px 2px 6px}.company-switcher-search .input{padding:7px 10px;font-size:13.5px}.company-switcher-list.scroll{max-height:296px;overflow-y:auto}.company-switcher-item.highlight{background:var(--color-bg)}.company-switcher-item.active.highlight{background:var(--color-primary-soft)}.company-switcher-item-text{display:flex;flex-direction:column;min-width:0;text-align:left}.company-switcher-item-text small{font-size:11.5px;font-weight:500;color:var(--color-text-faint)}.company-switcher-empty{padding:12px 8px;font-size:13px;color:var(--color-text-muted);text-align:center}.stat-row>.card+.card{margin-top:0}.staff-table-wrap{overflow-x:auto;margin:0 -8px}.staff-table{min-width:100%}.staff-table th{text-align:left;padding:0 8px 10px;font-size:11.5px;font-weight:700;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.staff-table tbody tr:first-child td{border-top:1px solid var(--color-border)}.staff-table td{font-size:13.5px}.staff-table th.num,.staff-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.staff-table .table-actions{padding-right:0}.staff-table .btn-icon{padding:6px}.staff-nowrap{white-space:nowrap}.staff-companies{min-width:920px}.staff-invoices{min-width:900px}.staff-companies .table-actions .link-button{font-size:13.5px}.staff-companies .table-actions .link-button:disabled{opacity:.5;cursor:default;text-decoration:none}.staff-cell-main{display:flex;flex-direction:column;min-width:0}.staff-cell-main strong{font-size:14px;font-weight:600;white-space:nowrap}.staff-cell-main span{white-space:nowrap}.staff-cell-main small{font-size:12.5px;color:var(--color-text-faint);white-space:nowrap}.staff-search{max-width:240px;padding:8px 12px;font-size:14px}.staff-empty{font-size:14px}.staff-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:230px}.staff-chip{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;white-space:nowrap;font-size:11.5px;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border)}.staff-company-list{display:none;flex-direction:column}.staff-company-item{display:flex;flex-direction:column;gap:10px;padding:14px 0;border-top:1px solid var(--color-border)}.staff-company-item:first-child{border-top:none;padding-top:4px}.staff-company-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.staff-company-head .staff-cell-main strong,.staff-company-head .staff-cell-main small{white-space:normal}.staff-company-head .badge{flex-shrink:0;white-space:nowrap}.staff-company-facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--color-text-muted)}.staff-company-facts strong{color:var(--color-text);font-weight:700}.staff-company-item .staff-chips{max-width:none}.staff-company-actions{display:flex;gap:6px;margin-top:2px}.staff-warn{font-size:13px;color:var(--color-warning);margin:0}.staff-warn-inline{display:block;font-size:11.5px;color:var(--color-warning);margin-top:3px}.staff-modal-actions{margin-top:20px}.staff-modal-text{font-size:14px;line-height:1.5}.staff-modal-facts{gap:10px}.staff-modal-facts>div{padding-bottom:10px}.staff-run-result{display:flex;flex-direction:column;gap:18px;max-height:50vh;overflow-y:auto;margin-bottom:12px}.staff-run-result h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.staff-run-result h4 span{font-size:11.5px;padding:1px 7px;border-radius:999px;background:var(--color-border);color:var(--color-text-muted)}.staff-run-result ul{display:flex;flex-direction:column}.staff-run-result li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--color-border);font-size:14px}.staff-run-result li:first-child{border-top:none}.staff-run-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-run-meta{color:var(--color-text-muted);font-size:13px;text-align:right;flex-shrink:0;max-width:60%}.staff-run-result p{font-size:14px}.staff-form{max-width:560px}.profile-footnote{margin-top:16px;font-size:12.5px;color:var(--color-text-faint)}.policy-check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.policy-check input{width:16px;height:16px;margin:0;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}.policy-check a{color:var(--color-primary-text);font-weight:600;text-decoration:none}.policy-check a:hover{text-decoration:underline}.modal-body .policy-check{margin:4px 0 16px}.policy-box{text-align:center}.policy-logo{font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--color-primary-text);margin-bottom:24px}.policy-box .auth-subtitle{margin-bottom:22px}@media (max-width: 860px){.staff-search{max-width:100%}.card-header:has(.staff-search){flex-direction:column;align-items:stretch}.staff-table-wrap{margin:0 -24px;padding:0 16px}.staff-table th:first-child,.staff-table td:first-child{padding-left:8px}}@media (max-width: 640px){.staff-companies-wrap{display:none}.staff-company-list{display:flex}}.status-level{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#fff;white-space:nowrap}.status-level.lg{font-size:14px;padding:8px 16px}.status-iron{background:linear-gradient(135deg,#7a7a8c,#4f4f5e)}.status-bronze{background:linear-gradient(135deg,#d08a4a,#9a5a1f)}.status-silver{background:linear-gradient(135deg,#b9c0cc,#7d8698)}.status-gold{background:linear-gradient(135deg,#f2c14e,#c58f00)}.status-platinum{background:linear-gradient(135deg,#7ce0d6,#0e9f8e)}.staff-status{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.status-card{display:flex;flex-direction:column;gap:18px}.status-card-head{display:flex;align-items:center;gap:16px}.status-card-head strong{display:block;font-size:16px;font-weight:750}.status-card-head p{color:var(--color-text-muted);font-size:13.5px;margin-top:2px}.status-ladder{display:flex;gap:6px;flex-wrap:wrap}.status-step{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);font-size:13px;font-weight:600;color:var(--color-text-faint);background:var(--color-bg)}.status-step.reached{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border-strong)}.status-step.current{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.status-next{font-size:13.5px;color:var(--color-text-muted)}.status-trial{font-size:13px;color:var(--color-info)}.module-card-tiers{display:block;font-size:12px;font-weight:500;color:var(--color-text-faint);margin-top:2px}.dashboard-hero,.stat-row-compact{margin-bottom:20px}.stat-row-compact .stat-card{padding:16px 20px;justify-content:center}.stat-row-compact .stat-value{font-size:24px}.stat-value-pill{display:flex;align-items:center;gap:10px;min-height:29px}.stat-value-pill small{font-size:12.5px;font-weight:600;color:var(--color-text-muted);letter-spacing:0}.team-card{margin-bottom:28px}.team-card .card-header{margin-bottom:14px}.posts{display:flex;flex-direction:column;gap:14px}.posts-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.posts-head h3{font-size:16px;font-weight:750}.posts-list{display:flex;flex-direction:column;gap:14px}.posts-list>.card+.card{margin-top:0}.posts-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 22px}.posts-empty p{color:var(--color-text-muted);font-size:14px}.post{padding:20px 22px}.post.is-pinned{border-color:var(--color-primary-soft);box-shadow:0 0 0 1px var(--color-primary-soft),var(--shadow-sm)}.post-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.post-title{display:flex;align-items:center;gap:8px;min-width:0}.post-title h4{font-size:16px;font-weight:750;letter-spacing:-.005em;line-height:1.3}.post-pin{display:inline-flex;color:var(--color-primary-text);flex-shrink:0}.post-meta{font-size:12.5px;color:var(--color-text-faint);font-weight:500;margin-top:3px}.post-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.post:hover .post-actions,.post:focus-within .post-actions{opacity:1}.post-actions button{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:7px;border:none;background:none;font-size:13px;font-weight:600;color:var(--color-text-muted)}.post-actions button:hover{background:var(--color-bg);color:var(--color-text)}.post-actions button.danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}@media (hover: none){.post-actions{opacity:1}.post-actions button span{display:none}.post-actions button{padding:6px}}.post-body{margin-top:12px;font-size:14.5px;line-height:1.6;color:var(--color-text);word-break:break-word}.post-body>:not(:first-child){margin-top:10px}.post-body>h3:not(:first-child){margin-top:16px}.post-body>h4:not(:first-child){margin-top:14px}.post-body h3{font-size:15.5px;font-weight:750}.post-body h4{font-size:14.5px;font-weight:700}.post-body ul,.post-body ol{padding-left:22px;display:flex;flex-direction:column;gap:4px}.post-body ul{list-style:disc}.post-body ol{list-style:decimal}.post-body li::marker{color:var(--color-text-faint)}.post-body blockquote{margin:0;padding:4px 0 4px 14px;border-left:3px solid var(--color-primary);color:var(--color-text-muted)}.post-body a{color:var(--color-primary-text);font-weight:600;text-decoration:underline;text-decoration-color:var(--color-primary-soft);text-underline-offset:2px}.post-body a:hover{text-decoration-color:currentColor}.post-body hr{border:none;border-top:1px solid var(--color-border);margin:14px 0}.post-body strong{font-weight:700}.rte{border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.rte:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}.rte-toolbar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap}.rte-btn{width:30px;height:30px;border-radius:7px;border:none;background:none;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.rte-btn:hover{background:var(--color-surface);color:var(--color-text)}.rte-btn.active{background:var(--color-primary-soft);color:var(--color-primary-text)}.rte-sep{width:1px;height:18px;background:var(--color-border-strong);margin:0 4px}.rte-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-border);background:var(--color-bg);animation:fade-in .12s ease}.rte-link .input{flex:1;padding:7px 10px;font-size:13.5px}.rte-area{min-height:180px;max-height:50vh;overflow-y:auto;padding:14px 16px;outline:none;margin-top:0;cursor:text}.rte-area:focus{outline:none}.rte.is-empty .rte-area:before{content:attr(data-placeholder);color:var(--color-text-faint);pointer-events:none;position:absolute}.rte-area{position:relative}.rte-area h3,.rte-area h4{margin-top:12px}.grid-divider{grid-column:1 / -1;display:flex;align-items:center;gap:12px;margin:10px 0 -4px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-faint)}.grid-divider:before,.grid-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.app-content>.grid-divider{margin:24px 0 14px}.module-card-shop.is-enabled .module-card-shop-head,.module-card-shop.is-enabled .module-card-body,.module-card-shop.is-enabled .module-card-price{opacity:.75}.app-nav-sortable{display:flex;flex-direction:column;gap:2px}.app-nav-sortable .app-nav-item{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.app-nav-sortable.reordering{touch-action:none}.app-nav-sortable.reordering .app-nav-item{transition:transform .18s ease;pointer-events:none}.app-nav-sortable.reordering .app-nav-item.dragging{pointer-events:auto}.app-nav-sortable .app-nav-item.dragging{position:relative;z-index:5;transition:none;cursor:grabbing;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md),0 0 0 1px var(--color-border)}.app-nav-sortable .app-nav-item.dragging.active{background:var(--color-primary-soft);color:var(--color-primary-text)}@media (max-width: 640px){.posts-empty{flex-direction:column;align-items:flex-start}.stat-row-compact{grid-template-columns:1fr 1fr;gap:10px}.stat-row-compact .stat-card:last-child{grid-column:1 / -1}.stat-row-compact .stat-card{padding:14px 16px}.stat-row-compact .stat-value{font-size:21px}.post{padding:16px 18px}}.role-violet{--role-bg: var(--role-violet-bg);--role-fg: var(--role-violet-fg);--role-dot: #6D5DFF}.role-teal{--role-bg: var(--role-teal-bg);--role-fg: var(--role-teal-fg);--role-dot: #14B8A6}.role-amber{--role-bg: var(--role-amber-bg);--role-fg: var(--role-amber-fg);--role-dot: #F59E0B}.role-rose{--role-bg: var(--role-rose-bg);--role-fg: var(--role-rose-fg);--role-dot: #F43F5E}.role-blue{--role-bg: var(--role-blue-bg);--role-fg: var(--role-blue-fg);--role-dot: #3B82F6}.role-slate{--role-bg: var(--role-slate-bg);--role-fg: var(--role-slate-fg);--role-dot: #64748B}.role-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em;line-height:1.35;white-space:nowrap;background:var(--role-bg);color:var(--role-fg);border:1px solid transparent;max-width:100%;font-family:inherit}.role-chip-name{overflow:hidden;text-overflow:ellipsis}.role-chip-count{font-size:11px;font-weight:700;padding:0 6px;border-radius:999px;line-height:16px;background:var(--role-count-bg);color:var(--role-fg)}.role-chip.is-clickable{cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .05s ease}.role-chip.is-clickable:hover{border-color:var(--role-dot)}.role-chip.is-clickable:active{transform:translateY(1px)}.role-chip.is-active{border-color:var(--role-dot);box-shadow:0 0 0 3px var(--role-bg)}.role-chip-lg{padding:6px 12px 6px 10px;font-size:13px;gap:8px}.role-chip-lg .role-dot{width:9px;height:9px}.role-dot{display:inline-block;border-radius:50%;background:var(--role-dot);flex-shrink:0}.role-color-picker{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.role-swatch{width:22px;height:22px;border-radius:50%;padding:0;border:2px solid transparent;background:var(--role-dot);background-clip:content-box;box-shadow:inset 0 0 0 2px var(--color-surface);position:relative;transition:transform .12s ease,border-color .12s ease;cursor:pointer}.role-swatch:hover{transform:scale(1.1)}.role-swatch.is-selected{border-color:var(--role-dot)}.roles-card .card-header{margin-bottom:14px}.roles-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:32px}.roles-list .muted{font-size:13.5px}.role-form{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);animation:pop-in .18s ease}.role-form-name{flex:1 1 200px;min-width:160px;padding:8px 12px;font-size:14px}.role-form-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.role-form-delete{margin-left:6px}.members-table th{padding:0 8px 10px;text-align:left;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint)}.members-table th.table-actions{text-align:right}.members-table th:first-child{padding-left:8px}.members-table tr:first-child td{border-top:1px solid var(--color-border)}.members-table .col-role{width:1%;white-space:nowrap}.members-table .col-role .input{min-width:170px}.roles-cell{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;background:none;border:1px solid transparent;padding:4px 6px;margin:-4px -6px;border-radius:10px;text-align:left;font-family:inherit}button.roles-cell{cursor:pointer;transition:background .12s ease,border-color .12s ease}button.roles-cell:hover{background:var(--color-bg);border-color:var(--color-border)}.roles-cell-empty{font-size:13px;font-weight:600;color:var(--color-text-faint)}.roles-cell-add{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px dashed var(--color-border-strong);color:var(--color-text-faint);font-size:14px;line-height:1;flex-shrink:0}button.roles-cell:hover .roles-cell-add{border-color:var(--color-primary);color:var(--color-primary-text);border-style:solid}button.roles-cell:hover .roles-cell-empty{color:var(--color-primary-text)}.role-modal-subtitle{font-size:13.5px;color:var(--color-text-muted);margin:-8px 0 14px}.role-modal-empty{font-size:14px;color:var(--color-text-muted);margin-bottom:18px}.role-modal-empty a{color:var(--color-primary-text);font-weight:700;text-decoration:none}.role-modal-empty a:hover{text-decoration:underline}.role-check-list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:320px;overflow-y:auto;margin-bottom:18px}.role-check-row{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .12s ease}.role-check-row+.role-check-row{border-top:1px solid var(--color-border)}.role-check-row:hover{background:var(--color-bg)}.role-check-row input{width:16px;height:16px;margin:0;accent-color:var(--color-primary);flex-shrink:0}.role-check-count{margin-left:auto;font-size:12.5px;color:var(--color-text-faint);white-space:nowrap}.admins-summary p{margin-top:3px}.admins-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}@media (max-width: 640px){.members-table thead{display:none}.members-table tr{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:14px 0;border-top:1px solid var(--color-border)}.members-table tr:first-child{border-top:none}.members-table td{display:block;padding:0;border-top:none!important}.members-table td:first-child{grid-column:1 / -1;grid-row:1}.members-table .col-role{grid-column:1;grid-row:2;width:auto;white-space:normal}.members-table .col-role .input{min-width:0;width:auto;padding:7px 32px 7px 11px;font-size:13.5px}.members-table .table-actions{grid-column:2;grid-row:2;text-align:right;align-self:center}.members-table .col-roles{grid-column:1 / -1;grid-row:3}.role-form-actions{margin-left:0;width:100%}}
