:root{font-family:'Segoe UI',Arial,sans-serif;color:#183052;background:#f4f6fb;--navy:#1b3c73;--yellow:#f5c518;--muted:#66758b}*{box-sizing:border-box}body{margin:0}a{color:var(--navy)}button,input{font:inherit}button,a,input{outline-offset:4px}button,.button{border:0;border-radius:10px;padding:13px 19px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;font-weight:650;font-size:.9rem;background:var(--navy);color:#fff}button:disabled{opacity:.55;cursor:wait}.button.secondary,button.secondary{background:#eaf0f8;color:var(--navy)}.top{background:#fff;border-bottom:1px solid #e1e6ef;padding:19px max(24px,calc((100vw - 1150px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:.95rem;font-weight:700}.logo img{width:48px;height:44px;object-fit:contain}.logo small{display:block;color:var(--muted);font-size:.75rem;font-weight:400;margin-top:4px}.top nav{display:flex;align-items:center;gap:20px;font-size:.875rem}.auth-layout{max-width:1050px;margin:60px auto;display:grid;grid-template-columns:1fr 1.08fr;gap:60px;padding:0 24px;align-items:center}.auth-intro{padding:32px}.eyebrow{font-size:.75rem;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:#637aa0}.auth-intro h1{font-size:2.9rem;line-height:1.12;letter-spacing:-1.4px;margin:18px 0 22px}.auth-intro p{line-height:1.8;color:var(--muted);font-size:1rem}.intro-line{width:70px;height:6px;background:var(--yellow);border-radius:3px;margin:26px 0}.auth-card{background:#fff;padding:32px;border:1px solid #dfe6f0;border-radius:20px;box-shadow:0 16px 50px #142d5910}.tabs{display:flex;background:#f0f3f8;padding:5px;gap:5px;border-radius:10px;margin-bottom:27px}.tabs a{flex:1;padding:11px;text-align:center;text-decoration:none;border-radius:7px;font-size:.9rem;font-weight:650;color:var(--muted)}.tabs a.active{background:white;color:var(--navy);box-shadow:0 2px 6px #16345910}.auth-card h2{font-size:1.5rem;margin:0 0 10px}.helper{color:var(--muted);font-size:.875rem;line-height:1.6;margin:0 0 23px}.field{margin:0 0 18px}.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}.field input{width:100%;padding:13px;border:1px solid #cfd9e6;border-radius:8px;color:#203b5c;background:#fff}.field input:focus{outline:2px solid #b0c6ee}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{width:100%}.text-button{background:none;color:var(--navy);padding:12px 0;margin-top:7px}.message{font-size:.875rem;line-height:1.65;padding:13px 15px;border-radius:8px;background:#fff3de;color:#78532c;margin:15px 0}.message:empty{display:none}.message.success{background:#eaf4ed;color:#215c3c}.small{font-size:.78rem;color:var(--muted);line-height:1.7}.portal{max-width:1150px;margin:50px auto;padding:0 24px}.portal-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:38px}.portal h1{font-size:2.2rem;letter-spacing:-1px;margin:12px 0}.portal-heading p{color:var(--muted);line-height:1.7;margin:0}.profile-chip{font-size:.875rem;padding:13px 17px;background:white;border:1px solid #dfe5ef;border-radius:10px;min-width:160px}.profile-chip strong{display:block;margin-bottom:4px}.system-card{background:#fff;border:1px solid #dce4ee;border-radius:18px;overflow:hidden;max-width:750px;display:grid;grid-template-columns:145px 1fr;box-shadow:0 10px 35px #142e5710}.system-icon{background:#164c3c;color:#dafa93;display:grid;place-items:center;font-size:4rem;font-weight:600}.system-content{padding:30px}.system-content h2{font-size:1.5rem;margin:14px 0 10px}.system-content p{line-height:1.7;color:var(--muted);font-size:.9rem;margin:0 0 24px}.badge{font-size:.75rem;background:#ecf4ee;color:#3b6d45;padding:5px 9px;border-radius:5px}.portal-note{margin-top:28px;color:var(--muted);font-size:.875rem}.loading{text-align:center;padding:80px 24px;color:var(--muted)}[hidden]{display:none!important}footer{padding:30px 24px;text-align:center;font-size:.78rem;color:#7a879b}@media(max-width:750px){.auth-layout{grid-template-columns:1fr;gap:24px;margin:30px auto}.auth-intro{padding:0 5px}.auth-intro h1{font-size:2rem}.auth-intro p{margin-bottom:0}.auth-card{padding:24px}.auth-intro .intro-line{margin:18px 0}.top{padding:15px 20px}.top nav{gap:12px}.top nav a{font-size:.8rem}.portal{margin-top:30px}.portal-heading{flex-direction:column;align-items:start}.portal h1{font-size:1.8rem}.system-card{grid-template-columns:80px 1fr}.system-icon{font-size:3rem}.system-content{padding:23px}.form-grid{grid-template-columns:1fr;gap:0}}

.access-panel{background:white;border:1px solid #dce4ee;border-radius:18px;padding:28px;margin:22px 0}.access-panel h2{margin:0 0 12px;font-size:1.3rem}.field select{font:inherit;width:100%;padding:13px;border:1px solid #cfd9e6;border-radius:8px;background:white;color:#203b5c}.access-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid #e7edf4}.member-info{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.member-info>span{font-size:.875rem;color:var(--muted)}.access-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.access-controls button{padding:10px 13px;font-size:.8rem}.badge.pending{background:#fff3d8;color:#806013}.badge.blocked{background:#fcecec;color:#943c3c}button.danger{background:#fcecec;color:#9a3333}.invite-result{background:#ecf4ee;border:1px solid #c9ddcc;border-radius:12px;padding:20px;margin-top:22px}.invite-result label{display:block;font-size:.85rem;margin:12px 0 7px}.invite-result input{font:600 1rem monospace;width:100%;padding:14px;border:1px solid #abc6b2;border-radius:8px}.invite-result p{font-size:.85rem}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.section-heading>button{flex-shrink:0}.owner-card{margin-top:24px}.owner-card .system-icon{background:#1b3c73;color:#f5c518}@media(max-width:750px){.access-panel{padding:20px}.access-row,.section-heading{align-items:stretch;flex-direction:column}.access-controls{justify-content:flex-start}.top nav{flex-wrap:wrap}.invite-result input{font-size:.8rem}}
