.product-logo{position:relative;display:inline-block;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:linear-gradient(145deg,#173b78,#2364d8);box-shadow:0 7px 18px #153f9130;overflow:hidden}.product-logo:before,.product-logo:after,.product-logo i,.product-logo b{content:"";position:absolute;display:block}.product-logo:before{width:18px;height:18px;border:3px solid #fff;border-right-color:transparent;border-radius:50%;left:7px;top:7px}.product-logo:after{width:7px;height:7px;background:#ee651f;border-radius:2px;right:6px;top:6px}.product-logo i{width:14px;height:3px;background:#fff;left:12px;top:18px;transform:rotate(-45deg);border-radius:4px}.product-logo b{width:12px;height:3px;background:#fff;left:18px;top:24px;border-radius:4px}.brand .product-logo{margin-right:11px}.login-brand .product-logo{margin-right:10px}.extra-wide-modal{width:min(1180px,96vw);max-height:92vh;overflow:auto}.storage-list{display:grid;gap:13px;max-height:68vh;overflow:auto;padding-right:4px}.storage-group{border:1px solid var(--line);border-radius:12px;overflow:hidden}.storage-group>header{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;background:#f7f9fc}.storage-group h3{margin:0;font-size:13px}.storage-group header span{font-size:9px;color:var(--muted)}.storage-row{display:grid;grid-template-columns:minmax(140px,1.3fr) 110px 1.5fr 110px;gap:15px;align-items:center;padding:13px 16px;border-top:1px solid var(--line)}.storage-row strong,.storage-row small{display:block}.storage-row small{color:var(--muted);margin-top:3px;font-size:9px}.storage-bar{height:8px;background:#e8edf4;border-radius:9px;overflow:hidden;margin-bottom:5px}.storage-bar i{display:block;height:100%;background:#27a879;border-radius:9px}.storage-bar i.warn{background:#e29b2e}.storage-bar i.critical{background:#df4b59}.content-tags{display:flex;gap:5px;flex-wrap:wrap}.content-tags span{font-size:8px;background:#eef3fb;color:#345581;padding:4px 6px;border-radius:5px}.topology-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:8px}.topology-toolbar label{font-size:9px;color:var(--muted);width:150px}.topology-toolbar select,.topology-toolbar input{margin:4px 0 0}.topology-toolbar input{width:180px}.topology-toolbar button{height:37px}.canvas-help{font-size:9px;color:var(--muted)}.topology-canvas{height:530px;position:relative;overflow:hidden;border:1px dashed #b9c5d7;border-radius:13px;background-color:#f9fbfe;background-image:radial-gradient(#cad4e3 1px,transparent 1px);background-size:22px 22px}.topology-canvas svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.topology-node{position:absolute;width:126px;padding:10px;border:1px solid #d7dfeb;background:#fff;border-radius:10px;box-shadow:0 8px 20px #19304e18;cursor:grab;user-select:none}.topology-node.selected{outline:3px solid #f0a047}.topology-node b,.topology-node small{display:block}.topology-node b{font-size:10px;margin-top:5px}.topology-node small{font-size:8px;color:var(--muted)}.topology-node .node-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#eaf1ff;color:#2560c8;font-size:14px}.topology-node .remove-node{position:absolute;right:5px;top:4px;border:0;background:none;color:#a7afbb;cursor:pointer}.proposal-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.proposal-layout h3{margin:0 0 14px}.proposal-form{padding:16px;border:1px solid var(--line);border-radius:12px;background:#f9fafc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .full{grid-column:1/-1}.proposal-form textarea{min-height:65px;resize:vertical}.proposal-items-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 7px}.proposal-items-head h4{margin:0}.proposal-items-head button{border:0;background:#e8f0ff;color:#2458ba;padding:7px 10px;border-radius:6px}.proposal-item{display:grid;grid-template-columns:1fr 1.5fr 60px 100px 105px 28px;gap:6px;margin-bottom:7px}.proposal-item input,.proposal-item select{margin:0;padding:8px;font-size:9px}.proposal-item button{border:0;background:#ffecef;color:#ca4350;border-radius:6px}.proposals-list{display:grid;gap:9px;max-height:67vh;overflow:auto}.proposal-row{border:1px solid var(--line);border-radius:10px;padding:12px}.proposal-row header{display:flex;justify-content:space-between;gap:10px}.proposal-row strong,.proposal-row small{display:block}.proposal-row small{font-size:9px;color:var(--muted);margin-top:4px}.proposal-row footer{display:flex;gap:7px;margin-top:10px}.proposal-row button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:7px 9px;font-size:9px}.proposal-status{font-size:8px;padding:4px 7px;border-radius:12px;background:#fff2d9;color:#aa6e0b}.proposal-status.accepted{background:#ddf5ec;color:#07835c}.public-proposal{min-height:100vh;background:#eef2f7;padding:34px 15px}.proposal-document{max-width:900px;margin:auto;background:#fff;border-radius:16px;box-shadow:0 18px 60px #17233d20;overflow:hidden}.proposal-document>header{padding:22px 34px;border-bottom:4px solid #ec651d;display:flex;justify-content:space-between;align-items:center}.proposal-brand{display:flex;align-items:center;gap:10px}.proposal-brand strong,.proposal-brand small{display:block}.proposal-brand small{font-size:10px;color:#68758a}.public-body{padding:36px}.public-hero{padding:28px;border-radius:13px;background:#15366e;color:#fff;margin-bottom:25px}.public-hero h1{font-family:Georgia,serif;font-size:32px;margin:5px 0}.public-body h2{font-family:Georgia,serif;margin-top:30px}.public-items{width:100%;border-collapse:collapse;margin:18px 0}.public-items th,.public-items td{padding:13px;text-align:left;border-bottom:1px solid #e4e8ef}.public-items th{background:#163f76;color:#fff;font-size:10px}.public-items td{font-size:11px;vertical-align:top}.public-items td:last-child{text-align:right;white-space:nowrap}.public-total{text-align:right;font-size:20px;color:#15366e}.accept-card{margin:0 36px 36px;padding:24px;background:#f7f9fc;border:1px solid #dce3ed;border-radius:13px}.accept-card h2{font-family:Georgia,serif;margin:0 0 16px}.accept-card>p:first-child{font-size:9px;color:#eb641d;font-weight:700}.consent{display:flex;align-items:flex-start;gap:8px;margin:15px 0}.consent input{width:auto;margin:2px 0}.proposal-accepted{padding:22px;background:#e5f6ef;color:#087e5b;border-radius:11px;text-align:center}.public-proposal .product-logo{width:42px;height:42px}
@media(max-width:900px){.proposal-layout{grid-template-columns:1fr}.proposal-item{grid-template-columns:1fr 1fr}.storage-row{grid-template-columns:1fr 1fr}.topology-canvas{height:440px}}@media(max-width:600px){.extra-wide-modal{padding:16px}.storage-row{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.proposal-item{grid-template-columns:1fr}.public-body{padding:20px}.accept-card{margin:0 18px 18px}.proposal-document>header{padding:16px 20px}}

.client-layout{display:grid;grid-template-columns:280px 1fr;gap:24px}.management-card{background:#f7f8fa;border:1px solid var(--line);border-radius:11px;padding:18px}.management-card h3,.client-layout>div>h3{font-size:12px;margin:0 0 14px}.management-card .primary{width:100%;margin-top:12px}.management-list{display:flex;flex-direction:column;gap:9px}.management-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;padding:13px 14px}.management-row strong,.management-row small{display:block}.management-row strong{font-size:11px}.management-row small{font-size:8px;color:#8993a2;margin-top:4px}.management-row button,.environment-actions button{position:static;width:auto;height:auto;border:1px solid #dfe4ec;background:#fff;border-radius:7px;padding:7px 10px;color:#42516a;font-size:9px;line-height:1.2;cursor:pointer;white-space:nowrap}.environment-actions{position:static;display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-left:auto;flex:0 0 auto}.environment-actions .delete-environment{position:static;width:auto;height:auto;color:var(--red);border-color:#f0cbd0;font-size:9px;line-height:1.2}.env-grid article>div:first-child{align-items:center;gap:8px;min-width:0}.env-grid article>div:first-child .environment-actions{margin-left:auto}.env-grid article>div:first-child>i{margin-left:2px;flex:0 0 8px}.server-icon{flex:0 0 32px}@media(max-width:760px){.client-layout{grid-template-columns:1fr}.management-row{align-items:flex-start}.environment-actions{flex-wrap:nowrap}.environment-actions button{padding:6px 8px}}
