body{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh;color:#142033;font-size:15px}.portal-header{background:white;border-bottom:1px solid #ddd;box-shadow:0 1px 2px #00000009}.portal-header-inner,.portal-nav,.portal-shell,.portal-footer{width:min(1368px,calc(100% - 64px));margin:auto}.portal-header-inner{display:flex;justify-content:space-between;align-items:center;height:64px;border-bottom:1px solid #f1f1f1}.portal-header .brand{font-size:34px;letter-spacing:-1px;font-weight:400}.portal-header .brand-symbol{width:64px;height:42px}.language-badge{background:#202938;color:white;border-radius:6px;padding:5px;font-size:12px}.portal-nav{display:flex;height:60px;align-items:stretch;gap:0}.portal-nav a{text-decoration:none;padding:20px 16px 17px;border-bottom:2px solid transparent}.portal-nav a.is-current{border-color:#06b6d4}.portal-nav a:hover{background:#fafafa}.portal-shell{flex:1;padding:18px 0}.portal-notice{border:1px solid;border-radius:7px;display:flex;gap:16px;align-items:center;padding:15px 16px;margin-bottom:17px;min-height:56px}.portal-notice p{margin:0;line-height:1.5}.portal-notice.info{color:#4338ca;border-color:#b8b5ff;background:#eef0ff}.portal-notice.warning{color:#155e75;border-color:#67e8f9;background:#ecfeff}.portal-card{background:#fff;border-radius:10px;box-shadow:0 2px 3px #0002;overflow:hidden;margin-bottom:18px}.card-title{font-size:20px;letter-spacing:0;font-weight:400;padding:24px 27px;margin:0;border-bottom:1px solid #e0e3e8;line-height:1.2}.card-body{padding:25px 27px 22px}.card-body label{font-weight:400;margin-bottom:6px}.card-body input,.card-body select{min-height:43px;border-radius:6px;padding:9px 13px;font-size:14px;box-shadow:0 1px 3px #0001}.card-bottom{background:#f8f9fa;display:flex;justify-content:flex-end;gap:9px;padding:27px}.card-bottom button{min-height:43px}.primary{background:#22d3ee;color:#151b23;border:0;box-shadow:0 2px 3px #0001}.dark-button{background:#202938;color:white;border:0;border-radius:7px;padding:11px 15px}.portal-status{margin:0;padding:0 27px}.portal-status:not(:empty){padding:14px 27px}.mac-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.mac-badge{display:inline-block;background:#a5f3fc;color:#155e75;border-radius:7px;padding:9px;font-size:19px;font-weight:600;margin-top:6px}.icon-button{background:#a5f3fc;color:#155e75;border:0;border-radius:7px;width:41px;height:41px;font-size:24px;flex-shrink:0}.source-row{display:grid;grid-template-columns:200px minmax(200px,1fr) minmax(180px,305px) 41px;gap:14px;padding:26px 0;border-bottom:1px solid #e0e3e8;align-items:start}.source-row:last-child{border:0}.source-row label{position:relative;font-size:12px}.source-row label>span{position:absolute;left:9px;top:-9px;background:#fff;padding:0 4px;z-index:1}.source-row .source-fields{display:grid;gap:14px}.source-row .icon-button{font-size:21px}.source-row input[type=file]{max-width:100%;font-size:12px}.file-note{font-size:12px;color:#717b8b;margin-top:5px;display:block}.portal-footer{padding:23px 0;border-top:1px solid #e0e3e8;color:#758196;font-size:13px;display:flex;justify-content:space-between;gap:20px}.consent{display:flex;align-items:center;gap:14px;margin-top:16px;line-height:1.5}.consent input[type=checkbox]{width:24px;height:24px;min-height:24px;padding:0;accent-color:#0891b2;flex-shrink:0}.portal-nav a:focus-visible,.icon-button:focus-visible{outline:2px solid #0891b2;outline-offset:2px}@media(max-width:1000px){.source-row{grid-template-columns:150px minmax(180px,1fr) minmax(130px,220px) 41px;gap:10px}}@media(max-width:760px){.portal-header-inner,.portal-nav,.portal-shell,.portal-footer{width:calc(100% - 28px)}.portal-header .brand{font-size:29px}.portal-nav a{padding:20px 12px}.card-title{padding:22px 19px}.card-body{padding:24px 19px}.card-bottom{padding:22px 19px;flex-wrap:wrap}.source-row{grid-template-columns:minmax(0,1fr) 41px;gap:18px 10px}.source-row>label:first-child{grid-column:1}.source-fields,.source-row>label:nth-child(3){grid-column:1}.source-row>.icon-button{grid-column:2;grid-row:1}.portal-footer{flex-direction:column;gap:10px}.portal-status:not(:empty){padding:14px 19px}}

.card-body label{margin:0 0 6px;font-size:15px}.source-row label{font-size:12px}.card-body .consent{margin:16px 0 0}.portal-nav a{display:flex;align-items:center;gap:10px}.nav-icon{width:23px;height:23px;flex-shrink:0}.portal-shell .primary,.portal-shell .secondary,.portal-shell .dark-button{font-size:14px;font-weight:400}
