*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--primary:#0176d3;
--primary-dark:#014486;
--primary-light:#1b96ff;
--text:#181818;
--text-mid:#444746;
--text-light:#706e6b;
--bg:#f3f3f3;
--bg-card:#f8f8f8;
--border:#d8d8d8;
--input-border:#c9c7c5;
--dark:#032d60;
--font:'Inter',system-ui,-apple-system,sans-serif;
--radius:8px;
--transition:.2s ease
}
html{-webkit-font-smoothing:antialiased}
body{font-family:var(--font);color:var(--text);line-height:1.6;background:var(--bg);min-height:100vh;display:flex;flex-direction:column}

a{text-decoration:none;color:var(--primary);transition:color var(--transition)}
a:hover{color:var(--primary-dark)}

.p-header{background:#fff;border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between}
.p-logo{display:flex;align-items:center;gap:10px}
.p-logo-text{font-size:1.15rem;font-weight:800;color:var(--dark);letter-spacing:-.02em}
.p-logo-text span{font-weight:600;color:var(--primary)}
.p-header-links{display:flex;gap:16px;font-size:.82rem}
.p-header-links a{color:var(--text-mid);font-weight:500}
.p-header-links a:hover{color:var(--primary)}

.p-banner{width:100%;max-height:200px;overflow:hidden}
.p-banner-placeholder{width:100%;height:200px;background:linear-gradient(135deg,var(--dark) 0%,#0a3d6b 50%,var(--primary) 100%);position:relative;overflow:hidden}
.p-banner-placeholder::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 60V0h60' fill='none' stroke='rgba(255,255,255,0.04)' stroke-width='1'/%3E%3C/svg%3E")}

.p-main{flex:1;max-width:1040px;width:100%;margin:0 auto;padding:32px 24px}
.p-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}

.p-welcome h1{font-size:1.8rem;font-weight:800;color:var(--dark);margin-bottom:6px;letter-spacing:-.02em}
.p-welcome p{color:var(--text-mid);margin-bottom:24px;font-size:.95rem}

.p-card{background:var(--bg-card);border-radius:16px;padding:28px 32px}
.p-card h2{font-size:1.3rem;font-weight:800;color:var(--dark);margin-bottom:4px}
.p-card .req{font-size:.78rem;color:var(--text-light);margin-bottom:20px}

.p-field{margin-bottom:18px}
.p-field label{display:block;font-size:.84rem;font-weight:600;color:var(--text);margin-bottom:5px}
.p-field input{width:100%;padding:10px 13px;border:1px solid var(--input-border);border-radius:3px;font-family:var(--font);font-size:.88rem;color:var(--text);background:#fff;transition:border-color var(--transition)}
.p-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(1,118,211,.08)}
.p-field-link{display:block;font-size:.78rem;margin-top:5px;color:var(--primary)}
.p-field-link:hover{color:var(--primary-dark)}

.p-pw-wrap{position:relative}
.p-pw-wrap input{padding-right:40px}
.p-pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-light);padding:4px;transition:color var(--transition)}
.p-pw-toggle:hover{color:var(--text)}

.p-btn{display:block;width:100%;padding:12px;background:var(--primary);color:#fff;border:2px solid var(--primary);border-radius:5px;font-family:var(--font);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition);margin-top:6px}
.p-btn:hover{background:#fff;color:var(--primary)}

.p-side-card{background:var(--bg-card);border-radius:16px;padding:24px 28px;margin-bottom:16px}
.p-side-card h3{font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:8px}
.p-side-card p{font-size:.85rem;color:var(--text-mid);line-height:1.55;margin-bottom:14px}
.p-side-btn{display:block;width:100%;padding:10px;background:#dbeafe;color:var(--primary);border:2px solid #dbeafe;border-radius:5px;font-family:var(--font);font-size:.84rem;font-weight:600;cursor:pointer;text-align:center;transition:all var(--transition)}
.p-side-btn:hover{background:#fff;border-color:#dbeafe}

.p-notice{background:#fef2f2;border-left:4px solid #c23934;border-radius:0 var(--radius) var(--radius) 0;padding:14px 18px;margin-bottom:20px;font-size:.84rem;color:#7f1d1d;line-height:1.5}
.p-notice strong{display:block;margin-bottom:2px}

.p-footer{background:#1e293b;color:rgba(255,255,255,.65);padding:20px 24px;font-size:.76rem;margin-top:auto}
.p-footer .wrap{max-width:1040px;margin:0 auto}
.p-ft-links{display:flex;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.p-ft-links a{color:rgba(255,255,255,.65)}
.p-ft-links a:hover{color:#fff}
.p-ft-legal{line-height:1.6;opacity:.7}

@media(max-width:768px){
.p-grid{grid-template-columns:1fr}
.p-banner-placeholder{height:140px}
.p-welcome h1{font-size:1.4rem}
}
@media(max-width:480px){
.p-header{padding:0 16px}
.p-main{padding:20px 16px}
}
