@font-face{font-family:Catamaran;src:url('/static/catamaran-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--bg:#f4f7fa;--surface:#fff;--glass:linear-gradient(145deg,#ffffffef,#eef4fbc9);--text:#26374c;--heading:#142945;--muted:#62768f;--border:#dae4ef;--brand:#1c4293;--blue:#eaf1fc;--hover:#f0f5fb;--input:#f7f9fc;--shadow:0 8px 28px #24457509;--warn:#fff4d9;--warn-text:#785415;--green:#e2f4eb;--green-text:#207047}
:root[data-theme=dark]{color-scheme:dark;--bg:#061a30;--surface:#10233b;--glass:linear-gradient(145deg,#18334bd9,#10223bdd);--text:#a9bcd6;--heading:#e8eef7;--muted:#8ca3be;--border:#28435f;--brand:#8cb6ff;--blue:#142d4e;--hover:#18334f;--input:#0b2038;--shadow:0 8px 28px #020b1730;--warn:#3c321d;--warn-text:#f3d185;--green:#163b33;--green-text:#8cdbb4}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Catamaran,sans-serif}h1,h2,h3,h4{color:var(--heading);line-height:1.2}h1{font-size:36px;letter-spacing:-1px;margin:0 0 8px}h2{font-size:24px;margin:0 0 16px}h3{font-size:18px;margin:0 0 12px}p{margin:0 0 12px}button,input,textarea,select{font:inherit}button,a,summary,select{cursor:pointer}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button:disabled{cursor:wait;opacity:.55}input,textarea,select{width:100%;background:var(--input);color:var(--heading);border:1px solid var(--border);border-radius:7px;padding:9px 12px;min-height:42px;font-size:16px}input:focus,textarea:focus,select:focus{outline:2px solid #6f9fed;outline-offset:1px}textarea{resize:vertical;min-height:100px;line-height:1.5}label{display:block;color:var(--muted);font-size:14px;font-weight:650}label input,label textarea,label select{margin-top:6px}small,.small{font-size:14px}.muted{color:var(--muted)}.subtitle{color:var(--muted);font-size:18px}.eyebrow{font-size:14px;color:var(--brand);font-weight:700;margin:0 0 6px}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100dvh;padding:32px 20px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:36px}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:700;color:var(--heading);line-height:1.15}.brand small{display:block;font-weight:400;font-size:14px;margin-top:6px;color:var(--muted)}.brand-mark{width:42px;height:42px;border-radius:12px;background:#1c4293;color:white;display:grid;place-items:center;font-size:26px;font-weight:700;flex-shrink:0}.sidebar nav{display:grid;gap:8px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:9px;color:var(--muted);font-weight:600}.sidebar nav a.active{background:var(--blue);color:var(--brand)}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.model-badge{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:12px}.status-dot{width:7px;height:7px;background:#3b9a72;border-radius:50%}#app{max-width:1560px;width:100%;padding:40px 42px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 16px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--heading);font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s}.button:hover{background:var(--hover);border-color:#759cd3;text-decoration:none}.button.primary{background:#1c4293;border-color:#1c4293;color:white}.button.primary:hover{background:#2857b4}.button.subtle{background:transparent}.button.danger{color:#ba4d4d}.icon-button{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);width:32px;height:32px;font-size:24px;line-height:1}.card{background:var(--glass);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow);transition:border-color .25s,box-shadow .25s}.card:hover{border-color:#709bd266;box-shadow:0 8px 30px #21477910}.card+.card{margin-top:20px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px}.stats .card+.card{margin-top:0}.stat-number{font-size:30px;font-weight:700;color:var(--heading);line-height:1.25}.stat-label{font-size:14px;color:var(--muted)}.searchbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.searchbar input{max-width:420px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:16px}th{text-align:left;background:var(--blue);font-size:14px;font-weight:700;white-space:nowrap;color:var(--muted);padding:12px 16px}td{padding:16px;border-bottom:1px solid var(--border)}tbody tr:hover{background:var(--hover)}.badge{display:inline-flex;padding:3px 9px;border-radius:6px;background:var(--blue);color:var(--brand);font-size:14px;white-space:nowrap}.badge.success{background:var(--green);color:var(--green-text)}.badge.warning{background:var(--warn);color:var(--warn-text)}.empty{padding:60px 20px;text-align:center}.empty h2{font-size:26px;margin:14px 0}.empty p{max-width:490px;margin:0 auto 22px}.empty-icon{font-size:44px;color:var(--brand)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:span 2}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.editor-main{min-width:0}.editor-aside{position:sticky;top:24px}.stepbar{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}.stepbar a{font-size:14px;color:var(--muted);padding:7px 12px;border:1px solid var(--border);border-radius:7px}.stepbar a:hover{background:var(--blue)}.notice{border-radius:12px;background:var(--warn);color:var(--warn-text);padding:15px 17px;font-size:14px;margin:16px 0}.notice p{margin:6px 0 0}.notice ul{padding-left:20px;margin:7px 0}.success-box{background:var(--green);color:var(--green-text);border-radius:12px;padding:15px;margin:15px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title h2,.section-title h3{margin:0}.plan{border:1px solid var(--border);border-radius:12px;padding:18px;margin-top:18px;background:var(--surface)}.service{border-top:1px solid var(--border);padding:20px 0 4px;margin-top:16px}.service textarea{min-height:85px}.service-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.service-head input{font-weight:600}.money-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:12px;margin-top:14px}.totals{margin-top:16px;background:var(--blue);border-radius:10px;padding:14px}.totals p{margin:0 0 4px}.connection{display:flex;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--border)}.connection:last-child{border:0}.connection .dot{width:10px;height:10px;border-radius:50%;background:#dba54c;margin-top:7px;flex-shrink:0}.connection.ok .dot{background:#3b9a72}.connection strong{display:block;color:var(--heading)}.connection p{font-size:14px;color:var(--muted);margin:3px 0 0}.full{width:100%}.vertical{display:grid;gap:10px}.library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.library .card+.card{margin:0}.library .card{display:flex;flex-direction:column}.library p{flex:1}.pill-line{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}details{margin-top:16px}summary{font-size:16px;font-weight:600;color:var(--heading);padding:8px 0}details .form-grid{margin-top:14px}.read-only{opacity:.75}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled input,fieldset:disabled textarea,fieldset:disabled select{opacity:.75}dialog{width:min(840px,94vw);max-height:90dvh;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 100px #00112940}dialog::backdrop{background:#061a3099;backdrop-filter:blur(4px)}dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}dialog header h2{margin:0}dialog iframe{width:100%;height:70dvh;border:1px solid var(--border);border-radius:8px;background:white}.dialog-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.suggestion{border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:14px}.suggestion label{display:flex;gap:10px;align-items:center;color:var(--heading);font-size:16px}.suggestion input[type=checkbox]{width:18px;min-height:18px;margin:0}.suggestion p{white-space:pre-line;margin-top:12px}.thread-button{display:block;width:100%;text-align:left;padding:14px;background:var(--input);border:1px solid var(--border);border-radius:10px;color:var(--text);margin-bottom:10px}.thread-button strong{display:block;color:var(--heading);font-size:16px}.thread-button span{font-size:14px;display:block}.attachment-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;border-bottom:1px solid var(--border);padding:8px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(720px,90vw);padding:14px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 10px 40px #00112933;color:var(--heading);z-index:100;white-space:pre-line}#toast.error{border-color:#d38272;color:#b84932}.loading{padding:60px;text-align:center}.login-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 30% 25%,#cadcf44d,transparent 55%)}.login-card{max-width:490px;width:100%;padding:42px}.login-card .brand-mark{margin-bottom:28px}.login-card h1{font-size:44px}.login-card .subtitle{margin-bottom:30px}.login-card .button{margin-bottom:15px}.source-list{padding-left:20px;font-size:14px}.source-list li{margin:8px 0}.divider{border:0;border-top:1px solid var(--border);margin:24px 0}.check-line{display:flex;align-items:center;gap:8px;margin:14px 0}.check-line input{width:18px;min-height:18px;margin:0}.code-note{font:14px/1.6 Catamaran,sans-serif;white-space:pre-wrap;padding:16px;background:var(--input);border-radius:10px}.break-word{overflow-wrap:anywhere}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#475569;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#64748b}*{scrollbar-width:thin;scrollbar-color:#475569 transparent}section[id]{scroll-margin-top:20px}
@media(max-width:1200px){#app{padding:30px 24px}.editor-grid{grid-template-columns:minmax(0,1fr) 265px}.money-grid{grid-template-columns:1fr 1fr}}
@media(max-width:960px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:24px 12px}.brand small{display:none}.editor-grid{grid-template-columns:1fr}.editor-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px}.editor-aside .card+.card{margin-top:0}.library{grid-template-columns:1fr}.page-head{align-items:flex-start}h1{font-size:30px}}
@media(max-width:680px){.shell{display:block}.sidebar{position:static;height:auto;padding:16px;gap:16px;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:22px}.brand small{display:block}.sidebar nav{display:flex;gap:4px;overflow-x:auto}.sidebar nav a{padding:8px;white-space:nowrap;font-size:14px}.sidebar-bottom{display:flex;gap:8px}.model-badge{margin:0 auto 0 0}.sidebar-bottom .button{padding:5px 9px}.page-head{display:block}.page-head .actions{margin-top:16px}#app{padding:24px 16px}.stats{gap:10px}.stats .card{padding:16px 12px}.stat-number{font-size:25px}.stat-label{font-size:14px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.card{padding:20px}.editor-aside{display:block}.editor-aside .card+.card{margin-top:18px}.section-title{align-items:flex-start}.section-title .actions{justify-content:flex-end}.plan{padding:12px}.money-grid{grid-template-columns:1fr 1fr}.stepbar{gap:6px}.stepbar a{padding:6px 8px}.login-card{padding:28px}}
input,textarea,select{font-weight:400}fieldset+.card{margin-top:20px}
.setup-wrap{max-width:1150px;margin:0 auto;padding:44px 24px}.integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.integration-panel{border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--surface);min-width:0}.integration-panel label{margin-bottom:14px}.integration-panel .section-title{flex-wrap:wrap}.integration-panel .small{margin-top:8px}.integration-panel input[readonly]{font-size:14px}.setup-wrap #google-next{margin-top:24px}.integration-result{margin-bottom:0}@media(max-width:760px){.integration-grid{grid-template-columns:1fr}.setup-wrap{padding:24px 16px}.integration-panel{padding:16px}}
