:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#183c40;background:#f3f7f6;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dce6e3;padding:22px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:26px;font-weight:800;letter-spacing:-1px;text-decoration:none;display:inline-flex;align-items:center;gap:10px}.brand img{border-radius:7px;flex-shrink:0}.brand span{font-size:12px;letter-spacing:2px;font-weight:500;margin-left:10px}a{color:#116e66}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}main{max-width:1120px;margin:48px auto;padding:0 24px}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;letter-spacing:-1.5px;font-weight:650;margin:18px 0}h2{font-size:20px;line-height:1.5;margin-top:0}h2 span{margin-left:10px}p{line-height:1.65}.intro{color:#506d6c;margin-bottom:32px;font-size:18px}.eyebrow{font-size:11px;letter-spacing:2px;color:#477a73;font-weight:700}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.card{background:#fff;border:1px solid #dce6e3;border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 5px 18px #153e3705}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:550;margin-bottom:18px}input,select,textarea{font:inherit;color:#183c40;background:#fbfdfc;border:1px solid #b7ccc6;border-radius:8px;padding:12px;width:100%;min-width:0}textarea{resize:vertical}button{font:inherit;cursor:pointer;border:1px solid #b7ccc6;border-radius:8px;padding:10px 17px;background:#fff;color:#183c40}button.primary{background:#126b60;color:#fff;border-color:#126b60;font-weight:600;padding:13px 24px}button:hover{filter:brightness(.95)}:focus-visible{outline:3px solid #df9c37;outline-offset:3px}.result{background:#e2f0e9;border-color:#c2dcd0}.number{font-size:74px;line-height:1.2;letter-spacing:-4px;font-weight:650;color:#126b60}.result strong{font-size:30px}.stage-badge{display:inline-block;font-weight:700;font-size:15px;border-radius:8px;padding:7px 16px;margin:6px 0 4px;line-height:1.4}.stage-badge.large{font-size:19px;padding:12px 20px;margin:0 0 16px;display:block}.stage-1{background:#dcefe2;color:#0e5c3f}.stage-2{background:#e2f0e9;color:#126b60}.stage-3A{background:#fff1cf;color:#7a5a0a}.stage-3B{background:#ffdfb8;color:#8a4b0f}.stage-4{background:#fbd6c9;color:#9c3b13}.stage-5{background:#f6c6c6;color:#7a1414}.muted{font-size:13px;color:#526e68}hr{border:0;border-top:1px solid #bcd6ca;margin:24px 0}.warning{background:#fff6e5;border:1px solid #ecd6a9;border-radius:10px;padding:18px;line-height:1.65;font-size:14px;color:#6b532a}footer{font-size:12px;color:#526e68;margin:32px 0}.login{max-width:440px;margin:32px 0}.check{flex-direction:row;align-items:flex-start;line-height:1.6}.check input{width:18px;margin-top:4px;flex-shrink:0}.search{display:flex;gap:16px;align-items:center}.search label{flex:1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:14px;border-bottom:1px solid #dce6e3}td form{display:inline-block;margin:8px}.danger{color:#9b2929}#dose-result{white-space:pre-wrap;overflow-wrap:anywhere}#dose-result:not(:empty){margin-top:22px;border-top:1px solid #dce6e3;padding-top:12px}nav form{margin:0}@media(max-width:720px){.grid,.fields{grid-template-columns:1fr}main{margin-top:30px;padding:0 16px}.card{padding:20px}header{align-items:flex-start;padding:18px}.brand span{display:block;margin-left:0}nav{gap:12px;font-size:13px}.number{font-size:64px}.search{align-items:flex-end}}
.import-callout{display:flex;align-items:center;gap:28px}.import-callout>div:first-child{flex:1}.import-callout h2{margin-bottom:6px}.import-callout p{margin:0}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.button-link{display:inline-block;background:#126b60;color:#fff;text-decoration:none;border-radius:8px;padding:13px 22px;font-weight:600;white-space:nowrap}.button-link:hover{background:#0e574e}.help-list{padding-left:22px;line-height:1.8}.success{background:#e2f0e9;border:1px solid #b5d4c5;border-radius:12px;padding:24px;margin-bottom:24px}.import-counts{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.import-counts span{background:#f3f7f6;border-radius:8px;padding:12px 18px}.import-counts strong{font-size:24px;margin-right:6px}.import-preview{margin:24px 0}.import-preview details{border:1px solid #dce6e3;border-radius:8px;margin-bottom:10px;overflow:hidden}.import-preview summary{padding:16px;cursor:pointer;overflow-wrap:anywhere;line-height:1.8}.import-preview summary:hover{background:#f3f7f6}.badge{display:inline-block;font-size:12px;font-weight:700;border-radius:5px;padding:1px 8px;margin-right:8px}.badge-create{background:#e2f0e9;color:#126b60}.badge-update{background:#fff0cd;color:#795c12}.badge-unchanged{background:#e9edee;color:#526e68}.import-value{white-space:pre-wrap;overflow-wrap:anywhere;min-width:200px;vertical-align:top}.changed-value{background:#fff6e5}.cancel-import{margin-top:12px}@media(max-width:720px){.import-callout{display:block}.import-callout .actions{margin-top:20px}.button-link{white-space:normal}}
.portal-header{flex-wrap:wrap}.identity{font-size:14px;overflow-wrap:anywhere;max-width:230px}.identity small{display:block;color:#526e68;font-size:12px;margin-top:4px}.app-tabs,.admin-tabs{padding:12px max(5vw,20px);gap:8px;border-bottom:1px solid #dce6e3;background:#fff}.app-tabs a,.admin-tabs a{padding:9px 15px;border-radius:7px;text-decoration:none;font-size:14px}.app-tabs a[aria-current],.admin-tabs a[aria-current]{background:#126b60;color:white}.admin-tabs{background:#eaf2ef}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}.portal-grid .card{margin-bottom:0}.application-card{position:relative}.app-symbol{display:inline-flex;align-items:center;justify-content:center;background:#e2f0e9;color:#126b60;border-radius:12px;font-size:24px;font-weight:800;min-width:88px;min-height:88px;padding:10px;margin-bottom:20px}.app-symbol img{width:64px;height:64px;object-fit:contain}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0}.stats article{background:white;border:1px solid #dce6e3;border-radius:12px;padding:24px}.stats strong{display:block;font-size:36px;color:#126b60}.stats span{display:block;font-size:14px;margin-top:8px;line-height:1.5}.permission-fieldset{border:1px solid #c6d9d1;border-radius:10px;padding:20px;margin:12px 0 24px}.permission-fieldset legend{font-weight:650;padding:0 8px}.state-check{margin-top:30px}.app-grant{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #e3ece9}.app-grant:last-of-type{border-bottom:none}.app-grant .check{margin-bottom:0;min-width:220px}.inline-days{flex-direction:row;align-items:center;gap:8px;margin-bottom:0;font-weight:500}.inline-days input{width:90px}.app-grant .muted{margin:0}@media(max-width:720px){.portal-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats article{padding:16px}.portal-header nav{width:100%;gap:12px}.identity{margin-left:auto}.app-tabs,.admin-tabs{padding:10px 16px;gap:4px}.app-tabs a,.admin-tabs a{font-size:13px;padding:8px 10px}.state-check{margin-top:0}.permission-fieldset{padding:16px}.app-grant{flex-direction:column;align-items:flex-start;gap:8px}}
