/* Template Redisoft 1.0.0 · extracted UI primitives from Appensal. MIT. */


*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}
.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.side{position:sticky;top:0;height:100vh;background:var(--navy);color:var(--card);padding:32px 24px;display:flex;flex-direction:column}.brand{font-size:23px;font-weight:800;letter-spacing:-.7px}.brand-logo{display:block;width:180px;max-width:100%;height:auto}.mark{display:inline-grid;place-items:center;width:36px;height:36px;margin-right:10px;border-radius:11px;background:var(--lime);color:var(--navy)}.nav{margin-top:48px}.nav a{display:block;padding:12px 14px;margin:5px 0;border-radius:10px;color:var(--sidebar-text);text-decoration:none}.nav a.active{background:var(--green);color:var(--card)}.workspace{min-width:0}.topbar{height:72px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 44px;position:sticky;top:0;z-index:20}.account{display:flex;align-items:center;gap:14px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--green);font-weight:800}.account-meta{line-height:1.25;text-align:right}.account-meta strong{display:block}.logout{padding:9px 14px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none;font-weight:650}.main{padding:38px 44px;max-width:1400px;width:100%}h1{font-size:34px;letter-spacing:-1.2px;margin:0}h2{font-size:18px;margin:0}.sub{color:var(--muted);margin:8px 0 30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat,.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 4px 22px #002b5c0a}.num{font-size:34px;font-weight:750;margin-top:10px}.label{color:var(--muted);font-size:13px}.card{margin-top:20px;padding:0;overflow:hidden}.cardhead{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 22px;border-bottom:1px solid #e5edf6}th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}td{font-size:14px}.pill{display:inline-block;background:var(--accent-soft);color:var(--ink);padding:5px 9px;border-radius:20px;font-size:12px}.empty{padding:34px;color:var(--muted);text-align:center}
.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.hero{background:var(--navy);color:var(--card);padding:70px;display:flex;flex-direction:column;justify-content:space-between}.hero h1{font-size:58px;max-width:650px;line-height:1.03}.hero p{color:#c6d7e9;max-width:520px;font-size:18px;line-height:1.6}.loginbox{display:grid;place-items:center;padding:40px}.panel{width:min(430px,100%);background:var(--card);padding:42px;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 60px #002b5c18}.panel h2{font-size:28px}.google{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;font-weight:650}.fine{font-size:12px;color:var(--muted);line-height:1.5;margin-top:22px}.error{background:#fff0ed;color:#992c1f;border-radius:10px;padding:12px;margin-top:18px}@media(max-width:800px){.shell{grid-template-columns:1fr}.side{display:none}.topbar{height:64px;padding:0 18px}.account-meta{display:none}.main{padding:25px 18px}.grid{grid-template-columns:1fr}.login{grid-template-columns:1fr}.hero{display:none}}
.shell{grid-template-columns:var(--sidebar-width,250px) 1fr;transition:grid-template-columns .2s ease}.side{overflow:visible;transition:padding .2s ease}.brand{display:flex;align-items:center;white-space:nowrap;overflow:hidden}.brand .mark{display:none}.nav{overflow:hidden}.nav a{display:flex;align-items:center;gap:13px;white-space:nowrap}.nav-icon{width:20px;flex:0 0 20px;text-align:center;font-size:17px}.shell.collapsed{grid-template-columns:82px 1fr}.shell.resizing{transition:none;cursor:col-resize;user-select:none}.shell.collapsed .side{padding-left:13px;padding-right:13px}.shell.collapsed .brand-text,.shell.collapsed .nav-label{display:none}.shell.collapsed .mark{display:grid;margin-right:0}.shell.collapsed .nav a{justify-content:center;padding-left:8px;padding-right:8px}.side-toggle,.menu-toggle{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);font-size:22px;cursor:pointer}.side-toggle{position:absolute;right:-18px;top:92px;z-index:46;box-shadow:0 4px 14px #0002}.resize-handle{position:absolute;right:-5px;top:0;width:10px;height:100%;z-index:45;cursor:col-resize}.resize-handle:hover,.shell.resizing .resize-handle{background:var(--focus-soft)}.menu-toggle{display:none;border-radius:10px}.account{margin-left:auto}@media(max-width:800px){.shell.collapsed{grid-template-columns:1fr}.side{position:fixed;z-index:40;width:250px;box-shadow:12px 0 35px #0004}.side-toggle,.resize-handle{display:none}.menu-toggle{display:grid}.shell.mobile-open .side{display:flex}.shell.mobile-open .brand-text,.shell.mobile-open .nav-label{display:inline}.shell.mobile-open .nav a{justify-content:flex-start}.shell.mobile-open .mark{display:none}.shell.mobile-open .mark{margin-right:10px}}
.workflow-list{display:grid;gap:14px}.workflow-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 5px 18px #002b5c0a;display:grid;grid-template-columns:44px minmax(210px,1fr) minmax(190px,.75fr) minmax(280px,1.4fr);gap:18px;align-items:start}.workflow-card.dragging{opacity:.45;border-color:var(--green)}.drag-grip{cursor:grab;color:#8ba0b7;font-size:24px;padding-top:8px;text-align:center}.type-fields{display:grid;grid-template-columns:54px 1fr;gap:8px}.modern-input,.modern-select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:11px 12px;font:inherit}.modern-input:focus,.modern-select:focus{outline:2px solid var(--focus-soft);border-color:var(--green)}.section-label{display:block;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.08em;margin:0 0 8px}.transition-chips{display:flex;gap:7px;flex-wrap:wrap}.transition-chip input{position:absolute;opacity:0;pointer-events:none}.transition-chip span{display:block;padding:7px 10px;border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:12px;cursor:pointer;background:var(--cream)}.transition-chip input:checked+span{background:var(--accent-soft);border-color:var(--line);color:var(--ink);font-weight:700}.switches{grid-column:2/-1;display:flex;gap:18px;flex-wrap:wrap;padding-top:2px}.switch{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.switch input{appearance:none;width:38px;height:22px;border-radius:20px;background:#ccd8e5;position:relative;cursor:pointer;transition:.2s}.switch input:after{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:var(--card);border-radius:50%;transition:.2s;box-shadow:0 1px 3px #0003}.switch input:checked{background:var(--green)}.switch input:checked:after{transform:translateX(16px)}.workflow-actions{position:sticky;bottom:16px;display:flex;justify-content:flex-end;padding:16px;margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 30px #002b5c18;z-index:10}.primary-btn{padding:12px 20px;background:var(--green);color:var(--card);border:0;border-radius:10px;font-weight:750;cursor:pointer}.create-card{padding:22px;margin-top:22px}.create-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-top:16px}@media(max-width:1050px){.workflow-card{grid-template-columns:36px 1fr 1fr}.workflow-transitions{grid-column:2/-1}}@media(max-width:700px){.workflow-card{grid-template-columns:30px 1fr}.workflow-class,.workflow-transitions,.switches{grid-column:2}.type-fields{grid-template-columns:48px 1fr}.create-form{grid-template-columns:1fr}.workflow-actions .primary-btn{width:100%}}


.license-card{margin-bottom:24px;overflow:hidden}.license-heading{padding:26px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.license-heading h2{margin:0 0 10px}.license-badges{display:flex;gap:8px;align-items:center}.license-badge{display:inline-flex;padding:5px 11px;border-radius:20px;font-size:12px;font-weight:700;background:#edf3fc;color:var(--navy)}.license-badge.active{background:#e7f5ee;color:#176044}.license-badge.suspended{background:var(--accent-soft);color:#a43c00}.license-badge.cancelled{background:#fcecec;color:#a52b35}.license-edit{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.license-edit label{width:145px}.license-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 26px 26px}.license-metric{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.license-metric strong{display:block;font-size:25px;margin:8px 0}.license-metric small{font-size:13px;color:var(--muted)}.license-meter{height:6px;background:#e0e9f5;border-radius:10px;overflow:hidden;margin-top:14px}.license-meter span{display:block;height:100%;background:var(--green);border-radius:10px}.license-section{padding:24px 26px;border-top:1px solid var(--line)}.license-section h3{margin:0 0 6px;font-size:17px}.license-section p{color:var(--muted);font-size:14px;margin:0 0 18px}.license-table{overflow-x:auto;margin-top:18px}.license-table table{min-width:650px}.license-table th{background:var(--cream)}.license-table td,.license-table th{padding:14px}.license-table code{font-size:12px;color:var(--muted)}.license-users{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.license-user{padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:13px;overflow-wrap:anywhere}.license-access{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) auto;align-items:end;gap:12px;max-width:800px}.license-access button,.license-edit button{min-height:44px}@media(max-width:700px){.license-metrics,.license-access{grid-template-columns:1fr}.license-heading,.license-section{padding:20px}.license-metrics{padding:0 20px 20px}.license-edit{width:100%}.license-edit label{flex:1;min-width:110px}.license-edit button{width:100%}}
.security-action{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.danger-btn{padding:11px 16px;border:1px solid #d94b55;border-radius:10px;background:var(--card);color:#a52b35;font-weight:750;cursor:pointer}.secret-panel{max-width:820px;margin:40px auto;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 16px 55px #002b5c18}.secret-value{display:flex;align-items:center;gap:10px;margin:20px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff7f1}.secret-value code{overflow-wrap:anywhere;word-break:break-all;flex:1}.secret-value button{flex:0 0 auto}.warning{padding:14px;border-radius:12px;background:#fff0ed;color:#8c2d22;line-height:1.5}


.rds-feedback{padding:16px;margin:18px 0;border-radius:14px;background:#eaf2fb;color:var(--ink)}
.rds-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #d8e3f0;border-radius:24px;padding:32px;color:var(--ink);background:var(--card);box-shadow:0 24px 90px #052b5938;font-family:inherit}
.rds-dialog::backdrop{background:#001b3f99;backdrop-filter:blur(5px)}
.rds-dialog .rds-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#e8f2ff;color:#185b9d;margin-bottom:20px}
.rds-dialog[data-kind=success] .rds-icon{background:#e8f6ef;color:#19744b}
.rds-dialog[data-kind=error] .rds-icon,.rds-dialog[data-kind=confirm] .rds-icon{background:#fff0e9;color:#c43e0a}
.rds-dialog h2{font-size:24px;line-height:1.25;margin:0 0 12px;letter-spacing:-.4px}
.rds-dialog p{color:#506984;font-size:16px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 26px}
.rds-dialog .rds-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.rds-dialog button{min-height:46px;padding:12px 22px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer;border:1px solid #cbd9e9;background:var(--card);color:var(--ink)}
.rds-dialog .rds-accept{background:var(--ink);color:var(--card);border-color:var(--ink)}
.rds-dialog[data-kind=confirm] .rds-accept{background:#c43e0a;border-color:#c43e0a}
.rds-dialog button:focus-visible{outline:3px solid #ff8b45;outline-offset:3px}
@media(max-width:480px){.rds-dialog{padding:24px}.rds-dialog .rds-actions button{flex:1}}
