.calc-panel{
  position:fixed;inset:0;z-index:900;
  pointer-events:none;
}
.calc-panel.open{pointer-events:all}
.calc-backdrop{
  position:absolute;inset:0;
  background:rgba(0,0,0,0);
  transition:background .3s ease;
}
.calc-panel.open .calc-backdrop{background:rgba(0,0,0,0.6)}
.calc-sheet{
  position:absolute;bottom:0;left:0;right:0;
  background:#0f1318;
  border:1px solid var(--border);
  border-radius:20px 20px 0 0;
  padding:12px 20px 24px;
  transform:translateY(100%);
  transition:transform .32s cubic-bezier(.32,0,.67,0);
  padding-bottom:calc(var(--bottom-nav-h) + 16px);
}
.calc-panel.open .calc-sheet{transform:translateY(0)}
.calc-handle{
  width:40px;height:4px;border-radius:2px;
  background:rgba(255,255,255,0.15);
  margin:0 auto 16px;
}
.calc-sheet-title{
  font-family:'Syne',sans-serif;font-size:1rem;font-weight:800;
  color:#fff;margin-bottom:14px;text-align:center;letter-spacing:-.01em;
}
.calc-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calc-sheet-item{
  display:flex;align-items:center;gap:10px;
  padding:13px 14px;border-radius:12px;
  background:var(--surface2);border:1px solid var(--border);
  text-decoration:none;color:var(--text);
  font-size:0.83rem;font-weight:500;
  transition:border-color .2s,background .2s,color .2s;
}
.calc-sheet-item:hover,.calc-sheet-item.active{
  border-color:rgba(0,255,156,0.35);
  background:rgba(0,255,156,0.07);color:var(--green);
}
.calc-sheet-item .cs-icon{font-size:1.15rem;flex-shrink:0}
@media(max-width:768px){
  body{padding-bottom:calc(var(--bottom-nav-h)+8px)}
  .bottom-nav{display:flex}
  .wa-float{display:none}
  header .logo{font-size:0.82rem}
}
@media(max-width:360px){
  .calc-sheet-grid{grid-template-columns:1fr}
}

.pwd-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.pwd-box{background:#0f1318;border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:32px 28px;width:100%;max-width:360px;text-align:center;animation:fadeIn .2s ease}
.pwd-lock{font-size:2.2rem;margin-bottom:12px}
.pwd-title{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;color:#fff;margin-bottom:6px}
.pwd-sub{font-size:0.84rem;color:#5a6878;margin-bottom:20px;line-height:1.5}
.pwd-row{display:flex;gap:8px}
.pwd-input{flex:1;padding:12px 14px;background:#08090c;border:1px solid rgba(255,255,255,0.09);border-radius:10px;color:#dde6f0;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.95rem;transition:border-color .2s,box-shadow .2s}
.pwd-input:focus{outline:none;border-color:#00ff9c;box-shadow:0 0 0 3px rgba(0,255,156,0.12)}
.pwd-input.shake{animation:shake .4s ease}
.pwd-input::placeholder{color:#2e3a46}
.pwd-btn{background:#00ff9c;color:#000;border:none;padding:12px 18px;border-radius:10px;font-family:'Syne',sans-serif;font-weight:700;font-size:0.88rem;cursor:pointer;white-space:nowrap;transition:opacity .15s}
.pwd-btn:hover{opacity:.88}
.pwd-err{font-size:0.78rem;color:#ff4d6d;margin-top:10px;min-height:18px}
.pwd-back{font-size:0.78rem;color:#5a6878;margin-top:14px;cursor:pointer;text-decoration:underline}
.pwd-back:hover{color:#dde6f0}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

.cs-pro{font-size:0.58rem;font-weight:800;letter-spacing:.05em;background:linear-gradient(135deg,#f59e0b,#f97316);color:#000;padding:2px 5px;border-radius:3px;line-height:1.3;flex-shrink:0}
.tool-pro{position:absolute;top:12px;right:12px;font-size:0.62rem;font-weight:800;letter-spacing:.06em;background:linear-gradient(135deg,#f59e0b,#f97316);color:#000;padding:3px 7px;border-radius:4px;line-height:1.4}
