.app-shell{display:flex;min-height:100vh;background:var(--bg);color:var(--text)}.app-sidebar{flex-shrink:0;width:240px;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:var(--sidebar-bg);border-right:1px solid var(--border);transition:width .16s ease;z-index:40}.app-shell.rail .app-sidebar{width:64px}.app-content{flex:1;min-width:0;display:flex;flex-direction:column}.app-main{flex:1;min-width:0}.app-container{max-width:1200px;margin:0 auto;padding:24px 24px 32px}.app-topbar,.app-overlay{display:none}.sidebar-brand{display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;border:none;background:none;cursor:pointer;color:var(--text);flex-shrink:0;overflow:hidden;white-space:nowrap}.app-shell.rail .sidebar-brand{padding:0 16px}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 10px}.sidebar-group{margin-bottom:14px}.sidebar-group__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);padding:0 8px;margin:4px 0 6px;white-space:nowrap;overflow:hidden}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:none;color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;text-align:left;white-space:nowrap;transition:background .12s ease,color .12s ease}.nav-item:hover{background:var(--sidebar-hover);color:var(--text)}.nav-item.active{background:var(--sidebar-active);color:var(--orange);font-weight:600}.nav-item__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.nav-item__label{overflow:hidden;text-overflow:ellipsis}.sidebar-footer{flex-shrink:0;border-top:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:8px}.sidebar-account{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-account__avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;text-transform:uppercase}.sidebar-account__meta{min-width:0;flex:1;overflow:hidden}.sidebar-account__email{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-iconbtn{flex-shrink:0;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.sidebar-iconbtn:hover{color:var(--text)}.sidebar-collapse-btn{width:100%;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:12px;font-weight:600}.sidebar-collapse-btn:hover{color:var(--text)}.app-shell.rail .sidebar-brand__word,.app-shell.rail .sidebar-group__label,.app-shell.rail .nav-item__label,.app-shell.rail .sidebar-account__meta,.app-shell.rail .sidebar-collapse-btn__label{display:none}.app-shell.rail .sidebar-footer{align-items:center}.app-shell.rail .sidebar-account{flex-direction:column;gap:8px;justify-content:center}.app-shell.rail .sidebar-footer>div:last-child{flex-direction:column}.app-shell.rail .sidebar-collapse-btn{width:32px;padding:0}.app-shell.rail .nav-item{justify-content:center;padding:8px}@media (max-width: 900px){.app-sidebar{position:fixed;left:0;top:0;width:264px;transform:translate(-100%);transition:transform .2s ease;box-shadow:2px 0 16px #00000047}.app-shell.drawer-open .app-sidebar{transform:translate(0)}.app-shell.rail .app-sidebar{width:264px}.app-shell.rail .sidebar-brand__word,.app-shell.rail .sidebar-group__label,.app-shell.rail .nav-item__label,.app-shell.rail .sidebar-account__meta,.app-shell.rail .sidebar-collapse-btn__label{display:revert}.app-shell.rail .sidebar-footer{align-items:stretch}.app-shell.rail .sidebar-account{flex-direction:row;justify-content:flex-start}.app-shell.rail .sidebar-footer>div:last-child{flex-direction:row}.app-shell.rail .nav-item{justify-content:flex-start;padding:8px 10px}.sidebar-collapse-btn{display:none}.app-overlay{display:block;position:fixed;inset:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:39}.app-shell.drawer-open .app-overlay{opacity:1;pointer-events:auto}.app-topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;height:52px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--border)}.app-topbar__title{font-size:15px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar__menu{flex-shrink:0;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.app-container{padding:16px 16px 24px}}.responsive-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.responsive-2col{grid-template-columns:1fr}}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.dash-grid>.dash-span-2{grid-column:1 / -1}@media (max-width: 900px){.dash-grid{grid-template-columns:1fr}.dash-grid>.dash-span-2{grid-column:auto}}.ud-2col{grid-template-columns:minmax(280px,1fr) minmax(420px,2fr)}.ud-actionrow{grid-template-columns:minmax(0,1fr) 160px}.ud-promorow{grid-template-columns:minmax(0,1fr) 140px 160px}@media (max-width: 900px){.ud-2col{grid-template-columns:1fr}}@media (max-width: 560px){.ud-actionrow,.ud-promorow{grid-template-columns:1fr}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-shell{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal-panel{background:var(--surface);border-radius:14px;padding:24px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto}@media (max-width: 600px){.modal-shell{align-items:flex-end;padding:0}.modal-panel{max-width:100%;width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;max-height:92vh}}@media (pointer: coarse){.touch-target{min-height:40px}}@media (prefers-reduced-motion: reduce){.app-sidebar,.app-overlay,.nav-item{transition:none!important}}
