:root{font-family:DM Sans,sans-serif;color:#14213d;background:#f4f7fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.portal-app{min-height:100vh;background:#f4f7fc}.portal-topbar,.portal-marketing-header{min-height:82px;padding:12px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid #e5eaf2}.portal-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#08275e;font-weight:900;letter-spacing:.02em}.portal-brand img{width:48px;height:48px;object-fit:contain;border-radius:50%}.portal-brand span{line-height:1.1}.portal-brand b{color:#0b3d91}.portal-brand small{display:block;margin-top:4px;color:#66728a;font-size:.72rem;font-weight:600;letter-spacing:.04em}.portal-account{display:flex;align-items:center;gap:14px}.portal-account-email{color:#66728a;font-size:.9rem}.portal-dashboard{width:min(1240px,100% - 48px);margin:0 auto;padding:54px 0 90px}.portal-dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.portal-eyebrow{display:inline-block;color:#bf690e;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.portal-dashboard h1,.portal-marketing h1{margin:8px 0 10px;color:#08275e;font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em}.portal-dashboard-heading p{margin:0;color:#66728a}.portal-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portal-button{min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;font-weight:800;font-size:.9rem;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.portal-button:hover{transform:translateY(-1px)}.portal-button:disabled{cursor:wait;opacity:.65;transform:none}.portal-button-primary{color:#fff;background:#0b3d91;box-shadow:0 3px #08275e}.portal-button-primary:hover{background:#124ca8}.portal-button-secondary{color:#0b3d91;background:#fff;border-color:#cdd7e6}.portal-button-secondary:hover{background:#f6f9ff}.portal-button-quiet{color:#384763;background:transparent;border-color:#dce3ee}.portal-button-quiet:hover{background:#f3f6fb}.portal-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}.portal-stat{padding:20px 22px;background:#fff;border:1px solid #e4e9f1;border-radius:18px;box-shadow:0 8px 24px -22px #08275e}.portal-stat-label{display:block;color:#66728a;font-size:.84rem;font-weight:700}.portal-stat strong{display:block;margin-top:8px;color:#08275e;font-size:2rem;line-height:1}.portal-stat-published{border-top:3px solid #198754}.portal-stat-draft{border-top:3px solid #edae24}.portal-stat-archived{border-top:3px solid #98a2b3}.portal-notice{margin:18px 0;padding:13px 16px;background:#ecfdf3;border:1px solid #abefc6;border-radius:12px;color:#05603a;font-weight:700}.portal-editor{margin:22px 0 32px;padding:28px;background:#fff;border:1px solid #dbe3ef;border-radius:22px;box-shadow:0 16px 42px -35px #08275e}.portal-editor-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:24px}.portal-editor h2,.portal-project-section h2{margin:5px 0 0;color:#08275e;font-size:1.55rem;line-height:1.2}.portal-icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #dce3ee;border-radius:50%;background:#fff;color:#384763;cursor:pointer;font-size:1.5rem}.portal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.portal-form-grid label{display:flex;flex-direction:column;gap:7px;color:#263653;font-size:.88rem;font-weight:800}.portal-form-grid label>span{color:#b42318}.portal-form-grid input,.portal-form-grid textarea,.portal-form-grid select{width:100%;min-height:44px;padding:11px 13px;border:1px solid #cbd5e1;border-radius:10px;outline:none;background:#fff;color:#14213d;font-weight:500}.portal-form-grid input:focus,.portal-form-grid textarea:focus,.portal-form-grid select:focus{border-color:#2e7cf6;box-shadow:0 0 0 3px #2e7cf624}.portal-form-grid textarea{resize:vertical;min-height:90px;line-height:1.5}.portal-form-grid small{color:#737f94;font-size:.76rem;font-weight:500}.portal-form-full{grid-column:1 / -1}.portal-form-actions{display:flex;justify-content:end;gap:10px;margin-top:22px}.portal-form-error{margin:16px 0 0;color:#b42318;font-weight:700}.portal-list-heading{display:flex;align-items:end;justify-content:space-between;margin:0 0 14px}.portal-list-heading>span{color:#66728a;font-size:.85rem;font-weight:700}.portal-project-list{display:grid;gap:12px}.portal-project-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;background:#fff;border:1px solid #e4e9f1;border-radius:18px}.portal-project-thumb{width:112px;height:100px;object-fit:cover;border-radius:12px;background:#e9f2ff}.portal-project-thumb-empty{display:grid;place-items:center;background:linear-gradient(135deg,#2e7cf6,#0b3d91);color:#fff;font-size:2rem;font-weight:900}.portal-project-meta{display:flex;align-items:center;gap:10px;color:#66728a;font-size:.78rem;font-weight:700}.portal-status{padding:4px 9px;border-radius:999px;font-size:.7rem;font-weight:900}.portal-status-published{background:#dcfae6;color:#05603a}.portal-status-draft{background:#fff4d6;color:#8a4b00}.portal-status-archived{background:#eef0f4;color:#475467}.portal-project-copy h3{margin:7px 0 2px;color:#08275e;font-size:1.12rem;line-height:1.25}.portal-project-org{margin:0;color:#0b3d91;font-size:.83rem;font-weight:700}.portal-project-summary{max-width:720px;margin:7px 0 0;color:#66728a;font-size:.88rem;line-height:1.45}.portal-project-actions{display:flex;flex-direction:column;gap:8px}.portal-project-actions .portal-button{min-width:98px}.portal-empty-state{padding:44px 24px;text-align:center;background:#fff;border:1px dashed #c9d5e6;border-radius:18px;color:#66728a}.portal-empty-state h3{margin:0 0 8px;color:#08275e;font-size:1.3rem}.portal-empty-state p{margin:0 auto 18px;max-width:520px}.portal-loading{min-height:100vh;display:grid;place-items:center;color:#55607a;font-weight:700}.portal-loading-compact{min-height:120px;background:#fff;border-radius:16px}.portal-marketing{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(160deg,#eff8ff,#f8f9fc 55%,#fff8ec)}.portal-marketing-header{padding-left:max(24px,calc((100vw - 1120px)/2));padding-right:max(24px,calc((100vw - 1120px)/2))}.portal-header-link,.portal-back-link{color:#0b3d91;font-weight:800;text-decoration:none}.portal-header-link:hover,.portal-back-link:hover{text-decoration:underline}.portal-marketing-main{width:min(1120px,100% - 48px);margin:auto;padding:64px 0 76px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:center;gap:50px}.portal-welcome-card{padding:36px;background:#fff;border:1px solid #e3e8f0;border-radius:24px;box-shadow:0 28px 65px -52px #08275e}.portal-welcome-card h1{margin:10px 0 15px;max-width:560px}.portal-welcome-card>p{color:#66728a;line-height:1.7}.portal-welcome-card>.portal-button{margin-top:12px}.portal-text-link{display:block;width:fit-content;margin-top:18px;color:#0b3d91;font-size:.9rem;font-weight:800}.portal-access-note{margin-top:28px;padding-top:18px;border-top:1px solid #e5eaf2;font-size:.83rem}.portal-preview-card{padding:28px;background:#08275e;border-radius:22px;color:#fff;box-shadow:0 20px 46px -30px #08275e;transform:rotate(1deg)}.portal-preview-bar{display:flex;gap:7px;margin-bottom:34px}.portal-preview-bar span{width:9px;height:9px;border-radius:50%;background:#ffc93c}.portal-preview-label{color:#ffc93c;font-size:.72rem;font-weight:900;letter-spacing:.15em}.portal-preview-title{margin:12px 0 28px;font:700 1.7rem/1.2 "Baloo 2",sans-serif}.portal-preview-row{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid rgba(255,255,255,.16);color:#dce8f8;font-size:.83rem}.portal-preview-row span:first-child{color:#ffc93c;font-weight:800}.portal-denied{flex:1;display:grid;place-items:center;padding:40px 24px}.portal-denied .portal-welcome-card{max-width:570px}.portal-denied-email{margin:18px 0;color:#0b3d91;font-weight:800;overflow-wrap:anywhere}.portal-auth-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:28px 18px;background:linear-gradient(160deg,#eff8ff,#fff8ec)}.portal-back-link{align-self:flex-start;margin-left:max(0px,calc((100vw - 1120px)/2))}.portal-footer{display:flex;justify-content:space-between;gap:14px;padding:20px max(24px,calc((100vw - 1120px)/2));color:#66728a;border-top:1px solid #e5eaf2;font-size:.8rem}.portal-footer a{color:#0b3d91;font-weight:800;text-decoration:none}@media(max-width:760px){.portal-dashboard{width:min(100% - 32px,1240px);padding-top:36px}.portal-dashboard-heading{align-items:start;flex-direction:column}.portal-heading-actions{width:100%}.portal-stat-grid{gap:10px}.portal-stat{padding:16px}.portal-stat strong{font-size:1.7rem}.portal-editor{padding:20px}.portal-project-row{grid-template-columns:80px minmax(0,1fr);align-items:start;gap:12px}.portal-project-thumb{width:80px;height:80px}.portal-project-actions{grid-column:1 / -1;flex-direction:row;justify-content:end}.portal-project-actions .portal-button{flex:1}.portal-marketing-main{width:min(100% - 32px,1120px);padding:36px 0 48px;grid-template-columns:1fr;gap:24px}.portal-welcome-card{padding:25px}.portal-preview-card{transform:none}}@media(max-width:520px){.portal-topbar,.portal-marketing-header{padding:12px 16px;min-height:70px}.portal-brand img{width:42px;height:42px}.portal-account{gap:8px}.portal-account-email{display:none}.portal-button{padding:9px 12px;font-size:.83rem}.portal-stat-grid{grid-template-columns:1fr 1fr 1fr}.portal-stat{padding:13px 10px}.portal-stat-label{font-size:.7rem}.portal-stat strong{font-size:1.45rem}.portal-form-grid{grid-template-columns:1fr}.portal-form-full{grid-column:auto}.portal-project-row{padding:12px}.portal-project-summary{font-size:.82rem}.portal-footer{flex-direction:column;padding:18px 16px}.portal-auth-page{padding:20px 12px}.portal-back-link{align-self:flex-start;margin:0}}
