:root{--page-bg:#eff3f9;--surface:#ffffff;--text:#1a1c1f;--muted:#5f6672;--link:#175ea8;--primary:#1b6ec2;--primary-hover:#17599c;--primary-border:#1861ac;--accent:#254f94;--danger:#b3261e;--border:#e2e7ef;--elevation-1:0 1px 2px rgba(23,33,52,0.06),0 2px 6px rgba(23,33,52,0.05);--elevation-2:0 1px 3px rgba(23,33,52,0.08),0 4px 12px rgba(23,33,52,0.08);--ease:cubic-bezier(0.2,0,0,1);--dur:0.2s}*{box-sizing:border-box}html{font-size:14px}@media (min-width:768px){html{font-size:16px}}body,html{height:100%;margin:0;padding:0}body{background:var(--page-bg);color:var(--text);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell>main{flex-grow:1}.site-header{background-color:rgba(255,255,255,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,33,52,.06);box-shadow:0 1px 8px rgba(23,33,52,.04);padding:.75rem 1rem}.site-brand{color:var(--text);font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.site-brand .brand-accent{color:var(--primary)}.page-center{display:flex;justify-content:center;padding:1.5rem 1rem}.page-column{width:100%;max-width:34rem}.card{background-color:var(--surface);border:none;border-radius:1rem;box-shadow:var(--elevation-1);transition:box-shadow var(--dur) var(--ease)}.card:hover{box-shadow:var(--elevation-2)}.card-header{background-color:var(--surface);border-bottom:1px solid var(--border);padding:1rem 1.5rem;border-radius:1rem 1rem 0 0}.card-header h6{margin:0;font-size:1rem;font-weight:600}.card-body{padding:1.5rem}.card-body p:first-child{margin-top:0}.card-body p:last-child{margin-bottom:0}.muted{color:var(--muted)}.btn{display:inline-block;font-size:.95rem;font-weight:500;letter-spacing:.01em;line-height:1.5;text-align:center;border:1px solid transparent;border-radius:999px;padding:.45rem 1.35rem;cursor:pointer;transition:background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.btn-primary{color:#fff;background-color:var(--primary);border-color:transparent;box-shadow:var(--elevation-1)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--elevation-2);text-decoration:none}.btn-block{display:block;width:100%}.btn-outline{color:var(--primary);background-color:transparent;border-color:var(--primary-border)}.btn-outline:hover{background-color:rgba(27,110,194,.08);text-decoration:none}.btn-danger{color:#fff;background-color:var(--danger);box-shadow:var(--elevation-1)}.btn-danger:hover{background-color:#932019}.notice{background-color:#eef4fc;border-radius:.75rem;padding:.9rem 1.1rem;margin:1rem 0}.notice p{margin:0}.deadlines{list-style:none;margin:1rem 0 1.25rem;padding:0}.deadlines li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.deadlines li:last-child{border-bottom:none}.doc-list{list-style:none;margin:1rem 0 1.25rem;padding:0}.doc-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.doc-list li:last-child{border-bottom:none}.doc-list li>span{display:flex;flex-direction:column}.doc-file{font-size:.85rem;word-break:break-word}.field{display:block;margin:1rem 0}.field span{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem}.field input{width:100%;font-size:1rem;padding:.6rem .85rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);color:var(--text)}.field input:focus{outline:2px solid var(--primary);outline-offset:0;border-color:transparent}.checkbox-row{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 1.25rem;font-size:.9rem}.checkbox-row input{margin-top:.25rem;width:1.05rem;height:1.05rem;flex-shrink:0}.form-error{color:var(--danger);font-size:.9rem}.small-note{font-size:.85rem;margin-top:1rem}.site-footer{padding:1.25rem 1rem 1.75rem;text-align:center}.site-footer p{font-size:.78rem;color:var(--muted);max-width:40rem;margin:.25rem auto}