:root{color:#f3f7fb;--color-bg:#1f2328;--color-surface:#252b34;--color-surface-raised:#30363d;--color-border:#38414c;--color-text:#f3f7fb;--color-text-secondary:#aeb9c5;--color-text-muted:#71838c;--color-accent:#32d6bf;--color-accent-hover:#42e0ca;--color-accent-pressed:#1fb99f;--color-accent-contrast:#071015;--color-success:#32d6bf;--color-warning:#ffb556;--color-danger:#ff5f73;--color-disabled:#52626b;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-control:8px;--radius-card:12px;background:#1f2328;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#1f2328;margin:0}button,input,select{font:inherit}.login-shell{background:radial-gradient(circle at top,#30363d,#171b20);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#24292f;border:1px solid #3a424d;border-radius:18px;width:min(460px,100%);padding:30px;box-shadow:0 24px 80px #00000059}.login-card b,aside span,header b{color:#32d6bf}.login-card h1,header h1{letter-spacing:0;margin:8px 0;font-size:38px}.login-card p,.muted,.panel p{color:#aeb9c5}.login-card label,.panel label{color:#cbd6e2;gap:8px;margin-top:14px;font-weight:750;display:grid}input,select{color:#fff;background:#171d24;border:1px solid #3d4652;border-radius:10px;outline:none;width:100%;padding:12px 13px}input:focus,select:focus{border-color:#32d6bf}button{color:#fff;cursor:pointer;background:#252e39;border:1px solid #3b4552;border-radius:10px;padding:10px 13px;font-weight:850}button:disabled{cursor:not-allowed;opacity:.55}.login-card button,.selected{color:#071015;background:linear-gradient(135deg,#1fb99f,#24d06c);border-color:#0000}.notice{color:#f4fffd;background:#1f7a70;border-radius:12px;margin:14px 0;padding:13px 15px;font-weight:800}.notice.danger,.danger-btn{color:#ffd7d7;background:#5a2630}.app-shell{grid-template-columns:270px 1fr;min-height:100vh;display:grid}aside{background:#171b20;border-right:1px solid #323a45;flex-direction:column;gap:10px;height:100vh;padding:20px;display:flex;position:sticky;top:0}aside h2{margin:0 0 16px;font-size:28px}aside button{text-align:left;align-items:center;gap:8px;display:flex}.user-card{background:#20262e;border:1px solid #323a45;border-radius:14px;gap:7px;margin-top:auto;padding:14px;display:grid}.user-card small,.row small,.panel small{color:#aeb9c5}main{min-width:0;padding:22px}header{background:#252b34;border:1px solid #38414c;border-top:3px solid #32d6bf;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}header select{max-width:260px}.metrics{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin:16px 0;display:grid}.metrics article,.panel{background:#252b34;border:1px solid #38414c;border-radius:16px;padding:18px}.metrics article{gap:7px;min-height:112px;display:grid}.metrics svg{color:#32d6bf}.metrics span{color:#aeb9c5}.metrics strong{font-size:28px}.panel-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start;gap:16px;display:grid}.panel.wide{grid-row:span 2}.panel h3{align-items:center;gap:8px;margin:0 0 14px;display:flex}.row{border-top:1px solid #36404c;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.row.two{grid-template-columns:minmax(0,1fr) auto}.row span{gap:4px;min-width:0;display:grid}.row button{padding:8px 10px}.ok{color:#32d6bf}.off{color:#ffb556}.table-list{gap:12px;display:grid}.order-card,.member-editor{background:#1d242d;border:1px solid #394452;border-radius:14px;padding:12px}.order-card .row,.member-editor .row{border-top:0;padding-top:0}.order-card p{margin:0 0 12px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions button{align-items:center;gap:6px;display:inline-flex}.actions select{width:min(220px,100%)}.username-field{grid-template-columns:1fr 48px;align-items:center;gap:8px;display:grid}.username-field span{color:#aeb9c5;background:#171d24;border:1px solid #3d4652;border-radius:10px;place-items:center;min-height:42px;font-weight:900;display:grid}.username-field.available span,small.available{color:#32d6bf;border-color:#32d6bfa6}.username-field.invalid span,.username-field.taken span,small.invalid,small.taken{color:#ffb556;border-color:#ffb556a6}.chip-list{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.chip-list label{background:#1d242d;border:1px solid #3d4652;border-radius:999px;align-items:center;gap:7px;margin:0;padding:8px 10px;display:inline-flex}.chip-list input,.permission-box input{width:auto}.permission-box{gap:10px;margin:14px 0;display:grid}.permission-box>div{background:#1d242d;border:1px solid #394452;border-radius:12px;padding:10px}.permission-box b{margin-bottom:8px;display:block}.permission-box label{align-items:center;gap:7px;width:50%;margin:6px 0;font-weight:650;display:inline-flex}.member-details{border-top:1px solid #394452;padding-top:12px}.integration-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;display:grid}.integration-card{text-align:left;border-width:2px;align-content:start;gap:6px;min-height:130px;display:grid}.integration-card.on{border-color:#32d6bfcc}.integration-card.off{border-color:#ff5f738c}.integration-card span{color:#fff}.integration-card em{color:#ffb556;font-size:12px;font-style:normal}@media (width<=1100px){.metrics,.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell{grid-template-columns:1fr}aside{height:auto;position:static}header{flex-direction:column;align-items:stretch}header select{max-width:none}.metrics,.integration-grid,.row,.row.two{grid-template-columns:1fr}.permission-box label{width:100%}}:root,[data-theme=restoria-dark]{--rui-bg:var(--color-bg);--rui-surface:var(--color-surface);--rui-surface-raised:var(--color-surface-raised);--rui-border:var(--color-border);--rui-text:var(--color-text);--rui-text-secondary:var(--color-text-secondary);--rui-text-muted:var(--color-text-muted);--rui-accent:var(--color-accent);--rui-accent-hover:var(--color-accent-hover);--rui-accent-contrast:var(--color-accent-contrast);--rui-success:var(--color-success);--rui-warning:var(--color-warning);--rui-danger:var(--color-danger);--rui-disabled:var(--color-disabled);--rui-space-1:var(--space-1);--rui-space-2:var(--space-2);--rui-space-3:var(--space-3);--rui-space-4:var(--space-4);--rui-space-5:var(--space-5);--rui-radius-control:var(--radius-control);--rui-radius-card:var(--radius-card);--rui-focus:0 0 0 3px color-mix(in srgb, var(--rui-accent) 32%, transparent)}.rui-button{border:1px solid var(--rui-border);border-radius:var(--rui-radius-control);justify-content:center;align-items:center;gap:var(--rui-space-2);min-height:40px;font:inherit;cursor:pointer;padding:10px 13px;font-weight:650;line-height:1;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.rui-button:focus-visible,.rui-control:focus-visible{box-shadow:var(--rui-focus);outline:none}.rui-button:disabled{opacity:.58;cursor:not-allowed}.rui-button--small{min-height:32px;padding:7px 10px;font-size:12px}.rui-button--large{min-height:48px;padding:13px 16px}.rui-button--icon-only{aspect-ratio:1;padding:0}.rui-button--primary{background:var(--rui-accent);border-color:var(--rui-accent);color:var(--rui-accent-contrast)}.rui-button--primary:not(:disabled):hover{background:var(--rui-accent-hover)}.rui-button--secondary{background:var(--rui-surface-raised);color:var(--rui-text)}.rui-button--secondary:not(:disabled):hover,.rui-button--ghost:not(:disabled):hover{background:var(--rui-surface)}.rui-button--ghost{color:var(--rui-text-secondary);background:0 0;border-color:#0000}.rui-button--danger{color:var(--rui-danger);background:color-mix(in srgb, var(--rui-danger) 12%, var(--rui-surface));border-color:color-mix(in srgb, var(--rui-danger) 45%, var(--rui-border))}.rui-button--success{color:var(--rui-success);background:color-mix(in srgb, var(--rui-success) 12%, var(--rui-surface));border-color:color-mix(in srgb, var(--rui-success) 45%, var(--rui-border))}.rui-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.65s linear infinite rui-spin}@keyframes rui-spin{to{transform:rotate(360deg)}}.rui-card{background:var(--rt-card-bg);color:var(--rui-text);border:1px solid var(--rt-card-border);border-radius:var(--rui-radius-card);padding:var(--rui-space-4)}.rui-card--action{cursor:pointer}.rui-card--info{border-left:3px solid var(--rui-accent)}.rui-card--warning{border-left:3px solid var(--rui-warning)}.rui-card--danger{border-left:3px solid var(--rui-danger)}.rui-card--success{border-left:3px solid var(--rui-success)}.rui-card__header{justify-content:space-between;gap:var(--rui-space-3);display:flex}.rui-card__title{margin:0;font-size:16px}.rui-card__description,.rui-card__content{color:var(--rui-text-secondary)}.rui-card__description{margin:var(--rui-space-1) 0 0}.rui-card__content{margin-top:var(--rui-space-4)}.rui-card__footer{gap:var(--rui-space-2);margin-top:var(--rui-space-4);display:flex}.rui-badge{border:1px solid var(--rui-border);border-radius:999px;align-items:center;width:fit-content;font-size:12px;font-weight:650;line-height:1;display:inline-flex}.rui-badge--small{padding:4px 6px}.rui-badge--medium{padding:5px 8px}.rui-badge--neutral{color:var(--rui-text-secondary)}.rui-badge--inactive{color:var(--rui-text-muted)}.rui-badge--info{color:var(--rui-accent);border-color:color-mix(in srgb, var(--rui-accent) 45%, var(--rui-border))}.rui-badge--success{color:var(--rui-success);border-color:color-mix(in srgb, var(--rui-success) 45%, var(--rui-border))}.rui-badge--warning{color:var(--rui-warning);border-color:color-mix(in srgb, var(--rui-warning) 45%, var(--rui-border))}.rui-badge--danger{color:var(--rui-danger);border-color:color-mix(in srgb, var(--rui-danger) 45%, var(--rui-border))}.rui-field{gap:6px;display:grid}.rui-field__label{color:var(--rui-text);font-size:14px;font-weight:600}.rui-field__label span,.rui-field--error .rui-field__message{color:var(--rui-danger)}.rui-field--success .rui-field__message{color:var(--rui-success)}.rui-field__helper{color:var(--rui-text-muted)}.rui-control{width:100%;min-height:42px;color:var(--rui-text);background:var(--rt-field-bg);border:1px solid var(--rt-field-border);border-radius:var(--rui-radius-control);font:inherit;padding:10px 12px}.rui-control:disabled{color:var(--rui-text-muted);background:var(--rui-surface);cursor:not-allowed}.rui-field--error .rui-control{border-color:var(--rui-danger)}.rui-field--success .rui-control{border-color:var(--rui-success)}.rui-textarea{resize:vertical;min-height:96px}.rui-modal-backdrop{z-index:1000;padding:var(--rui-space-4);background:color-mix(in srgb, var(--rui-bg) 72%, transparent);place-items:center;display:grid;position:fixed;inset:0}.rui-modal{background:var(--rui-surface);border:1px solid var(--rui-border);border-radius:var(--rui-radius-card);width:min(560px,100%);max-height:min(720px,100vh - 32px);color:var(--rui-text);overflow:auto}.rui-modal--danger{border-top:3px solid var(--rui-danger)}.rui-modal--confirmation{border-top:3px solid var(--rui-warning)}.rui-modal__header,.rui-modal__content,.rui-modal__footer{padding:var(--rui-space-4)}.rui-modal__header{justify-content:space-between;gap:var(--rui-space-3);display:flex}.rui-modal__header h2{margin:0;font-size:20px}.rui-modal__header p{margin:var(--rui-space-1) 0 0;color:var(--rui-text-secondary)}.rui-modal__content,.rui-modal__footer{border-top:1px solid var(--rui-border)}.rui-modal__footer{justify-content:flex-end;gap:var(--rui-space-2);display:flex}.rui-table-wrap{border:1px solid var(--rt-table-border);border-radius:var(--rui-radius-card);width:100%;overflow-x:auto}.rui-table{border-collapse:collapse;width:100%;color:var(--rt-table-text)}.rui-table th,.rui-table td{padding:var(--rui-space-3) var(--rui-space-4);border-bottom:1px solid var(--rt-table-border);text-align:left;white-space:nowrap}.rui-table th{color:var(--rt-table-header-text);font-size:12px;font-weight:650}.rui-table tbody tr:hover{background:var(--rt-table-row-hover-bg)}.rui-table__row--selected{background:var(--rt-table-selected-bg)}.rui-table__cell--numeric{text-align:right}.rui-table-wrap--compact th,.rui-table-wrap--compact td{padding:var(--rui-space-2) var(--rui-space-3)}.rui-table__empty{text-align:center;color:var(--rt-table-empty-text);padding:var(--rui-space-5)!important}.rui-empty-state{align-items:flex-start;gap:var(--rui-space-3);padding:var(--rui-space-5);color:var(--rui-text-secondary);text-align:left;display:flex}.rui-empty-state--compact{padding:var(--rui-space-3)}.rui-empty-state h3{color:var(--rui-text);margin:0;font-size:16px}.rui-empty-state p{margin:var(--rui-space-1) 0 0}.rui-empty-state__icon{color:var(--rui-accent)}.rui-empty-state__action{margin-top:var(--rui-space-3)}.rui-skeleton-text{gap:var(--rui-space-2);display:grid}.rui-skeleton-text span,.rui-skeleton-card,.rui-skeleton-table-row span{background:linear-gradient(90deg, var(--rui-surface-raised), var(--rui-surface), var(--rui-surface-raised));background-size:200% 100%;animation:1.5s infinite rui-shimmer}.rui-skeleton-text span{border-radius:4px;height:12px}.rui-skeleton-text span:last-child{width:65%}.rui-skeleton-card{padding:var(--rui-space-4);border:1px solid var(--rui-border);border-radius:var(--rui-radius-card)}.rui-skeleton-table-row{gap:var(--rui-space-3);padding:var(--rui-space-4);grid-template-columns:2fr 1fr 1fr;display:grid}.rui-skeleton-table-row span{border-radius:4px;height:18px}@keyframes rui-shimmer{to{background-position:-200% 0}}.rui-toast-region{z-index:1100;top:var(--rui-space-4);right:var(--rui-space-4);gap:var(--rui-space-2);width:min(380px,100vw - 32px);display:grid;position:fixed}.rui-toast{justify-content:space-between;gap:var(--rui-space-3);padding:var(--rui-space-3);background:var(--rui-surface-raised);border:1px solid var(--rui-border);border-radius:var(--rui-radius-card);color:var(--rui-text);border-left-width:3px;display:flex}.rui-toast p{margin:var(--rui-space-1) 0 0;color:var(--rui-text-secondary)}.rui-toast--success{border-left-color:var(--rui-success)}.rui-toast--error{border-left-color:var(--rui-danger)}.rui-toast--warning{border-left-color:var(--rui-warning)}.rui-toast--info{border-left-color:var(--rui-accent)}
