:root{--ink:#15312e;--muted:#75827d;--green:#187c62;--mint:#ddf3e8;--line:#e4eae5;--paper:#f6f8f5;--white:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;transition:background .15s,transform .15s}button:disabled{cursor:wait;opacity:.55}button:hover:not(:disabled){filter:brightness(.96)}button:focus-visible,a:focus-visible{outline:3px solid #65b99c;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #75bea7;outline-offset:1px}input,select,textarea{width:100%;border:1px solid #d9e1dc;border-radius:8px;background:#fff;color:var(--ink);padding:12px;min-height:44px}textarea{resize:vertical;line-height:1.6}label{display:block;font-size:13px;font-weight:600}label input,label select,label textarea{margin-top:8px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;font-weight:550;letter-spacing:-1.1px;line-height:1.2}h2{font-size:20px;font-weight:600;letter-spacing:-.4px}h3{font-size:17px}p{font-size:14px;line-height:1.65;color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:13px}.primary,.secondary,.ai-action{border-radius:8px;padding:11px 17px;font-size:13px;font-weight:600;min-height:42px}.primary{background:var(--green);color:white}.secondary{border:1px solid var(--line);background:white;color:var(--ink)}.ai-action{background:var(--mint);color:#17634e}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:9px;font-size:37px;font-weight:700;letter-spacing:-1.8px;position:relative}.brand>span:last-child{font-size:26px;font-weight:600;letter-spacing:-1px;line-height:1}.brand-dot{font-size:8px;margin-left:-11px;margin-top:20px;color:#8ce8b8}.brand-sub{display:block;font-size:7px!important;letter-spacing:2.7px!important;margin-top:7px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#173e35;color:#e8f6e9;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;bottom:-400px;left:-400px;width:1000px;height:1000px;pointer-events:none;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 80px #ffffff03,0 0 0 160px #ffffff03}.login-story>div{margin-top:60px;z-index:1}.login-story h1{font-size:43px;line-height:1.15;letter-spacing:-1.6px}.login-story p{color:#b6cfc2}.login-story small{font-size:11px;color:#91b2a3}.orbit{height:190px;position:relative;display:flex;align-items:center;justify-content:center;margin-top:30px}.orbit>span{border-radius:50%;width:104px;height:104px;background:#cef1cf;color:#214c39;display:grid;place-items:center;font-size:25px;letter-spacing:-1px;box-shadow:0 0 0 28px #9de5b410,0 0 0 60px #9de5b407}.orbit i{position:absolute;width:11px;height:11px;background:#99cda8;border-radius:50%;left:22%;top:30%}.orbit i:nth-of-type(2){left:76%;top:60%;width:16px;height:16px}.orbit i:nth-of-type(3){left:40%;top:94%;width:7px;height:7px}.login-side{display:grid;place-items:center;padding:40px}.login-form{max-width:360px;width:100%}.login-form label{margin:24px 0 0}.login-form h2{font-size:28px;margin-bottom:10px}.login-form .primary{width:100%;display:flex;justify-content:space-between;margin-top:20px;padding:14px 18px}.small-mark{font-size:38px;margin-bottom:30px;font-weight:700}.small-mark span{font-size:9px;color:var(--green)}.fine-print{font-size:11px;margin-top:17px;line-height:1.65}.error{color:#ac3e32;font-size:13px;min-height:20px;margin-bottom:0}.workspace{display:flex;min-height:100vh}.sidebar{width:226px;flex-shrink:0;padding:34px 24px 20px;background:#193c33;color:#d4e7dc;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{margin-bottom:48px}.nav-label{font-size:9px;color:#83a394;letter-spacing:1.8px;margin:0 0 14px 8px;font-weight:700}.sidebar nav .nav-label{margin-top:32px}.nav-item{background:none;border:0;text-align:left;width:100%;padding:13px 11px;color:#b0cabd;border-radius:7px;display:flex;gap:12px;align-items:center;font-size:12px;margin-bottom:5px}.nav-item>span{font-size:19px;width:18px}.nav-item.active{background:#2c5143;color:#ddf7dd}.sidebar-bottom{margin-top:auto;border-top:1px solid #365347;padding-top:21px;display:flex;flex-direction:column;gap:10px}.role-badge{font-size:8px;letter-spacing:1.5px;color:#a8d6b6}.sidebar-bottom strong{font-size:13px}.logout{background:none;padding:0;text-align:left;color:#99b9a6;font-size:11px;margin-top:6px}.main{flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#ffffff80}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 10px;color:#bdc8bf}.breadcrumb strong{color:#475c51;font-weight:500}.private-label{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px}.dot{width:6px;height:6px;background:#4c9b75;border-radius:50%;display:inline-block}.content{max-width:1360px;padding:38px 40px;min-height:calc(100vh - 125px);margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading h1{font-size:28px;margin-bottom:10px}.page-heading p:last-child{font-size:12px;margin-bottom:0}.badge{display:inline-flex;align-items:center;gap:5px;background:#f0f3ed;border:1px solid #e6ece2;border-radius:20px;padding:5px 9px;font-size:9px;letter-spacing:.2px;color:#68786b;white-space:nowrap}.badge.good{background:#e9f7ed;color:#287650;border-color:#d9eddf}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:35px}.stats article{background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px}.stats span{font-size:11px;color:#718076;display:block}.stats strong{font-size:36px;font-weight:550;letter-spacing:-1px;display:block;margin:15px 0 9px}.stats small{font-size:10px;color:#91a092}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 20px}.section-heading h2{font-size:17px;margin-bottom:6px}.section-heading p{font-size:11px;margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.account-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:21px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.account-icon{background:#edf5ea;border:1px solid #dcebd8;color:#56875f;border-radius:10px;width:39px;height:39px;display:grid;place-items:center;font-size:23px}.account-name{margin:0 0 6px}.account-id{font-size:11px;margin-bottom:22px}.card-detail{display:flex;justify-content:space-between;font-size:11px;margin-bottom:13px;color:var(--muted)}.card-detail strong{font-size:10px;color:#415d48;font-weight:500}.card-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:17px;margin-top:19px}.card-actions button{flex:1;padding:8px 9px;font-size:10px;min-height:36px}.note{display:flex;gap:13px;padding:17px 19px;background:#edf2e8;border-radius:9px;margin-top:27px;color:#6f8e57}.note p{font-size:11px;margin:0;color:#6f7c67}.surface{background:white;border:1px solid var(--line);border-radius:11px;padding:25px;margin-bottom:18px}.surface>p{font-size:12px}.surface>label{margin-bottom:20px}.form-grid{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid h3{grid-column:1/-1;margin:0}.form-grid button{justify-self:start}.empty{text-align:center;padding:35px 12px;color:#8b998e;font-size:12px}.conversation-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.conversation h2,.chat-list h2{font-size:15px}.chat-item{width:100%;padding:14px 8px;background:white;text-align:left;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--ink);overflow-wrap:anywhere}.chat-item small{color:var(--muted);font-size:10px}.messages{max-height:600px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding-top:12px}.bubble{padding:12px 15px;background:#f0f3ee;border-radius:11px;max-width:88%;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;align-self:flex-start}.bubble.assistant{background:#e7f4e9;align-self:flex-end}.bubble small{display:block;font-size:9px;color:#82917e;margin-bottom:6px}.preview-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preview-layout h2{margin-top:25px}.preview-layout label{margin:25px 0 17px}.reply-preview{background:#ecf7ec;padding:20px;border-radius:12px;white-space:pre-wrap;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.user-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:22px}.user-form fieldset{grid-column:1/-1}.user-form button{justify-self:start}.checkboxes{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.checkboxes label{display:flex;align-items:center;gap:7px;font-weight:400;font-size:12px}.checkboxes input{width:16px;min-height:16px;height:16px;margin:0;accent-color:var(--green)}fieldset{border:1px solid var(--line);border-radius:8px;padding:13px}legend{font-size:11px;color:var(--muted)}.user-list{display:flex;flex-direction:column;gap:18px}.user-row{border:1px solid var(--line);border-radius:9px;padding:18px}.user-row h3{margin-bottom:7px}.user-row .button-row{align-items:center}.user-row input[type=password]{max-width:260px}.user-meta{font-size:11px;color:var(--muted);margin-bottom:15px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left}th{font-size:10px;color:var(--muted);font-weight:500}td{overflow-wrap:anywhere}.qr{display:table;background:#000;color:#fff;font-size:10px;line-height:1;font-family:monospace;padding:20px;white-space:pre;max-width:100%;overflow:auto}.toast{position:fixed;bottom:25px;right:25px;z-index:10;max-width:440px;background:#173e35;color:white;border-radius:10px;padding:15px 20px;box-shadow:0 8px 40px #16382c30;font-size:13px}.toast.danger{background:#8b3e34}footer{font-size:9px;color:#89988d;padding:14px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between}footer span{color:#a2ada5}@media(min-width:1500px){.content{padding-top:50px}.page-heading h1{font-size:32px}}@media(max-width:1050px){.sidebar{width:195px;padding:25px 16px}.content{padding:28px 24px}.topbar{padding:0 24px}.preview-layout{grid-template-columns:1fr}.user-form{grid-template-columns:1fr 1fr}.conversation-layout{grid-template-columns:210px minmax(0,1fr)}.login-story{padding:36px}.login-story h1{font-size:34px}}@media(max-width:740px){.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-side{min-height:100vh;padding:28px}.workspace{display:block}.sidebar{position:relative;width:100%;height:auto;padding:17px 20px}.sidebar .brand{margin:0;font-size:28px}.sidebar .brand>span:last-child{font-size:23px}.sidebar>.nav-label{display:none}.sidebar nav{display:flex;gap:7px;overflow:auto;margin-top:18px}.nav-item{width:auto;white-space:nowrap;font-size:11px;padding:9px}.nav-item span{display:none}.sidebar nav .nav-label{display:none}.sidebar-bottom{position:absolute;right:20px;top:15px;margin:0;border:0;padding:0;gap:5px;text-align:right}.sidebar-bottom strong{font-size:11px}.role-badge{font-size:7px}.logout{text-align:right;font-size:10px;margin:0}.content{padding:25px 18px}.topbar{height:55px;padding:0 18px}.page-heading h1{font-size:24px}.page-heading{align-items:flex-start}.page-heading .secondary{padding:8px;font-size:10px}.private-label{display:none}.stats{gap:8px}.stats article{padding:15px 11px}.stats strong{font-size:29px}.stats span{font-size:9px}.stats small{font-size:8px}.section-heading{align-items:flex-start}.section-heading .primary{font-size:10px;padding:9px}.cards{grid-template-columns:1fr}.surface{padding:19px}.conversation-layout{grid-template-columns:1fr}.chat-list{max-height:230px;overflow:auto}.user-form{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.user-form fieldset{grid-column:auto}.button-row button{font-size:11px}footer{padding:15px 18px}footer span{display:none}.toast{left:18px;right:18px;bottom:18px}.qr{font-size:8px}}
.connect-dialog{border:1px solid var(--line);border-radius:16px;padding:28px;max-width:510px;width:calc(100% - 32px);max-height:90vh;overflow:auto;color:var(--ink);background:#fff;box-shadow:0 20px 100px #15312e40}.connect-dialog::backdrop{background:#102b2499;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-heading h2{font-size:23px;margin-bottom:14px}.dialog-heading .eyebrow{margin-bottom:8px}.dialog-close{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;flex-shrink:0;background:var(--paper);color:var(--ink);font-size:22px}.pairing-steps{font-size:12px;line-height:2.1;padding-left:20px;margin:18px 0;color:#566d5c}.pairing-visual{border:1px dashed #cbdccf;border-radius:12px;background:#f9fcf7;padding:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-height:160px;margin-bottom:18px}.pairing-visual p{font-size:12px;text-align:center;margin:0}.pairing-visual canvas{max-width:100%;height:auto;image-rendering:pixelated}.connect-dialog>.primary{width:100%}.connect-dialog>.fine-print{font-size:10px;margin-bottom:0}.user-form>.fine-print{grid-column:1/-1;margin:0}@media(max-width:740px){.connect-dialog{padding:20px}.dialog-heading h2{font-size:20px}}

.manage-action{width:100%;margin-top:10px;font-size:11px;text-align:left;background:#f8faf6}.connection-error{color:#a34535}
.dashboard-connection{display:flex;justify-content:flex-end;margin:22px 0}.dashboard-connection.disconnected{justify-content:center;align-items:center;min-height:calc(100vh - 230px);margin:0}.dashboard-connection.disconnected>.primary{min-width:260px;min-height:110px;font-size:30px;border-radius:18px;box-shadow:0 14px 50px #187c6220}.dashboard-connection>.primary{min-width:130px}.stats small{line-height:1.6}@media(max-width:740px){.dashboard-connection.disconnected{min-height:calc(100vh - 290px)}.dashboard-connection.disconnected>.primary{min-width:220px;min-height:95px;font-size:27px}}

/* Penyempurnaan shell dan halaman perangkat; panel Knowledge Base dan Uji Balasan tetap. */
body{background:#f3f4f6}.sidebar{background:#18242f;color:#e2e8f0}.sidebar .nav-item{color:#aebdcc}.sidebar .nav-item.active{background:#2a3d4d;color:#fff}.sidebar .nav-label{color:#8496a8}.sidebar-bottom{border-color:#344351}.topbar{background:#fff}.card-secondary-actions{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.card-secondary-actions button{font-size:11px;padding:8px 12px}.delete-action{color:#b54141;border-color:#f0d7d7}.device-picker{max-width:320px;margin-bottom:20px}.device-picker select{font-size:12px}.conversation{display:flex;flex-direction:column;min-height:520px}.conversation .messages{flex:1;min-height:260px}.message-form{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.message-form label{font-size:12px}.compose-row{display:flex;align-items:flex-end;gap:10px;margin-top:8px}.compose-row textarea{flex:1;min-width:0}.compose-row button{flex-shrink:0}.message-form .fine-print{margin:8px 0 0}.followup-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:20px 0}.followup-row>div:first-child{min-width:0;flex:1}.followup-row h3{font-size:14px;margin-bottom:8px}.followup-row p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:100px;overflow:auto;margin-bottom:6px}.followup-row small{font-size:10px;color:var(--muted)}.followup-row .button-row{margin:0;flex-shrink:0}#dashboard-devices{margin-top:24px}@media(max-width:740px){.followup-row{align-items:flex-start;flex-direction:column;gap:10px}.compose-row{align-items:stretch;flex-direction:column}.compose-row button{align-self:flex-end}.conversation{min-height:440px}.sidebar nav{padding-bottom:4px}}

.reset-session{width:100%;margin-top:10px}
