.ptea-root{max-width:440px;margin:20px auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;}
.ptea-notice{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;line-height:1.5;}
.ptea-notice.ptea-ok{background:#e3f1ea;color:#2c7a57;}
.ptea-notice.ptea-info{background:#eef3fb;color:#2554a6;}
.ptea-notice.ptea-err{background:#f8e5e2;color:#a6342c;}
.ptea-form label{display:block;margin-bottom:14px;font-weight:600;font-size:14px;color:#1c2733;}
.ptea-form input[type="text"],.ptea-form input[type="email"]{width:100%;padding:9px 11px;margin-top:6px;border:1px solid #ccd2d9;border-radius:6px;font-weight:400;font-size:14px;box-sizing:border-box;}
.ptea-btn{background:#0E7C7B;color:#fff;border:none;padding:11px 24px;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;}
.ptea-btn:hover{background:#0A5B5A;}

.ptea-gate-root{max-width:440px;margin:20px auto;}
.ptea-gate-intro{font-size:14px;color:#444;margin-bottom:14px;}
.ptea-gate-request{margin-top:10px;font-size:13px;text-align:center;}
.ptea-gate-request a{color:#0E7C7B;}
.ptea-gate-authed{max-width:100%;}
.ptea-gate-who{font-size:12px;color:#777;text-align:right;margin:0 0 10px;}
.ptea-logout{color:#a6342c;text-decoration:underline;}

.ptea-menu-root{max-width:900px;margin:20px auto;}
.ptea-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:10px;}
.ptea-menu-card{display:flex;flex-direction:column;gap:10px;padding:22px 20px;border-radius:10px;border:1px solid #dfe3e8;background:#fff;text-decoration:none;transition:box-shadow .15s,transform .15s;}
.ptea-menu-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px);}
.ptea-menu-label{font-size:18px;font-weight:700;color:#1c2733;}
.ptea-menu-go{color:#0E7C7B;font-weight:600;font-size:13px;}
.ptea-menu-soon{opacity:.55;cursor:default;}
.ptea-menu-soon:hover{box-shadow:none;transform:none;}
.ptea-menu-soon-tag{font-size:12px;font-weight:600;color:#999;background:#f0f0f0;padding:3px 10px;border-radius:20px;align-self:flex-start;}
