.portal-page{background:#f7f7f2;color:#29433b}.portal-width{width:min(1120px,calc(100% - 80px));margin-inline:auto}.portal-header{width:min(1200px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;height:102px;gap:22px}.portal-brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:600;letter-spacing:.8px;line-height:1.4}.portal-brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:400;color:#85917f;margin-top:3px}.portal-symbol{display:grid;place-items:center;width:43px;height:43px;background:#24574e;color:#fff;border-radius:13px;font-size:36px;font-weight:400;line-height:1}.portal-header nav{display:flex;align-items:center;gap:28px;font-size:12px;color:#73816c}.portal-login{display:flex;align-items:center;gap:17px;background:#e5ecdf;border:1px solid #dbe5d3;border-radius:9px;padding:10px 15px;color:#365b43}.portal-login:hover{background:#dce7d5}.landing-hero{display:grid;grid-template-columns:1fr 1fr;gap:58px;padding-top:65px;padding-bottom:74px;align-items:center}.portal-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.7px;color:#8b9982;margin:0 0 20px}.portal-eyebrow>span{height:1px;width:23px;background:#94a48b}.hero-copy h1{font-size:51px;line-height:1.45;font-weight:500;letter-spacing:1px;margin:0}.hero-copy h1>span{color:#799575}.hero-description{color:#87957e;font-size:14px;line-height:2;margin:23px 0 28px}.hero-actions{display:flex;align-items:center;gap:24px}.hero-actions .primary-button{padding:13px 19px;font-size:12px}.hero-actions .primary-button>span{margin-left:12px}.hero-text-link{font-size:12px;color:#6b8161}.hero-note{font-size:10px;color:#a2ac97;margin-top:18px}.hero-preview{background:#fcfdf9;border:1px solid #dce5d6;border-radius:20px;box-shadow:0 22px 64px #31512909;overflow:hidden;transform:rotate(1deg)}.preview-bar{display:flex;justify-content:space-between;align-items:center;background:#eef2e7;border-bottom:1px solid #e1e8d9;padding:15px 21px;font-size:10px;color:#8b9a7d}.preview-bar>span:first-child{display:flex;align-items:center;gap:7px}.preview-bar i{display:block;width:6px;height:6px;border-radius:50%;background:#a9bba0}.preview-user{margin:24px 24px 20px 75px;background:#e9f0e3;padding:15px 19px;border-radius:12px 3px 12px 12px;font-size:11px;color:#77916b;line-height:1.9}.preview-user strong{font-size:14px;font-weight:500;color:#516c47}.preview-tool{display:flex;align-items:center;gap:9px;padding:13px 15px;margin:0 24px;border:1px solid #e1e7d9;border-radius:9px;background:white}.preview-check{width:22px;height:22px;border-radius:50%;background:#edf4e6;display:grid;place-items:center;color:#83a16d;font-size:12px}.preview-tool strong{display:block;font-size:11px;font-weight:500;color:#6c855e}.preview-tool small{display:block;font-size:9px;color:#a3af97;margin-top:2px}.preview-tool code{margin-left:auto;font-size:9px;color:#879d79;background:#f1f5eb;padding:4px 6px;border-radius:4px}.preview-answer{display:flex;gap:12px;margin:25px 25px 28px}.answer-mark{width:28px;height:28px;flex-shrink:0;background:#e5eddd;border-radius:9px;text-align:center;color:#76915f;font-size:26px;line-height:28px}.preview-answer p{font-size:12px;color:#8c9a80;margin:0 0 9px}.preview-answer strong{font-weight:400;font-size:15px;color:#617a52}.preview-answer em{font-size:30px;font-style:normal;letter-spacing:1px;color:#42633d;margin-left:3px}.preview-answer .preview-answer-note{font-size:10px;margin:10px 0 0;color:#a0ac94}.preview-footer{display:flex;justify-content:space-between;border-top:1px solid #e5ebdd;padding:13px 24px;font-size:9px;color:#9aa98b}.preview-footer>span:first-child{color:#8ba176}.project-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e0e5d9;border-bottom:1px solid #e0e5d9;padding:24px 0;font-size:11px;color:#9aa68f;gap:15px}.project-strip>span{text-align:center;border-right:1px solid #e0e5d9}.project-strip>span:last-child{border:0}.project-strip strong{font-weight:500;color:#74896a;margin-right:5px}.portal-section{padding-block:80px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:31px}.section-heading .portal-eyebrow{margin-bottom:12px}.portal-page h2{font-size:27px;font-weight:500;letter-spacing:.4px;line-height:1.6;margin:0;color:#45613f}.section-heading>p{font-size:11px;color:#98a38e;line-height:1.9;margin:0 0 4px}.demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:start}.demo-card{border:1px solid #e0e7d7;border-radius:14px;padding:25px 24px;background:#fbfcf7}.demo-number{font-size:11px;color:#9faf91;background:#edf3e5;display:grid;place-items:center;border-radius:8px;width:29px;height:29px;margin-bottom:17px}.demo-card h3{font-size:15px;font-weight:500;color:#5b764f;margin:0 0 10px}.demo-card>p{font-size:11px;line-height:1.95;color:#96a38b;margin:0 0 22px}.demo-card summary{font-size:11px;color:#668555;cursor:pointer}.demo-steps{list-style:none;padding:0;margin:20px 0 0;counter-reset:step}.demo-steps li{position:relative;padding:0 0 18px 24px;border-left:1px solid #dfe8d4;margin-left:8px;counter-increment:step}.demo-steps li:last-child{border-left-color:transparent;padding-bottom:0}.demo-steps li:before{position:absolute;content:counter(step);display:grid;place-items:center;width:17px;height:17px;left:-9px;top:0;font-size:8px;color:#90a37c;background:#eaf1e1;border-radius:50%}.demo-steps strong{display:block;font-size:10px;font-weight:500;color:#7e936f}.demo-steps span{display:block;font-size:10px;color:#a0ad93;margin-top:5px;line-height:1.8;overflow-wrap:anywhere}.demo-card .demo-footnote{font-size:9px;margin:17px 0 0;color:#a8b39c}.architecture-section{padding:58px 0 61px;background:#eef2e7;border-block:1px solid #e2e8d8}.architecture-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.25fr;align-items:center;gap:18px;margin:31px 0}.architecture-flow>div{background:#f9fbf5;border:1px solid #dce6d1;border-radius:10px;padding:19px 16px;min-height:116px}.architecture-flow small{display:block;color:#a3b092;font-size:9px;letter-spacing:1px}.architecture-flow strong{display:block;color:#5c7a49;font-size:15px;font-weight:500;margin:7px 0 5px}.architecture-flow div>span{display:block;font-size:10px;color:#96a784}.flow-arrow{font-size:19px;color:#aab99b}.architecture-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.architecture-notes p{font-size:10px;color:#9aa98c;line-height:1.9;margin:0}.architecture-notes strong{display:block;font-size:11px;color:#7d956a;font-weight:500;margin-bottom:6px}.boundary-section{display:grid;grid-template-columns:.95fr 1.45fr;gap:55px;align-items:start}.boundary-section .portal-eyebrow{margin-bottom:12px}.boundary-intro{font-size:12px;color:#96a28c;line-height:1.9;max-width:310px;margin-top:18px}.boundary-lists{display:grid;grid-template-columns:1fr 1fr;gap:30px}.boundary-lists h3{font-size:12px;font-weight:500;color:#748a63;margin:4px 0 17px}.boundary-lists ul{margin:0;padding:0;list-style:none}.boundary-lists li{font-size:10px;color:#9aa58f;margin:0 0 13px;padding-left:12px;position:relative;line-height:1.9}.boundary-lists li:before{content:"";position:absolute;left:0;top:8px;width:3px;height:3px;border-radius:50%;background:#a4b293}.invite-cta{padding:33px 36px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#eaf0e1;border:1px solid #dfe7d3;border-radius:15px;margin-bottom:50px}.invite-cta .portal-eyebrow{margin-bottom:7px}.invite-cta h2{font-size:23px}.invite-cta p:not(.portal-eyebrow){font-size:11px;color:#97a587;margin:9px 0 0}.invite-cta .primary-button{padding:12px 19px}.invite-cta .primary-button>span{margin-left:13px}.portal-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e2e7d9;padding-block:24px 30px;font-size:9px;color:#a4ae99}.back-link{font-size:11px;color:#899c7a}.auth-page{min-height:100dvh;display:flex;flex-direction:column}.auth-layout{width:min(940px,calc(100% - 80px));margin:38px auto 70px;display:grid;grid-template-columns:1fr 430px;align-items:center;gap:78px;flex:1}.auth-intro h1{font-size:36px;line-height:1.6;font-weight:500;margin:0;color:#496341}.auth-intro h1 span{color:#8fa581}.auth-intro>p:not(.portal-eyebrow){font-size:13px;color:#9aaa8b;line-height:2;margin:22px 0}.auth-note{display:flex;gap:12px;border-top:1px solid #e2e8d9;margin-top:35px;padding-top:24px;align-items:flex-start}.auth-note>span{font-size:25px;color:#8fa87b;line-height:1.6}.auth-note>p{font-size:11px;color:#9aa98c;line-height:1.9;margin:0 0 16px}.auth-card{background:#fcfdf9;border:1px solid #dfe7d5;border-radius:20px;padding:32px 34px;box-shadow:0 15px 40px #35532904}.auth-icon{display:grid;place-items:center;background:#e9f0e1;color:#8fa57b;width:43px;height:43px;border-radius:12px;font-size:31px;margin-bottom:23px}.auth-card .portal-eyebrow{font-size:9px;margin-bottom:6px}.auth-card h2{font-size:25px}.auth-description{font-size:11px;color:#9aa98c;line-height:1.9;margin:10px 0 23px}.auth-card input:not([type=checkbox]),.admin-form input,.admin-form select{width:100%;padding:11px 12px;border:1px solid #dce5d1;border-radius:8px;background:#fff;color:#536f46;font-size:12px}.auth-card input::placeholder,.admin-form input::placeholder{font-size:10px;color:#adb99f}.auth-card .field-label{font-size:11px;margin-top:17px}.auth-card .primary-button{width:100%;margin-top:23px;justify-content:space-between;font-size:12px;padding:12px 14px}.auth-footnote{font-size:10px;color:#a5b097;line-height:1.9;margin:20px 0 0}.auth-status{font-size:11px;color:#8a9e77;line-height:1.8}.auth-card .form-error{font-size:11px;line-height:1.8;margin:15px 0 0}.auth-card .loading-note{padding:15px 0}.auth-page .portal-footer{margin-top:auto}.account-actions{display:flex;align-items:center;gap:11px;padding:13px 10px 0;font-size:10px;color:#8f9e84}.account-actions>span{margin-right:auto;max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-actions>button{font-size:10px;padding:0;color:#7b916e}.account-actions>a{font-size:10px;color:#628153}.migration-notice{padding:12px 19px;background:#eef3e4;border-bottom:1px solid #dfe7d5;font-size:11px;line-height:1.8;color:#7f956d;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.migration-notice>p{margin:0;flex:1;min-width:190px}.migration-notice .text-button{font-size:11px;white-space:nowrap}.admin-layout{width:min(1100px,calc(100% - 80px));margin:30px auto 70px;flex:1}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px;gap:25px}.admin-heading h1{font-weight:500;font-size:31px;line-height:1.4;margin:0 0 10px;color:#486640}.admin-heading p{font-size:12px;color:#92a282;margin:0}.admin-grid{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}.admin-card{background:#fcfdf9;border:1px solid #dfe7d5;border-radius:14px;padding:25px}.admin-card h2{font-size:18px;margin-bottom:12px}.admin-card>p{font-size:11px;color:#96a48a;line-height:1.9}.admin-form .field-label{font-size:11px}.admin-form .primary-button{margin-top:20px;width:100%}.admin-form .field-help{line-height:1.8}.admin-card+.admin-card{margin-top:22px}.admin-card-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.admin-card-header h2{margin:0}.admin-list{display:grid;gap:12px;margin-top:20px}.admin-record{border:1px solid #e0e8d6;background:#f8faf3;border-radius:9px;padding:14px 15px}.admin-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.admin-record h3{font-size:12px;font-weight:500;margin:0;color:#668153;overflow-wrap:anywhere}.admin-record p{font-size:10px;color:#9aa98a;line-height:1.9;margin:6px 0 0;overflow-wrap:anywhere}.admin-record-actions{display:flex;gap:18px;margin-top:9px;flex-wrap:wrap}.admin-record-actions button{font-size:10px;color:#7c9666;padding:4px 0}.admin-record-actions button.danger{color:#b38d6f}.admin-empty{font-size:11px;color:#a0ae91;padding:10px 0}.admin-feedback{font-size:11px;line-height:1.9;color:#7f956c;white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0 0}.invite-result{padding:15px;border:1px solid #d8e6c9;background:#eff6e7;border-radius:9px;margin-top:20px}.invite-result p{font-size:10px;line-height:1.8;color:#8c9f7b;margin:0 0 10px}.invite-result textarea{width:100%;font-size:10px;line-height:1.8;padding:10px;border:1px solid #dae5cd;border-radius:7px;color:#6c8758;background:white;overflow-wrap:anywhere}.invite-result button{margin-top:9px;font-size:11px}.admin-help{margin-top:23px;padding:18px 22px;background:#edf2e5;border-radius:10px;color:#9aa98b;font-size:11px;line-height:1.9}.auth-expiry{font-size:9px;color:#9daa90;margin-top:4px}.button-row{display:flex;align-items:center;gap:16px}.admin-error{color:#b17d5f}.admin-dialog{max-width:calc(100vw - 30px);width:410px;padding:27px;border:1px solid #dfe7d5;border-radius:16px;background:#fcfdf9;color:#506f43}.admin-dialog::backdrop{background:#263d2e55}.admin-dialog h2{font-size:20px;margin:0 0 10px}.admin-dialog p{font-size:11px;color:#9aa98a;line-height:1.9}.admin-dialog .dialog-actions{margin-top:20px}.admin-dialog input{width:100%;font-size:12px;border:1px solid #dce5d0;border-radius:8px;padding:10px;background:#fff}.admin-dialog .field-label{font-size:11px}
@media(max-width:1000px){.landing-hero{gap:30px}.hero-copy h1{font-size:42px}.hero-actions{gap:15px}.hero-text-link{font-size:11px}.preview-tool code{font-size:8px}.preview-tool{padding:10px}.demo-card{padding:20px 18px}.architecture-flow{gap:10px}.architecture-flow>div{padding:17px 13px}.architecture-flow strong{font-size:13px}.section-heading>p{max-width:240px}.boundary-section{gap:30px}.auth-layout{gap:40px;grid-template-columns:1fr 400px}.auth-intro h1{font-size:32px}.admin-grid{grid-template-columns:310px 1fr}}
@media(max-width:760px){.portal-width,.portal-header,.auth-layout,.admin-layout{width:calc(100% - 40px)}.portal-header{height:84px;gap:12px}.portal-brand{font-size:18px;gap:9px}.portal-brand small{font-size:8px}.portal-symbol{width:37px;height:37px;font-size:31px;border-radius:11px}.portal-header nav{gap:16px;font-size:10px}.portal-login{padding:8px 10px;gap:8px}.hide-small{display:none!important}.landing-hero{grid-template-columns:1fr;gap:33px;padding-top:32px;padding-bottom:41px}.hero-copy h1{font-size:42px}.hero-description{font-size:12px;margin:19px 0 24px}.portal-eyebrow{font-size:9px;margin-bottom:15px;letter-spacing:1.2px}.hero-copy{padding-inline:6px}.hero-actions{gap:19px;flex-wrap:wrap}.hero-actions .primary-button{font-size:11px;padding:11px 16px}.hero-note{font-size:9px}.hero-preview{transform:none;margin-inline:5px}.preview-user{margin-left:63px}.preview-tool code{font-size:9px}.project-strip{grid-template-columns:1fr 1fr;gap:17px;padding:22px 0;font-size:10px}.project-strip>span:nth-child(2){border:0}.portal-section{padding-block:46px}.section-heading{display:block;margin-bottom:24px}.portal-page h2{font-size:22px}.section-heading>p{max-width:none;margin-top:13px;font-size:10px}.demo-grid{grid-template-columns:1fr;gap:14px}.demo-card{padding:22px}.demo-card h3{font-size:14px}.demo-card>p{font-size:11px;margin-bottom:17px}.demo-number{margin-bottom:13px}.architecture-section{padding:38px 0}.architecture-flow{grid-template-columns:1fr auto 1fr;gap:12px;margin-block:25px}.architecture-flow .flow-arrow:nth-child(4){display:none}.architecture-flow>div{min-height:108px}.architecture-flow>div:nth-child(5){grid-column:1}.architecture-flow>div:nth-child(7){grid-column:3}.architecture-notes{grid-template-columns:1fr;gap:18px}.architecture-notes strong{margin-bottom:3px}.boundary-section{grid-template-columns:1fr;gap:20px}.boundary-intro{font-size:11px;max-width:none;margin:14px 0 0}.boundary-lists{gap:22px}.boundary-lists h3{font-size:11px;margin-bottom:13px}.boundary-lists li{font-size:10px}.invite-cta{display:block;padding:25px;margin-bottom:30px}.invite-cta h2{font-size:21px}.invite-cta p:not(.portal-eyebrow){font-size:10px}.invite-cta .primary-button{margin-top:23px;width:max-content;font-size:11px;padding:11px 16px}.portal-footer{font-size:8px;flex-wrap:wrap;gap:8px;padding-block:20px}.portal-footer>span:last-child{width:100%}.auth-layout{grid-template-columns:1fr;margin-top:22px;margin-bottom:40px;gap:27px;max-width:450px}.auth-intro{padding:0 4px}.auth-intro .portal-eyebrow{font-size:9px;margin-bottom:11px}.auth-intro h1{font-size:30px}.auth-intro>p:not(.portal-eyebrow){display:none}.auth-note{display:none}.auth-intro>.hero-text-link{display:none}.auth-card{padding:27px;border-radius:17px}.auth-icon{margin-bottom:19px}.auth-card input:not([type=checkbox]){font-size:16px;padding:10px 12px}.auth-card input::placeholder{font-size:10px}.back-link{font-size:10px}.admin-layout{margin-top:22px;margin-bottom:40px}.admin-heading{display:block}.admin-heading h1{font-size:27px}.admin-heading .button-row{margin-top:17px}.admin-heading p{font-size:11px}.admin-grid{grid-template-columns:1fr;gap:19px}.admin-card{padding:22px}.admin-card h2{font-size:17px}.admin-form input,.admin-form select,.admin-dialog input{font-size:16px}.admin-help{font-size:10px}.migration-notice{padding:10px 15px;font-size:10px;gap:7px}.account-actions{padding-top:12px}.auth-intro h1 br{display:none}.auth-intro h1{font-size:26px}.auth-card .auth-description{font-size:11px}}
.hero-description,.auth-intro>p:not(.portal-eyebrow),.section-heading>p,.demo-card>p,.demo-steps span,.architecture-notes p,.boundary-intro,.boundary-lists li,.invite-cta p:not(.portal-eyebrow),.auth-description,.auth-note>p,.auth-card .field-help,.auth-footnote,.admin-card>p,.admin-form .field-help,.admin-record p,.admin-help,.admin-dialog p{color:#6e7e64}.portal-page .portal-eyebrow,.preview-answer p,.preview-tool small,.preview-footer,.preview-bar,.project-strip,.architecture-flow div>span,.auth-status,.admin-empty{color:#7f9073}.demo-card>p,.demo-steps span,.architecture-notes p,.boundary-lists li{font-size:12px}.auth-description,.auth-footnote,.admin-card>p,.admin-record p,.admin-help{font-size:12px}.hero-note,.portal-footer,.demo-card .demo-footnote,.preview-answer .preview-answer-note{color:#859478}.demo-steps strong,.architecture-notes strong{font-size:12px}.preview-tool code{color:#70875f}.portal-page .field-label{color:#5e764f}.auth-card .field-help{font-size:11px}.portal-page .form-error{color:#a55f3e}.portal-page .quiet-label{color:#7f9073}.portal-header nav{color:#5f7651}
@media(max-width:760px){.hero-copy h1{font-size:clamp(30px,9.5vw,38px)}.demo-card>p,.demo-steps span,.architecture-notes p,.boundary-lists li{font-size:11px}.auth-description,.auth-footnote,.admin-card>p,.admin-record p,.admin-help{font-size:11px}.demo-steps strong,.architecture-notes strong{font-size:11px}}
@media(max-width:380px){.portal-header nav>a:first-child{display:none}.preview-tool code{font-size:8px;padding:3px}.preview-tool small{font-size:8px}.preview-answer{margin-inline:20px}.preview-user{margin-inline:55px 20px}.preview-tool{margin-inline:20px}.hero-actions{gap:14px}.hero-text-link{font-size:10px}.auth-card{padding:23px}.boundary-lists{grid-template-columns:1fr;gap:12px}}

.permission-options{border:0;margin:20px 0 0;padding:0}
.permission-options legend{padding:0;font-size:12px;color:#506f43;margin-bottom:10px;font-weight:600}
.permission-option{display:flex;align-items:flex-start;gap:10px;margin:0;padding:9px 0;cursor:pointer}
.permission-options .permission-option input{width:16px;height:16px;flex:none;accent-color:#24574e;margin:3px 0 0;padding:0}
.permission-option strong{font-size:12px;font-weight:500;display:block;color:#536f46}
.permission-option small{font-size:11px;line-height:1.7;display:block;color:#798c6b;margin-top:2px}
.permission-options .field-help{font-size:11px;margin:8px 0 0;line-height:1.8;color:#7f9073}
.permission-editor{margin-top:12px;border-top:1px solid #dfe7d5;padding-top:10px}
.permission-editor summary{cursor:pointer;font-size:12px;color:#486f3d}
.permission-editor .permission-options{margin-top:15px}
.permission-editor .secondary-button{margin-top:12px}
.admin-record .permission-summary{color:#607b51}
.admin-record .credential-url{font-size:11px;word-break:break-all}
.approval-mode-form select{width:100%;font-size:12px;padding:10px 12px;border:1px solid #dce5d1;border-radius:8px;background:#fff;color:#536f46}.approval-mode-form .field-label{font-size:11px}.approval-mode-form .field-help{font-size:11px;line-height:1.8;color:#7f9073}.approval-mode-form select:focus-visible{outline:2px solid #8cae9d;outline-offset:2px}
@media(max-width:760px){.approval-mode-form select{font-size:16px}}
