/* ══════════════════════════════════════════════════════════════════════════
   terminal.css  —  Terminal page specific styles
   .card/.btn override shared.css. Includes xterm terminal modal.
   ══════════════════════════════════════════════════════════════════════════ */

/* Page-specific */
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1.6rem;box-shadow:var(--shadow-card);margin-bottom:1rem;position:relative;overflow:hidden;}
.card::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent);pointer-events:none;}
/* btn base + accent/ghost/sm inherited from shared.css */
.empty-state{color:var(--text-muted);font-size:.85rem;text-align:center;padding:1.5rem 0;}
/* Host grid */
.host-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem;position:relative;z-index:1;}
.host-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.85rem 1rem;cursor:pointer;transition:all .18s;display:flex;flex-direction:column;gap:.35rem;}
.host-card:hover{border-color:rgba(124,92,252,.4);background:rgba(124,92,252,.06);transform:translateY(-1px);}
.host-name{font-size:.9rem;font-weight:700;color:var(--text);}
.host-meta{font-size:.72rem;color:var(--text-dim);font-family:'DM Mono',monospace;}
.host-action{margin-top:.2rem;font-size:.75rem;color:var(--accent2);font-weight:600;}
/* Manage hosts modal */
.mh-modal{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.mh-modal.open{display:flex;}
.mh-card{background:linear-gradient(145deg,#0e0e1c,#12121e);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1.5rem;width:90%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.6);}
.mh-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:1rem;}
.mh-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;}
.mh-host-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:8px;}
.mh-host-info{flex:1;min-width:0;}
.mh-host-name{font-size:.85rem;font-weight:600;color:var(--text);}
.mh-host-meta{font-size:.7rem;color:var(--text-dim);font-family:'DM Mono',monospace;}
.mh-add-form{border-top:1px solid rgba(255,255,255,.07);padding-top:.85rem;margin-top:.5rem;}
.mh-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.4rem;}
.mh-input{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);border-radius:7px;color:var(--text);font-size:.82rem;padding:.42rem .7rem;outline:none;font-family:inherit;width:100%;margin-bottom:.4rem;}
.mh-input:focus{border-color:rgba(124,92,252,.45);}
/* Password modal */
.pw-modal{position:fixed;inset:0;z-index:700;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.pw-modal.open{display:flex;}
.pw-card{background:linear-gradient(145deg,#0e0e1c,#12121e);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1.5rem 1.75rem;width:90%;max-width:360px;box-shadow:0 24px 64px rgba(0,0,0,.6);}
.pw-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.3rem;}
.pw-sub{font-size:.8rem;color:var(--text-dim);margin-bottom:.9rem;}
.pw-input{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-size:.88rem;padding:.55rem .8rem;outline:none;font-family:inherit;width:100%;margin-bottom:.5rem;}
.pw-input:focus{border-color:rgba(124,92,252,.45);}
.pw-actions{display:flex;gap:.5rem;justify-content:flex-end;}
/* Terminal modal */
.term-modal{position:fixed;inset:0;z-index:700;background:var(--bg);display:none;flex-direction:column;}
.term-modal.open{display:flex;}
.term-bar{display:flex;align-items:center;gap:.65rem;padding:.55rem .85rem;background:rgba(0,0,0,.4);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;}
.term-bar-title{flex:1;font-size:.82rem;font-weight:600;color:var(--text);font-family:'DM Mono',monospace;}
.term-status{font-size:.72rem;padding:.12rem .55rem;border-radius:20px;font-weight:600;flex-shrink:0;}
.term-status.connecting{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);color:#fde68a;}
.term-status.connected{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);color:#6ee7b7;}
.term-status.disconnected{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3);color:#fca5a5;}
.term-container{flex:1;padding:0;background:var(--bg);overflow:hidden;min-height:0;}
.term-container .xterm{height:100%;width:100%;}
.term-container .xterm-viewport{background:var(--bg) !important;}
.term-container .xterm-screen{padding:0.4rem 0.6rem;box-sizing:border-box;}
