:root{--ink:#162939;--muted:#647684;--line:#dfe6e9;--paper:#f4f7f8;--blue:#085a71;--nav:#102f3d;--mint:#bde7d6;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.9 Tahoma,Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{background:var(--blue);color:white;border:1px solid transparent;border-radius:7px;padding:9px 17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.8;font-weight:600}button:hover,.button:hover{filter:brightness(1.08);text-decoration:none}button:disabled{opacity:.4;cursor:not-allowed}.secondary{color:var(--blue);background:white;border-color:#c6d8df}.small{font-size:12px;padding:6px 11px}.text-button,.text-danger{border:0;background:none;padding:2px 5px;color:var(--blue);font-size:12px}.text-danger{color:#a8333a}input,select{background:white;border:1px solid #b7c9d0;border-radius:6px;padding:10px;width:100%;color:var(--ink)}input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #55a6bd;outline-offset:2px}label{display:block;font-weight:500}label input,label select{margin-top:5px}h1{font-size:29px;line-height:1.65;letter-spacing:-.7px;margin:0 0 8px}h2{font-size:18px;line-height:1.7;margin:0 0 12px}h3{font-size:15px;margin:10px 0}p{margin:8px 0 18px}.muted,.hint{color:var(--muted)}.hint,small{font-size:12px}.eyebrow{font:11px/1.5 Arial,sans-serif;letter-spacing:2px;color:var(--blue);margin:0 0 10px}.brand{font:bold 38px/1 Arial,sans-serif;letter-spacing:-2px;color:white;direction:ltr;display:inline-block}.brand span{color:#64d4b9}.brand.dark{color:var(--nav)}.sidebar{position:fixed;top:0;bottom:0;right:0;width:240px;background:var(--nav);color:#b6cbd4;padding:37px 26px;display:flex;flex-direction:column}.sidebar-caption{font-size:12px;margin-top:14px}.sidebar nav{display:flex;flex-direction:column;gap:9px;margin:36px -10px}.sidebar nav a{color:#bdd0d8;padding:12px 13px;border-radius:7px;display:flex;gap:14px;align-items:center}.sidebar nav a span{font-size:20px;width:20px;text-align:center}.sidebar nav a[aria-current]{background:#224957;color:white;border-right:3px solid #64d4b9}.sidebar-bottom{margin-top:auto;font-size:12px}.logout{padding:12px 0;color:#d4e0e4;background:none;font-weight:normal}.status-dot{display:inline-block;width:7px;height:7px;background:#e99d79;border-radius:50%;margin-left:5px}.status-dot.good{background:#6ed7b5}.workspace{margin-right:240px}header{height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.domain{font:12px Arial,sans-serif;color:var(--blue);padding:8px 12px;background:#f0f6f7;border-radius:5px}main{padding:38px 42px;max-width:1500px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.page-title p:last-child{margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.metrics article{border:1px solid var(--line);background:#fff;padding:22px;border-radius:9px;display:flex;flex-direction:column}.metrics article:first-child{border-top:3px solid var(--blue);padding-top:20px}.metrics strong{font:38px/1.7 Arial,sans-serif;direction:ltr;text-align:right}.metrics strong i{font-size:23px;color:#9eafb8;font-style:normal}.metrics span,.metrics small{color:var(--muted)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:23px}.card{background:white;border:1px solid var(--line);border-radius:9px;padding:25px;margin-bottom:23px;min-width:0}.tinted{background:#eaf3f3;border-color:#d6e6e6}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.card-heading h2{margin-bottom:0}.badge{display:inline-block;padding:3px 9px;border-radius:5px;background:#eef1f3;color:#607681;font-size:11px;white-space:nowrap}.badge.completed{background:#e4f4ed;color:#20684c}.badge.failed{background:#fcebec;color:#9a3a43}.badge.queued{background:#fff3d9;color:#866122}.badge.running{background:#e5f2fc;color:#196286}dl{display:grid;grid-template-columns:1fr 1fr;margin:15px 0}dt,dd{padding:10px 0;border-bottom:1px solid #edf0f2;margin:0}dt{color:var(--muted)}dd{text-align:left;font-size:12px}.steps{padding-right:24px;margin-bottom:0}.steps li{padding:7px 8px}.steps span{display:block;font-size:12px;color:var(--muted)}.notice{padding:18px 21px;border:1px solid #c6dfe5;background:#ebf4f7;border-radius:7px;margin-bottom:23px;font-size:13px}.notice.danger{background:#fff0f1;border-color:#eccfd3;color:#943644}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:right;font-size:12px}th{font-weight:500;color:var(--muted);background:#f6f8f9;border-bottom:1px solid var(--line);padding:12px}td{padding:14px 12px;border-bottom:1px solid #ecf0f2;vertical-align:middle}tr:last-child td{border-bottom:0}.block{display:block;color:var(--muted);font-size:11px;margin-top:3px}.empty{text-align:center;color:var(--muted);padding:35px}summary{cursor:pointer;font-size:15px;font-weight:bold;padding:4px 0}details[open]>summary{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.client-form{max-width:850px}.client-form>*,.client-form .form-grid{margin-bottom:18px}fieldset{border:1px solid var(--line);border-radius:6px;padding:14px}legend{padding:0 7px;font-size:12px}.checks{display:flex;flex-wrap:wrap;gap:10px 25px}.checks label{font-size:12px;display:flex;align-items:center;gap:7px}.checks input{width:17px;height:17px;margin:0;accent-color:var(--blue)}.inline-form{display:flex;align-items:end;gap:13px;margin:13px 0}.inline-form input{max-width:130px}.inline-form label{font-size:12px}.client-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px;font-size:12px;margin-bottom:22px}.key-section{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.actions{display:flex;flex-wrap:wrap;gap:6px}.key-reveal code{display:block;overflow-wrap:anywhere;user-select:all;padding:14px;background:white;border:1px dashed var(--blue);margin:10px 0}.key-reveal button{margin-left:15px}.error-cell{max-width:220px;overflow-wrap:anywhere}code,pre{font-family:Consolas,monospace;font-size:12px}pre{direction:ltr;text-align:left;background:#f3f6f7;border:1px solid var(--line);border-radius:6px;padding:22px;overflow:auto;line-height:1.8}footer{display:flex;justify-content:space-between;color:#91a1ab;border-top:1px solid var(--line);padding-top:20px;margin-top:38px;font-size:10px}footer span{font-size:11px}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:640px;width:min(950px,94%);padding:0;margin:8vh auto;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.login-story{padding:65px 42px;background:var(--nav);color:#d1e0e5;position:relative}.login-story .eyebrow{color:#64d4b9;margin-top:68px}.login-story h1{font-size:39px;color:white;margin-bottom:23px}.login-story p:not(.eyebrow){font-size:13px}.login-foot{font-size:11px;margin-top:60px;color:#93b0bd}.login-form{padding:100px 48px 50px;align-self:center}.login-form h2{font-size:24px}.login-form label{margin:21px 0}.login-form button{width:100%;justify-content:space-between;margin:8px 0 20px}.error-box{background:white;max-width:600px;margin:10vh auto;border:1px solid var(--line);border-radius:10px;padding:40px}.error-box h1{margin-top:30px}.error-box .button{margin-left:20px}
@media(max-width:1150px){.metrics{grid-template-columns:repeat(2,1fr)}main{padding:28px}.sidebar{width:210px;padding:30px 22px}.workspace{margin-right:210px}header{padding:0 28px}.two-columns{grid-template-columns:1fr}}@media(max-width:750px){.sidebar{position:static;width:auto;padding:20px}.sidebar .brand{font-size:30px}.sidebar-caption,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;overflow:auto;margin:18px 0 0;gap:5px}.sidebar nav a{font-size:11px;padding:8px;white-space:nowrap}.sidebar nav a span{display:none}.workspace{margin:0}header{height:50px;padding:0 17px;font-size:10px}main{padding:23px 17px}.page-title{align-items:start;flex-direction:column}h1{font-size:24px}.metrics{gap:10px}.metrics article{padding:15px}.metrics article:first-child{padding-top:13px}.metrics span{font-size:11px}.metrics strong{font-size:32px}.card{padding:18px}.form-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr;margin:24px auto;min-height:0}.login-story{padding:30px}.login-story .eyebrow{margin-top:25px}.login-story h1{font-size:28px}.login-foot{display:none}.login-form{padding:35px 30px}.card-heading{align-items:start}.card-heading button{font-size:11px}.domain{font-size:10px}footer span{display:none}}

.quota-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:20px 0}.quota-row progress{grid-column:1/-1;width:100%;height:10px;accent-color:var(--blue)}.quota-row small{grid-column:1/-1}.quota-row span{font-size:12px;color:var(--muted)}

/* API service settings */
.model-policy { margin-top: 1rem; display: grid; gap: .65rem; min-width: 180px; }
.model-efforts { padding-top: 1rem; }
.check-label { display:flex; align-items:center; gap:.5rem; padding:.5rem 0 1rem; }
.check-label input { width:auto; }
.client-form fieldset { margin: 1rem 0; }
.client-form details { margin-top:1rem; }
.error-cell { max-width:260px; overflow-wrap:anywhere; }

/* Image controls inside the existing service settings page. */
.settings-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 23px}
.settings-links a{padding:7px 13px;border:1px solid var(--line);border-radius:6px;background:var(--white);font-size:12px}
#service-capacity,#service-web,#service-images,#chat-images{scroll-margin-top:22px}
.chat-image-settings .card-heading{flex-wrap:wrap;gap:10px}
.chat-image-settings .chat-image-toggle{gap:10px;padding:0 0 12px}
.chat-image-settings input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:var(--blue)}
.chat-image-clients{display:grid;gap:12px}
.chat-image-client{border:1px solid var(--line);border-radius:6px;padding:14px 16px;min-width:0}
.chat-image-client>summary{font-size:14px;overflow-wrap:anywhere}
.chat-image-client>summary .badge{margin-inline-start:10px;vertical-align:middle}
.chat-image-client[open]>summary{margin-bottom:15px}
.chat-image-client fieldset{margin:0;padding:0;border:0;min-width:0}
.chat-image-client legend{padding:0 0 10px;color:var(--muted)}
.chat-image-models{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(235px,100%),1fr));gap:7px 18px}
.chat-image-models label{display:flex;align-items:center;gap:9px;min-height:40px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;min-width:0}
.chat-image-models label:hover{background:var(--paper)}
.chat-image-models label:focus-within{background:var(--paper)}
.chat-image-models bdi{overflow-wrap:anywhere;min-width:0}
.chat-image-client fieldset:disabled label{color:var(--muted);background:var(--paper)}
.chat-image-help{margin:16px 0}
@media(max-width:750px){.chat-image-client{padding:12px}.chat-image-models{grid-template-columns:1fr}.chat-image-settings button[type=submit]{width:100%}.settings-links{gap:7px}}
