:root{color:#172e29;font-synthesis:none;--ink:#172e29;--muted:#62736c;--brand:#23694d;--line:#dce4dd;background:#f4f6f3;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .15s,border-color .15s}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #73a88e}button:disabled{cursor:not-allowed;opacity:.52}a{color:var(--brand)}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:.65rem;font-size:calc(clamp(1.8rem,3vw,2.4rem));line-height:1.15}h1,h2{font-weight:650}h2{letter-spacing:-.02em;font-size:1.3rem;line-height:1.3}h3{font-size:1rem}.small,small{font-size:.82rem}.muted{color:var(--muted)}.mono{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.71rem;font-weight:750}.screen-reader{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:30;background:#fff;padding:10px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.btn{color:#fff;background:#23694d;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.55rem;min-height:42px;padding:.7rem 1rem;font-weight:650;line-height:1.3;text-decoration:none;display:inline-flex}.btn:hover:enabled{background:#1a543c}.btn-secondary{color:#254b3d;background:#fff;border-color:#d1ddd4}.btn-secondary:hover:enabled{background:#edf3ee}.btn-quiet{color:#325d49;background:0 0;border-color:#0000;min-height:36px;padding:.45rem .6rem;font-size:.84rem}.btn-quiet:hover:enabled{background:#eaf1eb}.btn-danger{color:#fff;background:#a34135}.btn-danger:hover:enabled{background:#853329}.btn-danger-text{color:#9c4035}.input,select,textarea{color:#172e29;background:#fff;border:1px solid #cbd8ce;border-radius:8px;width:100%;min-height:44px;padding:.75rem .85rem}.input::placeholder{color:#7d8d84}textarea{resize:vertical}label{margin-bottom:.4rem;font-size:.85rem;font-weight:650;display:block}.field{margin-bottom:1.15rem}.field-hint{color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:1.6rem;display:flex}.stack{gap:1rem;display:grid}.brand{letter-spacing:-.035em;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;display:flex}.brand-mark{color:#fff;background:#77a98b;border-radius:10px 10px 10px 2px;place-items:center;width:34px;height:37px;font-size:1.25rem;font-weight:750;display:grid}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{color:#eef5ef;background:#173d32;flex-direction:column;padding:2rem 1.1rem 1.25rem;display:flex}.sidebar .brand{padding:0 .6rem}.side-label{color:#a5bfb0;margin:2.3rem .75rem .7rem}.side-nav{gap:.35rem;display:grid}.nav-button{color:#c4d6cb;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:.8rem;width:100%;padding:.9rem;font-weight:600;display:flex}.nav-button:hover:enabled{color:#fff;background:#224c3f}.nav-button[aria-current=page]{color:#fff;background:#315d4b}.nav-symbol{text-align:center;width:20px;font-size:1.2rem;font-weight:400}.side-footer{color:#aac5b5;margin-top:auto;padding:2rem .7rem 0;font-size:.79rem}.side-footer .dot{background:#9ccea8;border-radius:50%;width:6px;height:6px;margin-right:.4rem;display:inline-block}.identity,.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:1rem;min-height:86px;padding:1.1rem 2.6rem;display:flex}.topbar-context{color:#5b7064;font-size:.85rem}.identity{justify-content:flex-end;align-items:center;gap:.9rem;display:flex}.avatar{color:#427052;background:#edf3eb;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:.85rem;font-weight:750;display:grid}.identity-name{font-size:.86rem;font-weight:650}.identity-id{color:#718176;margin-top:.15rem;font-size:.65rem}.content{max-width:1600px;margin:0 auto;padding:2.5rem 2.6rem 3.5rem}.page-heading{justify-content:space-between;align-items:flex-start;gap:1.4rem;margin-bottom:1.8rem;display:flex}.page-heading p{max-width:54ch;color:var(--muted);margin-bottom:0}.page-heading .btn{flex-shrink:0;margin-top:.3rem}.breadcrumb{color:#6b8073;margin-bottom:1.1rem}.card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #173d3203}.card-toolbar{border-bottom:1px solid #e7ece7;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem}.card-toolbar,.person,.search-form{align-items:center;display:flex}.search-form{gap:.6rem;width:min(100%,520px)}.search-form .input{padding:.65rem .8rem}.toolbar-note{color:#708175;font-size:.78rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}thead{background:#f9fbf8}th{color:#748277;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid #e3eae3;padding:.9rem 1.2rem;font-size:.69rem;font-weight:700}td{vertical-align:top;border-bottom:1px solid #edf1eb;padding:1.15rem 1.2rem}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfb}.person{gap:.8rem;min-width:205px}.person-avatar{color:#4c7558;background:#edf3ed;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:37px;font-size:.8rem;font-weight:700;display:grid}.person-name{font-size:.9rem;font-weight:650}.person-login{color:#778578;margin-top:.2rem;font-size:.8rem}.person-id{color:#8a968c;margin-top:.45rem;font-size:.64rem}.badge{color:#637267;white-space:nowrap;background:#eef2ed;border-radius:5px;align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.71rem;font-weight:650;display:inline-flex}.badge:before{content:"";opacity:.75;background:currentColor;border-radius:50%;width:5px;height:5px}.badge-active,.badge-consumed,.badge-succeeded{color:#48753d;background:#edf5eb}.badge-blocked,.badge-denied,.badge-revoked{color:#a45542;background:#fbefeb}.badge-pending{color:#946b29;background:#fff5dd}.badge-archived,.badge-expired,.badge-failed{color:#7b827b;background:#f0f1ef}.secondary-status{color:#8d6b33;max-width:145px;margin-top:.45rem;font-size:.74rem}.cell-note{color:#7a877d;font-size:.79rem}.row-actions{flex-wrap:wrap;gap:.1rem .25rem;min-width:245px;max-width:320px;display:flex}.row-actions .btn{white-space:nowrap}.table-footer{border-top:1px solid #e7ece7;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.3rem;display:flex}.empty-state{text-align:center;max-width:460px;color:var(--muted);margin:auto;padding:4rem 1.5rem}.empty-state h2{color:#425e4c;margin:0 0 .7rem;font-size:1.1rem}.empty-icon{color:#5d8062;background:#edf3ea;border-radius:14px;place-items:center;width:50px;height:52px;margin:0 auto 1rem;font-size:1.6rem;display:grid}.notice{color:#3b653f;background:#edf4eb;border:1px solid #d4dfd3;border-radius:10px;margin-bottom:1rem;padding:.95rem 1.15rem;font-size:.88rem}.notice-error{color:#90483c;background:#fdf0ed;border-color:#efd5ce}.notice-info{color:#456273;background:#f0f4f7;border-color:#d4dfe7}.notice-warning{color:#7d6235;background:#fff7e8;border-color:#e9d9b6}.notice p:last-child{margin:0}.notice-heading{margin-bottom:.4rem;font-weight:700}.notice-actions{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.session-warning{justify-content:space-between;align-items:center;gap:1rem;display:flex}.loading-line{color:#5a755f;border-bottom:1px solid #e7ece7;padding:.8rem 1.25rem;font-size:.83rem}.loading-line:before{content:"";background:#78a581;border-radius:50%;width:7px;height:7px;margin-right:.6rem;animation:1s ease-in-out infinite alternate pulse;display:inline-block}.audit-table{min-width:1000px}.audit-table td{font-size:.81rem}.audit-meta{color:#728078;margin-top:.6rem}.audit-meta summary{cursor:pointer;font-size:.76rem}.audit-meta dl{grid-template-columns:auto minmax(0,1fr);gap:.3rem .65rem;font-size:.72rem;display:grid}.audit-meta dt{color:#879188}.audit-meta dd{overflow-wrap:anywhere;margin:0}.mock-banner{color:#745c20;text-align:center;background:#f3e8c8;padding:.55rem 1rem;font-size:.79rem}.login-screen{grid-template-columns:minmax(300px,.92fr) minmax(400px,1.08fr);min-height:100dvh;display:grid}.login-story{color:#f2f6ef;background:#173d32;flex-direction:column;justify-content:space-between;padding:3rem calc(clamp(2rem,6vw,6rem));display:flex;position:relative;overflow:hidden}.login-story:after{content:"";pointer-events:none;border:1px solid #6c927766;border-radius:50%;width:430px;height:430px;position:absolute;bottom:-210px;left:-180px;box-shadow:0 0 0 70px #8ea98c10,0 0 0 140px #8ea98c08}.story-copy{z-index:1;max-width:420px;padding:5rem 0;position:relative}.story-copy h1{letter-spacing:-.045em;margin-bottom:1.5rem;font-size:calc(clamp(2rem,3.5vw,3.4rem));line-height:1.12}.story-copy p{color:#b6cebb;max-width:34ch;font-size:1rem}.story-foot{color:#92b49e;z-index:1;font-size:.77rem;position:relative}.login-panel{align-items:center;padding:3rem 2rem;display:grid}.login-form{width:min(100%,390px);margin:auto}.login-form h2{letter-spacing:-.04em;margin-bottom:.6rem;font-size:1.8rem}.login-form>p{color:var(--muted);margin-bottom:2rem}.login-form .btn{width:100%;margin-top:.6rem}.login-note{color:#7a897f;border-top:1px solid #dce5dc;margin-top:1.8rem;padding-top:1.3rem;font-size:.78rem}.center-screen{place-items:center;min-height:100dvh;padding:2rem;display:grid}.center-card{width:100%;max-width:450px;padding:2.2rem}.dialog{color:#172e29;border:1px solid #d3dfd2;border-radius:16px;width:calc(min(560px,100vw - 2rem));max-height:calc(100dvh - 3rem);padding:1.9rem;overflow-y:auto;box-shadow:0 24px 80px #112b3440}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d2c27a8}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem;display:flex}.dialog-heading h2{margin-bottom:.35rem}.dialog-close{color:#63796a;background:#f0f4ee;border:0;border-radius:7px;flex:0 0 32px;width:32px;height:32px;font-size:1.3rem}.dialog-description{color:var(--muted);margin-bottom:1.5rem;font-size:.87rem}.target-box{background:#f4f7f1;border:1px solid #e0e8db;border-radius:9px;margin-bottom:1.2rem;padding:.8rem 1rem;font-size:.86rem}.target-box p{overflow-wrap:anywhere;margin:0}.secret-code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#f2f6ed;border:1px solid #cfddc6;width:100%;margin:.6rem 0 .7rem;padding:1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem;line-height:1.7}.secret-warning{color:#8f6830;background:#fff6e6;border-radius:8px;padding:.85rem 1rem;font-size:.83rem}.check-line{align-items:flex-start;gap:.65rem;margin-top:1.1rem;font-size:.84rem;font-weight:450;display:flex}.check-line input{accent-color:#23694d;margin-top:.25rem}@keyframes pulse{0%{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width>=1450px){.content{padding-top:3rem}}@media (width<=1100px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.topbar{padding:1rem 1.5rem}.content{padding:2rem 1.5rem}.identity-id{max-width:200px}.toolbar-note{display:none}}@media (width<=800px){.app-shell{display:block}.sidebar{padding:1rem}.sidebar .brand{padding:0}.side-footer,.side-label{display:none}.side-nav{gap:.3rem;margin-top:1rem;display:flex;overflow-x:auto}.nav-button{min-width:max-content;padding:.7rem .8rem}.nav-symbol,.topbar-context{display:none}.topbar{min-height:75px}.identity{justify-content:flex-start;gap:.65rem;width:100%}.identity>.btn{margin-left:auto}.identity-id{max-width:none;font-size:.61rem}.content{padding:1.6rem 1rem 3rem}.page-heading{flex-direction:column;align-items:flex-start;gap:.8rem;margin-bottom:1.3rem}.page-heading .btn{margin:0}.card-toolbar,.table-footer{padding:1rem}.search-form{width:100%}.session-warning,.table-footer{flex-direction:column;align-items:flex-start}.login-screen{display:block}.login-story{padding:1.5rem}.story-copy{padding:1.8rem 0 0}.story-copy h1{margin-bottom:.7rem;font-size:1.7rem}.story-copy p,.story-foot{display:none}.login-panel{padding:2.5rem 1.5rem}}.check-title{margin-top:2rem}.story-eyebrow{color:#9fbea9}.last-paragraph{margin-bottom:0}.operation-number{margin-top:.6rem}.invitation-expiry{margin-top:.5rem}
