:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#1a2943;background:#f5f7fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}router-outlet{display:none}a{color:#245acc;text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(24px,(100vw - 1160px) / 2);background:#fff;border-bottom:1px solid #e3e8f3}.brand{font-size:24px;font-weight:800;color:#172a48;letter-spacing:-.8px}.brand span{font-weight:400;color:#4779da}nav{display:flex;flex-wrap:wrap;align-items:center;gap:22px}nav a{color:#52627e}.active{color:#245acc!important;font-weight:700}main{max-width:1160px;margin:0 auto;padding:52px 24px;min-height:calc(100vh - 160px)}main:has(>app-workflow-page),main:has(>app-task-page){padding-top:24px;padding-bottom:24px}footer{text-align:center;font-size:13px;color:#697994;padding:24px}h1{font-size:clamp(30px,4vw,44px);margin:14px 0 24px;line-height:1.2;letter-spacing:-1.4px}h2{font-size:25px;margin-top:0}h3{margin-top:32px;font-size:16px}p{line-height:1.65}.muted,small{color:#697994}.eyebrow{color:#527bcc;font-size:12px;letter-spacing:1.5px;font-weight:750}.panel{background:#fff;border:1px solid #e1e7f2;border-radius:18px;padding:32px;box-shadow:0 8px 32px #192b4806}.auth-main{min-height:100dvh;display:grid;place-items:center;padding:24px}app-auth-page{display:block;width:min(100%,400px)}.auth-panel{width:100%}.auth-brand{text-align:center;margin-bottom:24px}.auth-panel h1{text-align:center;font-size:26px;letter-spacing:0;margin:0}.auth-panel form{margin-bottom:0}.create-user,.roles-guide{margin-bottom:24px}.roles-guide-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}.roles-guide-list dt{font-size:16px;font-weight:650;margin-bottom:8px}.roles-guide-list dd{margin:0;color:#52627e;font-size:14px;line-height:1.6}.roles-guide p{margin:20px 0 0;font-size:14px}.user-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;margin:0 0 16px}form{display:flex;flex-direction:column;gap:20px;margin:28px 0}label{font-size:14px;font-weight:600}input:not([type=checkbox]){display:block;width:100%;padding:13px 14px;border:1px solid #cad4e5;border-radius:9px;margin-top:9px;font:inherit;background:#fafbfe}textarea{display:block;width:100%;min-height:220px;padding:13px 14px;border:1px solid #cad4e5;border-radius:9px;margin-top:9px;font:inherit;font-weight:400;line-height:1.6;background:#fafbfe;resize:vertical}input:focus,textarea:focus{outline:2px solid #7ba5f2;outline-offset:1px}button{font:inherit;font-size:14px;cursor:pointer;border:1px solid #ced9ee;background:#fff;color:#315080;border-radius:9px;padding:10px 15px}button:hover{background:#f0f5ff}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:#285ed3;border-color:#285ed3;color:#fff;font-weight:650;padding:13px 18px}.primary:hover{background:#194ab5}.error{background:#fff1f0;color:#a22c30;border:1px solid #ffd9d6;padding:13px 16px;border-radius:9px;font-size:14px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:#2458bb;background:#ecf2ff;border-radius:6px;padding:5px 9px;font-size:13px}.tag.subtle{color:#52647e;background:#f1f4f9}.tag.inactive{color:#9b3434;background:#fff0ed}.page-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 20px;margin-bottom:16px}.page-heading>div{min-width:0}.page-heading h1{margin-bottom:10px}.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.checkbox{display:inline-flex;align-items:center;gap:8px;margin:8px 12px 8px 0;font-weight:400}.role-grid .checkbox{display:flex;padding:6px 0}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.role-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.role-heading h2{min-width:0;margin:6px 0 0}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:10px}.icon-button svg{width:22px;height:22px}.role-rename{margin:0 0 20px;padding:16px;background:#f5f7fc;border-radius:12px;gap:12px}.role-rename label{display:block;min-width:0}.role-rename .actions{margin-top:0}button:focus-visible{outline:2px solid #285ed3;outline-offset:3px}.toast-region{position:fixed;z-index:1000;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:min(440px,100% - 32px);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid;border-left-width:5px;border-radius:12px;box-shadow:0 8px 32px #172a4826;pointer-events:auto}.toast-success{color:#14532d;background:#ecfdf3;border-color:#54ab75}.toast-error{color:#8f2025;background:#fff1f0;border-color:#df686b}.toast-icon{width:24px;height:24px;flex:0 0 24px}.toast-message{min-width:0;margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.toast-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;margin:-4px -4px -4px auto;padding:6px;color:inherit;border-color:transparent;background:transparent}.toast-close:hover{background:#172a4810}.toast-close svg{width:20px;height:20px}.inline-form{flex-direction:row;align-items:flex-end;gap:16px;margin:0 0 24px}.inline-form label{flex:1}.inline-form button{flex:none}h1,h2,h3,p{overflow-wrap:break-word}.panel h2,.panel p,td,dd{overflow-wrap:anywhere}.account-email{font-size:clamp(17px,5vw,25px)}.meta{display:grid;grid-template-columns:max-content 1fr;gap:10px 20px;margin:0 0 24px}.meta dt{color:#697994}.meta dd{margin:0}.table-wrap{padding:16px 24px;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:18px 12px;border-bottom:1px solid #edf0f7}th{color:#63738d;font-size:12px}td button{margin:4px}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:24px;font-size:13px}@media(max-width:800px){.user-form,.role-grid,.roles-guide-list{grid-template-columns:1fr;gap:20px}.topbar{align-items:flex-start;flex-direction:column;padding:20px 24px}main:not(.auth-main){padding-top:32px}.panel{padding:24px}}@media(max-width:640px){.inline-form{flex-direction:column;align-items:stretch}.meta{grid-template-columns:1fr;gap:2px}.meta dd{margin-bottom:12px}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{padding:10px 0;border-bottom:1px solid #edf0f7}.responsive-table tr:last-child{border-bottom:0}.responsive-table td{padding:8px 0;border:0}.responsive-table td:before{content:attr(data-label);display:block;margin-bottom:4px;color:#63738d;font-size:12px}.responsive-table td button{margin:4px 8px 4px 0}.pagination{justify-content:space-between}}
