/* CD-V5 · tactile actions; shared by the portal and service console. */
:root{--action-ink:#252d27;--action-edge:#b5b9a9;--action-gold:#c6ad7c;--action-shadow:0 3px 0 #222b2220,0 7px 17px #26312612;--action-motion:220ms cubic-bezier(.2,.8,.25,1)}
.btn,.rebuild .btn,.join-button,.workspace-link,.text-link,.rebuild .text-link{font-weight:600;letter-spacing:.25px;border-radius:9px;transition:transform var(--action-motion),box-shadow var(--action-motion),background-color var(--action-motion),border-color var(--action-motion);position:relative}
.btn,.rebuild .btn{font-size:13px;min-height:48px;padding:13px 21px;border:1px solid var(--action-edge);background:linear-gradient(180deg,#fefef9 0%,#efefe5 100%);color:var(--action-ink);box-shadow:inset 0 1px 0 #ffffffe6,var(--action-shadow)}
.btn.primary,.rebuild .btn-primary,.rebuild .btn:not(.btn-quiet):not(.btn-text):not(.btn-ghost),.join-button{color:#f7f5e9;background:linear-gradient(180deg,#424b3d 0%,#252e28 55%,#202820 100%);border:1px solid #4c5845;box-shadow:inset 0 1px 0 #b9c4a757,inset 0 -1px 0 #101b1966,0 3px 0 #111c1766,0 8px 20px #26312624}
.join-button{font-size:13px;min-height:48px;padding:14px 20px;font-weight:650}
.btn.gold{color:#302b20;background:linear-gradient(180deg,#e1cfac 0%,#c6ad7c 100%);border-color:#ae9460;box-shadow:inset 0 1px 0 #fff3d9d9,0 3px 0 #806a3f33,0 8px 20px #b59a6126}
.text-link,.rebuild .text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;min-height:44px;padding:10px 15px;font-size:12px;border:1px solid #b9bead;background:linear-gradient(180deg,#fdfdf7 0%,#eeefe5 100%);box-shadow:inset 0 1px 0 #ffffffe6,0 2px 0 #3a453118,0 4px 10px #26312608;color:var(--action-ink);white-space:nowrap;text-decoration:none}
.workspace-link{padding:11px 15px;min-height:46px;border:1px solid #b9bead;background:linear-gradient(180deg,#fefef9,#f0f0e6);box-shadow:inset 0 1px 0 #ffffffe6,0 2px 0 #3a453118;font-size:12px}
.network-intro .text-link,.service-feature .text-link,.closing .btn{color:#eee3c8;border:1px solid #8f987a;background:linear-gradient(180deg,#a5ad802b,#a5ad800e);box-shadow:inset 0 1px 0 #e7efce25,0 3px 0 #101a1770,0 7px 18px #101a1722;font-size:12px;padding:12px 16px;min-height:46px}
.graph-tools{border:1px solid #b5c2a34a;border-radius:11px;gap:5px;padding:6px;background:#a5b99b18;backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);box-shadow:inset 0 1px 0 #efffe22b,0 6px 18px #0b15162e}
.graph-tools button{min-width:40px;min-height:40px;width:40px;height:40px;border:1px solid #c7dab933;border-radius:7px;background:linear-gradient(180deg,#d2dfc72b,#b8cba20c);color:#e6ecd9;box-shadow:inset 0 1px 0 #f4ffe226,0 2px 0 #0b151633;font-weight:600;transition:transform var(--action-motion),background-color var(--action-motion),box-shadow var(--action-motion)}
.cluster-tabs button{font-weight:600;font-size:12px;border:1px solid #a6b59440;border-radius:7px;padding:9px 13px;min-height:40px;background:#c2cdae08;color:#c9d0bd;box-shadow:inset 0 1px 0 #e1efd00a;transition:background-color var(--action-motion),border-color var(--action-motion),transform var(--action-motion)}
.cluster-tabs{gap:10px}.cluster-tabs button.active{color:#f0dfb7;border:1px solid #bca97b8c;background:linear-gradient(180deg,#d0ba7a2e,#bca16a14);box-shadow:inset 0 1px 0 #f3e5c329,0 2px 0 #0e181766}
.view-switch{border:1px solid #c9cebf;border-radius:10px;padding:4px;gap:5px;background:#e4e7dc;box-shadow:inset 0 1px 3px #27312212}.view-switch button{font-weight:600;min-height:40px;border-radius:7px;border:1px solid transparent;color:#65705d;transition:background-color var(--action-motion),box-shadow var(--action-motion)}.view-switch button.active{background:linear-gradient(180deg,#fffff9,#f0f1e6);color:#2f3b2b;border-color:#c3c9b7;box-shadow:inset 0 1px 0 #ffffffe6,0 2px 4px #2532211c}
.service-group a{font-weight:600;font-size:13px;padding:14px 10px;border-bottom:1px solid transparent;border-radius:6px;transition:background-color var(--action-motion)}.service-group a>span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:1px solid #c1c7b7;border-radius:8px;background:linear-gradient(180deg,#fdfdf7,#e5e8dc);box-shadow:inset 0 1px 0 #ffffffe6,0 2px 0 #34402714;font-size:15px}
.product-card>button{border:1px solid transparent;border-radius:7px;padding:6px;margin:-6px;width:calc(100% + 12px);transition:transform var(--action-motion),box-shadow var(--action-motion),border-color var(--action-motion)}.product-card h3{font-weight:600}.product-card .card-bottom>span:last-child{display:grid;place-items:center;width:29px;height:29px;border:1px solid #c1c7b7;border-radius:7px;color:#3e4b32;background:linear-gradient(180deg,#fffff9,#e9ecdf);box-shadow:inset 0 1px 0 #ffffffe6,0 2px 0 #34402714;font-size:14px}
.community-items>button{padding:22px;margin:10px 0;border:1px solid #ccd2c1;border-radius:10px;background:linear-gradient(180deg,#fcfcf7,#f0f2e8);box-shadow:inset 0 1px 0 #ffffffd9,0 3px 0 #3440270c;transition:background-color var(--action-motion),transform var(--action-motion),box-shadow var(--action-motion)}.community-items h3,.company-row h3,.opportunity h3{font-weight:600}.community-items .index{border:1px solid #bec7ad;border-radius:7px;padding:7px;height:30px;background:#e7ecdd;color:#637150}.opportunity .arrow,.company-row>span:last-child{display:grid;place-items:center;width:32px;height:32px;border:1px solid #bec7ad;border-radius:8px;background:linear-gradient(180deg,#f9faf2,#e2e8d6);box-shadow:inset 0 1px 0 #ffffffcc,0 2px 0 #34402714;color:#4a5b38;font-size:17px}.community-items>button:active{transform:translateY(2px);box-shadow:inset 0 1px 5px #273a1712}
.table-action,.rebuild .btn-sm{font-weight:600;min-height:38px}.table-action{padding:8px 13px;border:1px solid #bac2ac;border-radius:7px;background:linear-gradient(180deg,#fdfdf7,#e9ecdf);box-shadow:inset 0 1px 0 #ffffffcc,0 2px 0 #34402714;text-decoration:none}.close,.rebuild .icon-button{border-radius:50%;background:#e5e9dc;border:1px solid #bcc5ac;box-shadow:inset 0 1px 0 #ffffffb3,0 2px 0 #34402718}
.btn:disabled,.rebuild .btn:disabled,button:disabled{opacity:.45;box-shadow:none;transform:none;filter:grayscale(.6);cursor:not-allowed}
@media(hover:hover){.btn:not(:disabled):hover,.rebuild .btn:not(:disabled):hover,.join-button:hover,.workspace-link:hover,.text-link:hover,.rebuild .text-link:hover{transform:translateY(-2px);border-color:#9c895a;box-shadow:inset 0 1px 0 #f4f8de66,0 4px 0 #29332126,0 11px 23px #26312621}.graph-tools button:hover{transform:translateY(-2px);background:#c7dbad38;box-shadow:inset 0 1px 0 #f4ffe24d,0 5px 12px #08110d66}.cluster-tabs button:hover{background-color:#d2ddba1c;border-color:#c3cda973}.service-group a:hover{background:#dfe5d4}.product-card>button:hover{transform:translateY(-3px);border-color:#c5ccba;box-shadow:0 9px 24px #2e3c2614}.view-switch button:not(.active):hover{background:#f6f7ed}}
.btn:not(:disabled):active,.rebuild .btn:not(:disabled):active,.join-button:active,.workspace-link:active,.text-link:active,.rebuild .text-link:active,.graph-tools button:active{transform:translateY(2px) scale(.98);box-shadow:inset 0 2px 5px #15241224,0 1px 0 #29332114;transition-duration:80ms}.product-card>button:active{transform:translateY(1px);box-shadow:none}
.btn:focus-visible,.rebuild .btn:focus-visible,.join-button:focus-visible,.workspace-link:focus-visible,.text-link:focus-visible,.rebuild .text-link:focus-visible,.graph-tools button:focus-visible,.cluster-tabs button:focus-visible,.view-switch button:focus-visible{outline:3px solid #b29350;outline-offset:4px}
@media(max-width:900px){.workspace-link{display:none}.cluster-tabs{gap:8px}.cluster-tabs button{padding:8px 11px;font-size:11px}}
@media(max-width:600px){.join-button{font-size:11px;min-height:44px;padding:11px 13px;gap:12px}.btn,.rebuild .btn{font-size:12px;padding:12px 17px;min-height:46px}.text-link,.rebuild .text-link{font-size:11px;padding:10px 12px;gap:14px;min-height:44px}.network-intro .text-link,.service-feature .text-link,.closing .btn{font-size:11px;padding:11px 14px;min-height:44px}.cluster-tabs{gap:7px}.cluster-tabs button{font-size:10px;min-height:38px;padding:8px 10px}.graph-tools{padding:5px;gap:4px;bottom:6px}.graph-tools button{min-width:36px;min-height:36px;width:36px;height:36px;font-size:18px}.graph-key{bottom:24px}.view-switch button{font-size:12px;min-height:40px}.service-group a{font-size:12px;padding:12px 0}.service-group a>span{width:27px;height:27px;font-size:13px}.selected-strip .text-link{font-size:10px;gap:10px}.section-head>.text-link{margin-top:4px;min-height:44px;font-size:10px;padding:9px 10px;gap:12px}.product-card .card-bottom>span:last-child{width:25px;height:25px;font-size:12px}.rebuild .business-card-actions{gap:12px}.rebuild .business-card-actions .text-link{font-size:11px}}
@media(max-width:360px){.join-button{padding:10px;font-size:10px}.cluster-tabs{gap:5px}.cluster-tabs button{font-size:9px;padding:8px}.graph-key{font-size:7px;gap:6px}.section-head{flex-wrap:wrap}.selected-strip{grid-template-columns:1fr}.selected-strip .text-link{grid-column:1;grid-row:auto;margin-left:0;justify-self:start}}
@media(prefers-reduced-motion:reduce){.btn,.rebuild .btn,.join-button,.workspace-link,.text-link,.rebuild .text-link,.graph-tools button,.cluster-tabs button,.view-switch button,.product-card>button{transition:none!important}.btn:not(:disabled):hover,.rebuild .btn:not(:disabled):hover,.join-button:hover,.workspace-link:hover,.text-link:hover,.rebuild .text-link:hover,.graph-tools button:hover,.product-card>button:hover,.btn:not(:disabled):active,.rebuild .btn:not(:disabled):active,.join-button:active,.workspace-link:active,.text-link:active,.rebuild .text-link:active,.graph-tools button:active,.product-card>button:active{transform:none!important}}
