/* Two deliberately distinct entry pages. No external assets or font dependency. */
.portal-login{min-height:100dvh;display:grid;grid-template-columns:minmax(410px,1.05fr) minmax(420px,1fr);font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:#f6f8fc;color:#19324d}
.portal-story{background:#102a4b;color:white;position:relative;display:flex;flex-direction:column;overflow:hidden;padding:44px 58px}
.portal-story:before{content:"";position:absolute;right:-170px;top:-130px;width:650px;height:650px;border-radius:50%;border:1px solid #ffffff0b;box-shadow:0 0 0 75px #ffffff03,0 0 0 150px #ffffff02;pointer-events:none}
.portal-owner .portal-story{background:linear-gradient(145deg,#102f2d,#0d222b 78%)}
.portal-staff .portal-story{background:linear-gradient(145deg,#123354,#121f3b 82%)}
.portal-brand{display:flex;gap:14px;align-items:center;position:relative;z-index:1}.portal-symbol{display:grid;place-items:center;border:1px solid #ffffff30;width:43px;height:43px;border-radius:13px;font-size:31px;color:#c2d6ff}.portal-owner .portal-symbol{color:#d9c893}
.portal-brand strong{font-size:20px;letter-spacing:.03em}.portal-brand small{display:block;font-size:11px;letter-spacing:.17em;color:#9cabc4;margin-top:7px}
.portal-story-copy{position:relative;margin:auto 0;padding:66px 0 72px;z-index:1;max-width:525px}.portal-badge{display:inline-flex;align-items:center;gap:10px;border-radius:30px;background:#ffffff09;border:1px solid #ffffff1a;padding:9px 13px;font-size:12px;color:#c5d8f2}.portal-badge span,.portal-dot{display:inline-block;width:6px;height:6px;background:#76c9a3;border-radius:50%}.portal-owner .portal-badge{color:#d5c99c}
.portal-story h1{font-size:clamp(30px,2.65vw,43px);font-weight:650;line-height:1.52;letter-spacing:-.04em;color:#fafcff;margin:24px 0 16px}.portal-owner .portal-story h1{color:#f0efe4}.portal-story p{font-size:13px;line-height:2.15;color:#a9bad2;margin:0}.portal-owner .portal-story p{color:#a8bdb8}
.portal-feature-list{margin-top:40px;max-width:380px}.portal-feature-list>div{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid #ffffff12}.portal-feature-list>div>span{color:#7f97b7;font-size:11px;letter-spacing:.12em}.portal-feature-list b{font-weight:450;font-size:13px;color:#d2dff1}.portal-feature-list i{font-style:normal;margin-left:auto;color:#6e8aa7}.portal-owner .portal-feature-list b{color:#d4dfd5}
.portal-story-foot{color:#8fabc3;display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.04em;position:relative}
.portal-form-area{display:flex;align-items:center;justify-content:center;padding:55px 60px}.portal-form-wrap{max-width:420px;width:100%}.portal-step{font-size:12px;font-weight:600;letter-spacing:.18em;color:#768aa5;margin-bottom:17px}.portal-form-wrap h2{font-size:29px;color:#162d47;font-weight:650;letter-spacing:-.03em;margin:0 0 13px}.portal-subtitle{font-size:13px;color:#7d8da3;line-height:1.9;margin:0 0 32px}
.portal-form .field{margin-bottom:20px}.portal-form .field>span{font-size:12px;color:#637991;font-weight:550;margin-bottom:9px}.portal-form input{height:52px;background:white;border:1px solid #d7e0eb;border-radius:10px;font-size:14px;padding:14px 16px}.portal-form input::placeholder{color:#a6b0bf}.portal-form input:focus{border-color:#658df2;box-shadow:0 0 0 3px #4769dc13;outline:none}.portal-owner .portal-form input:focus{border-color:#2a8c74;box-shadow:0 0 0 3px #24866f16}
.portal-submit{height:52px;border-radius:10px;font-size:14px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;box-shadow:0 6px 16px #395bd918}.portal-owner .portal-submit{background:#246b5a;border-color:#246b5a;box-shadow:0 6px 16px #246b5a18}.portal-owner .portal-submit:hover{background:#1d584b;border-color:#1d584b}.portal-submit span{font-size:20px}.portal-safe{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.95;color:#8293a8;margin-top:23px}.portal-safe>span{font-size:13px;color:#749297}.portal-form-bottom{margin-top:42px;padding-top:20px;border-top:1px solid #e3e9f1;font-size:11px;color:#9aabba}.portal-pending{padding:26px;border:1px solid #dce4ee;border-radius:12px;background:#fff}.portal-pending>span{font-size:28px;color:#9a842f}.portal-pending h3{margin:14px 0 8px;font-size:17px}.portal-pending p{font-size:13px;line-height:1.9;color:#75879d;margin-bottom:20px}
.portal-sharing{margin-bottom:22px}.portal-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px}.portal-share-item{border:1px solid #e2e9f1;padding:19px;border-radius:12px;background:#fafcfe}.portal-share-item h4{font-size:15px;margin:15px 0 10px}.portal-share-item code{font-size:12px;display:block;word-break:break-all;color:#65768e;margin-bottom:18px;line-height:1.7}.portal-copy-fallback{width:100%;min-height:100px}
@media(min-width:1500px){.portal-story{padding:55px 85px}.portal-form-area{padding:65px 90px}}
@media(max-width:940px){.portal-login{grid-template-columns:1fr 1.12fr}.portal-story{padding:30px}.portal-form-area{padding:40px 32px}.portal-story h1{font-size:29px}.portal-story p br{display:none}}
@media(max-width:720px){.portal-login{display:block;min-height:100dvh}.portal-story{padding:24px 26px 28px;min-height:0}.portal-brand strong{font-size:17px}.portal-brand small{font-size:10px}.portal-symbol{width:38px;height:38px}.portal-story-copy{padding:27px 0 0;margin:0}.portal-badge{font-size:10px;padding:6px 10px}.portal-story h1{font-size:25px;margin:13px 0 6px;line-height:1.45}.portal-story h1 br{display:none}.portal-story p,.portal-feature-list,.portal-story-foot{display:none}.portal-form-area{padding:31px 25px 35px}.portal-form-wrap{max-width:460px}.portal-form-wrap h2{font-size:24px}.portal-subtitle{font-size:12px;margin-bottom:24px}.portal-step{font-size:11px;margin-bottom:11px}.portal-form .field{margin-bottom:16px}.portal-safe{font-size:10px}.portal-form-bottom{margin-top:26px}.portal-share-grid{grid-template-columns:1fr;padding:17px}}

/* Unified welcome page: an airy product-first surface inspired by modern AI
   product introductions, while keeping the actual role login on the right. */
.portal-unified{background:#f7f9fc;grid-template-columns:minmax(480px,1.12fr) minmax(440px,.88fr)}
.portal-unified .portal-story{background:radial-gradient(circle at 85% 22%,#315d8d 0,#183a61 30%,#0e243e 72%);padding:52px 64px}
.portal-unified .portal-story:after{content:"";position:absolute;inset:auto -14% -30% -10%;height:45%;background:linear-gradient(180deg,transparent,#0b1d33);opacity:.85;pointer-events:none}
.portal-unified .portal-story-copy{padding:78px 0 45px;max-width:610px}
.portal-unified .portal-story h1{font-size:clamp(34px,3.25vw,54px);line-height:1.3;letter-spacing:-.06em;margin:27px 0 20px}
.portal-unified .portal-story p{font-size:14px;line-height:2;color:#b9cce0;max-width:510px}
.portal-unified .portal-badge{background:#ffffff12;border-color:#ffffff25;color:#dcecff}
.portal-unified .portal-feature-list{margin-top:37px;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;max-width:550px}
.portal-unified .portal-feature-list>div{padding:13px 0}
.portal-unified .portal-product-cards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:610px;margin:0 0 30px}
.portal-unified .portal-product-cards>div{padding:13px 14px;border:1px solid #ffffff1b;border-radius:13px;background:#ffffff0b;backdrop-filter:blur(10px)}
.portal-unified .portal-product-cards b{display:block;color:#f3f7ff;font-size:11px;font-weight:600;margin-bottom:4px}
.portal-unified .portal-product-cards span{display:block;color:#9eb8d4;font-size:10px;line-height:1.5}
.portal-unified .portal-story-foot{z-index:1;color:#9db7d0}
.portal-unified .portal-form-area{background:linear-gradient(180deg,#fbfcfe,#f2f6fb);align-items:center}
.portal-unified .portal-form-wrap{width:min(380px,100%)}
.portal-unified .portal-form-wrap:before{content:"WELCOME / INTERNATIONAL AESTHETICS";display:block;color:#9aaec4;font-size:9px;letter-spacing:.18em;margin-bottom:24px}
.portal-unified .portal-submit{background:#183e67;border-color:#183e67;border-radius:11px;min-height:48px;box-shadow:0 10px 22px #183e6726}
.portal-unified .portal-safe{border-color:#dce6f1;background:#f6f9fd}
@media(max-width:940px){.portal-unified{grid-template-columns:1fr 1fr}.portal-unified .portal-story{padding:38px 34px}.portal-unified .portal-product-cards{grid-template-columns:1fr}.portal-unified .portal-feature-list{grid-template-columns:1fr}}
@media(max-width:720px){.portal-unified .portal-story{padding:26px 26px 30px}.portal-unified .portal-story-copy{padding:42px 0 28px}.portal-unified .portal-story h1{font-size:31px}.portal-unified .portal-product-cards{display:none}.portal-unified .portal-story p{font-size:12px}.portal-unified .portal-form-wrap:before{margin-bottom:17px}}
