*{box-sizing:border-box}html{font-family:Vazirmatn,Tahoma,Arial,sans-serif;background:#090b10;color:#f4f7fb}html[data-theme=light]{background:#f4f6fa;color:#121722}:root{--bg:#090b10;--panel:rgba(19,23,31,.78);--panel2:rgba(255,255,255,.055);--text:#f4f7fb;--muted:#94a0b4;--line:rgba(255,255,255,.095);--accent:#ff8a00;--accent2:#ffb347;--green:#2ad47f;--red:#ff5c70;--blue:#71a7ff;--shadow:0 24px 70px rgba(0,0,0,.35)}html[data-theme=light]{--bg:#f4f6fa;--panel:rgba(255,255,255,.86);--panel2:rgba(15,20,30,.04);--text:#151922;--muted:#697386;--line:rgba(15,20,30,.10);--shadow:0 22px 60px rgba(39,48,70,.12)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);overflow-x:hidden}.aurora{position:fixed;width:520px;height:520px;filter:blur(110px);opacity:.18;border-radius:50%;pointer-events:none;z-index:0}.a1{background:#ff7a00;top:-230px;right:-170px}.a2{background:#315bff;bottom:-270px;left:-160px}.app{position:relative;z-index:1;min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);backdrop-filter:blur(20px);position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 78%,transparent)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#ff6a00,#ffae43);color:#fff;font-weight:900;font-size:21px;box-shadow:0 12px 30px rgba(255,115,0,.25)}.brand-mark.large{width:62px;height:62px;border-radius:20px;font-size:30px;margin:auto}.brand b{display:block;font-size:16px}.brand span{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:2px}.top-actions{display:flex;align-items:center;gap:8px}.secure-pill{font-size:10px;letter-spacing:1.2px;color:var(--muted);border:1px solid var(--line);padding:8px 10px;border-radius:999px;display:flex;align-items:center;gap:7px}.secure-pill i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}button,input,select{font:inherit}.icon-btn,.logout-btn,.text-btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:11px;min-height:38px;padding:0 12px;cursor:pointer}.icon-btn{width:40px;padding:0}.logout-btn{color:var(--muted)}.dashboard{max-width:1440px;margin:0 auto;padding:34px 28px 70px}.hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:800}.hero h1,.auth-card h1{font-size:34px;margin:7px 0 8px;letter-spacing:-1px}.hero p,.auth-card p{color:var(--muted);max-width:820px;line-height:2;margin:0}.hero-badge{min-width:180px;border:1px solid var(--line);background:var(--panel2);border-radius:18px;padding:16px 18px;text-align:left;direction:ltr}.hero-badge span,.hero-badge small{display:block;color:var(--muted);font-size:10px}.hero-badge b{display:block;margin:3px 0;font-size:15px}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(22px)}.repo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.repo-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:16px;min-width:0;cursor:pointer;transition:.18s ease}.repo-card:hover,.repo-card.active{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 16px 35px rgba(0,0,0,.15)}.repo-card .repo-top{display:flex;justify-content:space-between;gap:8px}.repo-card h3{font-size:14px;margin:0 0 3px}.repo-card .repo-name{font-size:10px;color:var(--muted);direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 14px color-mix(in srgb,var(--red) 70%,transparent)}.health-dot.ok{background:var(--green);box-shadow:0 0 14px color-mix(in srgb,var(--green) 70%,transparent)}.repo-path{display:block;color:var(--blue);font-size:10px;direction:ltr;text-align:left;margin:13px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-last{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.deploy-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.65fr);gap:16px}.deploy-card,.progress-card,.history-card{border-radius:22px;padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head>div{display:flex;align-items:center;gap:10px}.card-head h2{font-size:16px;margin:0}.step{font-size:10px;font-weight:900;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding:6px 8px;border-radius:9px}.status-badge{font-size:10px;border-radius:999px;padding:6px 10px;border:1px solid var(--line);color:var(--muted)}.status-badge.running{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.status-badge.completed{color:var(--green)}.status-badge.failed{color:var(--red)}.form-grid{display:grid;grid-template-columns:220px minmax(220px,1fr) auto;gap:10px;align-items:end}.stack{display:grid;gap:12px}label>span{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}input,select{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:0 12px;outline:none;transition:.16s}input:focus,select:focus{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent)}select option{background:#171b23;color:#fff}.primary,.secondary{min-height:44px;border-radius:12px;border:0;padding:0 18px;font-weight:700;cursor:pointer;transition:.16s}.primary{background:linear-gradient(135deg,#ff7600,#ffa62b);color:#fff;box-shadow:0 12px 28px rgba(255,120,0,.20)}.primary:hover,.secondary:hover{transform:translateY(-1px)}.secondary{background:var(--panel2);border:1px solid var(--line);color:var(--text)}button:disabled{opacity:.48;cursor:not-allowed;transform:none!important}.target-line{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:11px}.target-line code{color:var(--blue);direction:ltr}.inspection{margin-top:16px}.hidden{display:none!important}.commit-card{display:grid;grid-template-columns:150px 1fr 70px;gap:10px;background:var(--panel2);border:1px solid var(--line);padding:13px;border-radius:15px}.commit-card span{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.commit-card b{display:block;font-size:11px}.commit-card>div:first-child b{direction:ltr;text-align:right;color:var(--blue)}.commit-message b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-toolbar{display:flex;justify-content:space-between;gap:10px;margin:16px 2px 8px;font-size:11px}.file-toolbar span{color:#ffb45a}.file-list{max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:14px}.file-row{display:grid;grid-template-columns:75px minmax(0,1fr) 90px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);font-size:10px}.file-row:last-child{border-bottom:0}.file-row code{direction:ltr;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.file-status{display:inline-flex;justify-content:center;border-radius:7px;padding:4px 6px;background:var(--panel2);color:var(--muted)}.file-status.added{color:var(--green)}.file-status.removed{color:var(--red)}.file-status.renamed{color:var(--blue)}.file-row.protected{opacity:.55}.file-row.protected code{text-decoration:line-through}.delta{direction:ltr;color:var(--muted);text-align:left}.check-line{display:flex;align-items:center;gap:8px;margin:13px 0;color:var(--muted);font-size:11px}.check-line input{width:17px;min-height:auto;height:17px}.check-line span{margin:0}.deploy-now{width:100%}.progress-card{display:flex;flex-direction:column;align-items:stretch}.progress-ring{--p:0;width:154px;height:154px;border-radius:50%;margin:8px auto 18px;background:conic-gradient(var(--accent) calc(var(--p)*1%),var(--panel2) 0);display:grid;place-items:center;position:relative}.progress-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--panel)}.progress-ring>div{position:relative;text-align:center}.progress-ring b{display:block;font-size:30px}.progress-ring span{display:block;color:var(--muted);font-size:10px}.progress-bar{height:7px;background:var(--panel2);border-radius:999px;overflow:hidden}.progress-bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s}.live-log{margin-top:14px;display:grid;gap:7px;max-height:285px;overflow:auto}.log-line{font-size:10px;padding:8px 9px;border-radius:9px;background:var(--panel2);display:flex;gap:7px;align-items:flex-start}.log-line i{width:6px;height:6px;border-radius:50%;background:var(--muted);margin-top:5px;flex:0 0 auto}.log-line.ok i{background:var(--green)}.log-line.error i{background:var(--red)}.log-line.warn i{background:#ffc14f}.muted{color:var(--muted);font-size:10px}.history-card{margin-top:16px}.history-list{display:grid;gap:8px}.history-row{display:grid;grid-template-columns:145px minmax(0,1fr) 110px 105px auto;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel2);padding:10px 12px;border-radius:13px;font-size:10px}.history-row code{direction:ltr;color:var(--blue)}.history-row .hm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-status{font-weight:700}.history-status.completed{color:var(--green)}.history-status.failed{color:var(--red)}.rollback-btn{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:9px;padding:7px 10px;cursor:pointer}.auth-shell{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:30px}.auth-card{width:min(680px,100%);border-radius:26px;padding:28px}.login-card{width:min(430px,100%);text-align:center}.auth-card form{margin-top:20px;text-align:right}.wide{width:100%}.hint{font-size:10px;color:var(--muted);margin-top:-6px}.mapping-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.mapping-preview>div{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel2)}.mapping-preview b,.mapping-preview span,.mapping-preview code{display:block}.mapping-preview b{font-size:11px}.mapping-preview span{font-size:9px;color:var(--muted);direction:ltr;text-align:right}.mapping-preview code{font-size:9px;color:var(--blue);direction:ltr;margin-top:5px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:60;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{width:min(480px,100%);border-radius:22px;padding:24px;position:relative}.modal-card h2{margin:7px 0}.modal-card p{color:var(--muted);font-size:11px;line-height:1.9}.modal-close{position:absolute;left:14px;top:12px;border:0;background:transparent;color:var(--muted);font-size:26px;cursor:pointer}.toast-wrap{position:fixed;left:20px;bottom:20px;z-index:80;display:grid;gap:8px;width:min(390px,calc(100vw - 40px))}.toast{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(20px);border-radius:13px;padding:11px 13px;font-size:11px}.toast.ok{border-color:color-mix(in srgb,var(--green) 40%,var(--line))}.toast.error{border-color:color-mix(in srgb,var(--red) 50%,var(--line))}@media(max-width:1100px){.repo-grid{grid-template-columns:1fr 1fr}.deploy-grid{grid-template-columns:1fr}.progress-card{min-height:300px}.progress-ring{width:130px;height:130px}.history-row{grid-template-columns:120px 1fr 95px auto}.history-row .date-col{display:none}}@media(max-width:720px){.topbar{padding:0 14px;height:66px}.secure-pill{display:none}.brand span{display:none}.dashboard{padding:22px 12px 50px}.hero{display:block}.hero h1,.auth-card h1{font-size:27px}.hero-badge{margin-top:16px}.repo-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.commit-card{grid-template-columns:1fr}.file-row{grid-template-columns:62px minmax(0,1fr);}.delta{display:none}.history-row{grid-template-columns:95px 1fr auto}.history-row .commit-col{display:none}.mapping-preview{grid-template-columns:1fr}.auth-card{padding:22px}.top-actions .logout-btn{display:none}}