*{box-sizing:border-box}body{margin:0;background:#000}actor-library{display:block}:host{--bg:#000;--side:#0a0e14;--card:#0b0e11;--text:#fff;--muted:#a4a8af;--line:#262c31;--input:#101417;--accent:#0f766e;--link:#42d7c6;display:block;color:var(--text);font:14px/1.5 'Segoe UI',system-ui,sans-serif}:host([light]){--bg:#f8fafc;--side:#fff;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#dbe2e8;--input:#f1f5f9;--link:#0f766e}.app{background:var(--bg);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:8px;padding:9px 13px}button:hover{border-color:var(--link);background:#0f766e14}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--link);outline-offset:3px}.primary{background:var(--accent);color:white;border-color:var(--accent);font-weight:600}.primary:hover{background:#12867d}.wide{width:100%}aside{position:fixed;inset:0 auto 0 0;width:220px;background:var(--side);border-right:1px solid var(--line);padding:25px 20px;display:flex;flex-direction:column}.logo{font-size:29px;font-weight:800;letter-spacing:1px;margin:0 5px 26px}.workspace{border:1px solid var(--line);border-radius:8px;padding:11px;margin-bottom:16px}.nav-label{font-size:12px;margin:25px 6px 8px}.nav{display:block;width:100%;text-align:left;border:0;margin:4px 0;padding:12px}.nav:hover{background:#0f766e55}.sidebar-bottom{margin-top:auto;color:var(--muted);font-size:12px;white-space:pre-line}.shell{margin-left:220px}header{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 22px;background:var(--side);font-size:13px}.badge{margin-left:auto;color:#f5d57c;border:1px solid #826321;border-radius:6px;padding:4px 10px;font-size:11px}main{display:grid;grid-template-columns:minmax(360px,1fr) minmax(400px,1fr);min-height:calc(100vh - 66px)}.library{padding:28px 24px}.detail{padding:25px;border-left:1px solid var(--line);min-width:0}h1{font-size:30px;line-height:1.2;margin:0 0 8px;letter-spacing:-.6px}h2{font-size:23px;line-height:1.3;margin:0 0 10px}h3{font-size:16px;margin:10px 0}p{margin:8px 0 15px;color:var(--muted)}.metrics{display:inline-block;font-size:12px;border:1px solid var(--line);padding:6px 10px;border-radius:7px;margin:10px 0 23px}input,select,textarea{color:var(--text);background:var(--input);border:1px solid #41474e;border-radius:7px;padding:10px;width:100%;min-width:0}textarea{resize:vertical;line-height:1.5}.notice,small{font-size:12px;color:var(--muted)}.notice{margin:14px 0 22px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{border:1px solid var(--line);background:var(--card);padding:18px 16px;border-radius:12px;min-height:180px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;overflow-wrap:anywhere;white-space:pre-line}.card.selected{border-color:var(--link)}.card p{font-size:12px;flex:1}.pill{display:inline-block;font-size:10px;padding:3px 8px;background:#0f766e28;border-radius:20px;color:var(--link)}.link,a{color:var(--link);font-size:12px}.detail-title{display:flex;gap:14px;justify-content:space-between}.save{align-self:flex-start}.tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);margin:15px 0 24px}.tabs button{border:0;border-radius:0;padding:12px 6px;color:var(--muted)}.tabs button.active{border-bottom:2px solid var(--link);color:var(--text)}.actions,.pager{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pager{margin:20px 0;justify-content:space-between}.field{margin:20px 0}.field label{display:block;margin-bottom:7px;font-size:13px;font-weight:600}.field small{display:block;margin-top:5px}details{border:1px solid var(--line);padding:10px 12px;border-radius:7px;margin:8px 0;font-size:12px}summary{cursor:pointer}.instructions{white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto}.budget{display:flex;align-items:center;gap:20px;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:16px;margin:24px 0}.budget input{width:100px;margin-left:auto}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--input);border:1px solid var(--line);padding:16px;border-radius:8px;font:12px/1.6 Consolas,monospace;max-height:600px;overflow:auto}.error-banner{background:#3b1717;color:#ffb3b3;padding:15px 24px;white-space:pre-wrap}.error-text{color:#ffb3b3}.output-link{display:block;margin:12px 0}[hidden]{display:none!important}@media(max-width:1200px){.cards{grid-template-columns:1fr}aside{width:190px}.shell{margin-left:190px}main{grid-template-columns:minmax(300px,1fr) minmax(360px,1fr)}}@media(max-width:850px){aside{position:relative;width:auto;padding:15px;display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.logo{margin:0 20px 0 0;font-size:23px}.workspace,.sidebar-bottom,.nav-label,aside .wide{display:none}.nav{width:auto;padding:8px;margin:0}.shell{margin:0}main{display:block}.detail{border-left:0;border-top:1px solid var(--line)}.cards{grid-template-columns:1fr 1fr}.library{padding:24px 18px}header{height:auto;min-height:60px;gap:8px;padding:10px 15px}.badge{font-size:10px}}@media(max-width:480px){.cards{grid-template-columns:1fr}.tabs{gap:4px}.detail{padding:22px 16px}header>span:first-child{font-size:11px}}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;margin:15px 0}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);min-width:120px;max-width:280px;overflow-wrap:anywhere}th{background:var(--input)}
td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}

.connection{display:block;max-width:520px;min-height:0;margin:12vh auto;padding:28px;color:#fff;font:16px system-ui;background:#0a0e14;border:1px solid #262c31;border-radius:12px}.connection label{display:block}.connection input{display:block;width:100%;margin:12px 0;background:#101417;color:#fff;border:1px solid #52616c;padding:12px}.connection button{background:#0f766e;color:#fff;padding:12px;border:0;border-radius:6px}

.nested-fields,.repeated-fields{border-left:2px solid var(--line);padding-left:14px;margin:10px 0}.nested-field{margin:14px 0}.nested-field>label{display:block;margin-bottom:6px}.nested-field input[type=checkbox],.field input[type=checkbox]{width:auto;margin-right:8px}

.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px}.pager .page-range{flex-basis:100%}.pager input{width:80px;min-width:0}.pager select{width:76px;min-width:0}.pager button{min-width:36px}

.schema-section{margin:14px 0;padding:12px;border:1px solid var(--ial-border,#262c31);border-radius:8px}.schema-section>summary{font-weight:600;cursor:pointer}.required-marker{color:#f87171}

.ial-calendar-popup{width:308px;max-width:calc(100vw - 16px);padding:15px;border:1px solid #416170;border-radius:12px;background:#17252f;color:#e5f2f7;box-shadow:0 12px 45px #0009;font:13px Inter,"Segoe UI",sans-serif}.ial-calendar-popup::backdrop{background:transparent}.ial-calendar-heading{display:grid;grid-template-columns:26px 26px 1fr 26px 26px;align-items:center;gap:4px;margin-bottom:12px}.ial-calendar-heading strong{text-align:center;font-size:12px}.ial-calendar-popup button{padding:6px;border:1px solid transparent;border-radius:6px;background:transparent;color:#d8eaf0;cursor:pointer}.ial-calendar-popup button:hover{background:#29434b;border-color:#39776e}.ial-calendar-week,.ial-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.ial-calendar-week{font-size:10px;color:#8faebd;margin-bottom:5px}.ial-calendar-days button{height:31px;font-size:12px}.ial-calendar-days [aria-selected=true]{background:#0db9a6;color:#03251f;font-weight:750}.ial-calendar-footer{display:flex;justify-content:space-between;gap:8px;margin-top:12px;border-top:1px solid #34515b;padding-top:10px}.ial-calendar-footer button{color:#67dfcf}.ial-calendar-time{display:flex;align-items:center;gap:7px;padding-top:10px;font-size:11px}.ial-calendar-time select{width:58px;padding:6px;background:#0d1922;color:#dff9f3;border:1px solid #385966;border-radius:5px}
