html,body{margin:0;padding:0;background:#f3f4f7;font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color:#1f2937}body{font-size:15px;line-height:1.5}a{color:#1a4fa0;text-decoration:none}a:hover{text-decoration:underline;text-decoration-color:#d23937}#content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}*:focus-visible{outline:3px solid #d23937;outline-offset:2px}.skip-link{position:absolute;left:8px;top:-100px;z-index:10;padding:8px 14px;background:#ffffff;color:#081b3e;font-weight:600;border-radius:6px}.skip-link:focus{top:8px}main:focus{outline:none}h1{color:#081b3e;text-align:center;font-weight:600;font-size:1.6em;margin:0.4em 0 0.8em}h2{color:#081b3e;font-weight:600;font-size:1.15em}h3{color:#081b3e;font-weight:600;font-size:1em}.viewer-code{text-align:center;font-size:1.15em}.required-note{color:#5b6472;font-size:0.9em}code.licence-code{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;font-size:0.95em;letter-spacing:0.03em;white-space:nowrap}#header{background:#ffffff;border-bottom:1px solid #dfe3ea}#header .banner{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:14px}#header .banner .brand img{display:block;height:auto;max-width:100%}#header .banner .portal-name{margin:0;color:#081b3e;font-size:1.15em;font-weight:500;letter-spacing:0.01em}#header #menu{background:#081b3e}#header #menu .container{display:flex;flex-wrap:wrap;gap:4px;padding-top:0;padding-bottom:0}#header #menu a,#header #menu a:visited{color:#ffffff;display:inline-block;padding:10px 14px;font-size:0.95em;border-bottom:3px solid transparent;text-decoration:none}#header #menu a:hover,#header #menu a:focus-visible{border-bottom-color:#d23937;text-decoration:none}#header #menu a:focus-visible{outline-color:#ffffff}#header #menu a.external{margin-left:auto}#header #menu form.logout{display:flex}#header #menu .menu-button{line-height:1.5;color:#ffffff;background:transparent;font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-weight:400;font-size:0.95em;padding:10px 14px;border:0;border-radius:0;border-bottom:3px solid transparent;cursor:pointer}#header #menu .menu-button:hover,#header #menu .menu-button:focus-visible{background:transparent;border-bottom-color:#d23937}#header #menu .menu-button:focus-visible{outline-color:#ffffff}.flash{text-align:center;padding:8px 12px;border-radius:6px;margin-bottom:12px}.flash.alert{background-color:#fdecec;color:#8a1c1b;border:1px solid #f3b8b7}.flash.notice{background-color:#e9f6ee;color:#1d6b3a;border:1px solid #b6dfc4}.container{max-width:960px;margin:0 auto;padding-left:16px;padding-right:16px}main.container{padding-top:20px}#content img{max-width:100%;height:auto}#content{min-height:300px;padding:20px 24px;background-color:#ffffff;border:1px solid #dfe3ea;border-radius:8px;box-shadow:0 1px 2px rgba(8,27,62,0.05)}.w300p{width:300px}.p20p{padding:20px}#footer{font-size:0.8em;text-align:center;padding:16px 5px 24px;color:#5b6472}table.key-value{border-collapse:collapse}table.key-value tr th{text-align:left;color:#5b6472;font-weight:600;padding:4px 12px 4px 0}table.key-value tr td{padding:4px 0}.table-scroll{overflow-x:auto;position:relative}table.data-table{border:1px solid #dfe3ea;border-collapse:collapse}table.data-table thead tr th{text-align:left;color:#ffffff;background-color:#081b3e;font-weight:600;padding:8px 10px}table.data-table tbody tr td,table.data-table tbody tr th{padding:8px 10px;border-top:1px solid #dfe3ea}table.data-table tbody tr td.none,table.data-table tbody tr th.none{padding:14px;font-style:italic;text-align:center}table.data-table tbody tr:nth-child(even) td,table.data-table tbody tr:nth-child(even) th{background:#f8f9fb}table.data-table tbody tr:hover td,table.data-table tbody tr:hover th{background:#eef2f9}table.data-table tbody tr.expired td{color:#a3201f}span.expired{color:#a3201f;font-weight:bold}.full-width{width:100%}.w10p{width:10%}.w15p{width:15%}.w20p{width:20%}.w30p{width:30%}.w40p{width:40%}.w50p{width:50%}.w60p{width:60%}.w70p{width:70%}.w80p{width:80%}.w90p{width:90%}.w100px{width:100px}.w150px{width:150px}.pad10px{padding:10px}.pad20px{padding:20px}.pad30px{padding:30px}.pad40px{padding:40px}.center{text-align:center}.none{font-style:italic;color:#5b6472}#sign_up_form,#sign_in_form,#password_form,#confirmation_form,#license_form{margin:0 auto;width:470px;max-width:100%}.simple_form div.input{margin-bottom:12px;clear:both;display:flow-root}.simple_form label{float:left;width:100px;text-align:right;margin:6px 10px;color:#1f2937;font-weight:500}.simple_form .error{clear:left;color:#a3201f;display:block;margin-left:120px}.simple_form .hint{clear:left;margin-left:120px;color:#5b6472;display:block;font-style:italic;font-size:0.9em}.simple_form .alert.alert-error{padding-bottom:30px;color:#a3201f}.simple_form .checkbox{float:none;clear:both}.simple_form div.input.check_boxes::after{content:"";display:block;clear:both}.simple_form div.input.check_boxes span.checkbox{display:inline-block;clear:none;margin:6px 18px 4px 0}.simple_form div.input.check_boxes span.checkbox label{float:none;width:auto;margin:0;text-align:left;font-weight:400}.simple_form div.input.check_boxes span.checkbox label input{margin:0 6px 0 0;vertical-align:-1px}div.boolean,.simple_form input[type='submit']{margin-left:120px}input[type='submit'],button{font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:1em;font-weight:600;color:#ffffff;background:#081b3e;border:0;border-radius:6px;padding:9px 18px;cursor:pointer;max-width:100%;white-space:normal}input[type='submit']:hover,button:hover{background:#d23937}div.boolean label,label.collection_radio_buttons{float:none;margin:0}label.collection_radio_buttons{margin-right:10px;vertical-align:-2px;margin-left:2px}input.radio{margin-right:5px;vertical-align:-3px}input.check_boxes{margin-left:3px;vertical-align:-3px}label.collection_check_boxes{float:none;margin:0;vertical-align:-2px;margin-left:2px}.field_with_errors{color:#a3201f}.field_with_errors .error{color:#a3201f}input[type='text'],input[type='tel'],input[type='email'],input[type='password'],textarea{font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:1em;color:#1f2937;border:1px solid #6b7280;border-radius:6px;padding:7px 9px;width:300px;max-width:100%;box-sizing:border-box}input[type='text']:focus,input[type='tel']:focus,input[type='email']:focus,input[type='password']:focus,textarea:focus{border-color:#081b3e}textarea{height:100px}.simple_form div.input.robot-question{text-align:center}.simple_form div.input.robot-question label{float:none;display:block;width:auto;margin:0 0 8px;text-align:center;font-size:1.5em;font-weight:700}.simple_form div.input.robot-question input{width:120px}.simple_form div.input.robot-question .error,.simple_form div.input.robot-question .hint{margin-left:0}@media (max-width: 560px){#content{padding:16px 14px}.simple_form label{float:none;display:block;width:auto;text-align:left;margin:0 0 4px}.simple_form .error,.simple_form .hint{margin-left:0}div.boolean,.simple_form input[type='submit']{margin-left:0}input[type='text'],input[type='tel'],input[type='email'],input[type='password'],textarea{width:100%}#header #menu a.external{margin-left:0}}form.inline{display:inline;margin:0}button.link-button{display:inline;padding:0;margin:0;border:0;background:none;font:inherit;color:#1a4fa0;text-decoration:underline;cursor:pointer}button.link-button:hover{background:none;color:#d23937}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body.admin .container{max-width:1200px}body.admin #header #menu a[aria-current='page']{border-bottom-color:#d23937;font-weight:600}body.admin #header #menu .signed-in-as{margin-left:auto;align-self:center;color:#ffffff;font-size:0.85em;padding:0 4px}body.admin h1{text-align:left}body.admin h2{margin-top:1.4em}body.admin .muted{color:#5b6472;font-size:0.92em}body.admin .tag{display:inline-block;margin-left:6px;padding:0 7px;border-radius:10px;background:#eef2f9;color:#081b3e;font-size:0.8em;font-weight:600}body.admin .break{word-break:break-all}body.admin #content a.button{display:inline-block;font-weight:600;color:#ffffff;background:#081b3e;border-radius:6px;padding:9px 18px;text-decoration:none}body.admin #content a.button:hover{background:#d23937}body.admin form.button_to{display:inline-block;margin:0}body.admin table.key-value+form.button_to,body.admin table.key-value+.actions,body.admin .table-scroll+form.button_to{margin-top:12px}body.admin button.secondary,body.admin input.secondary{background:#ffffff;color:#081b3e;border:1px solid #081b3e}body.admin button.secondary:hover,body.admin input.secondary:hover{background:#eef2f9}body.admin button.danger{background:#a3201f}body.admin button.danger:hover{background:#7d1716}body.admin button.small{padding:5px 10px;font-size:0.88em}body.admin .toolbar,body.admin .actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}body.admin td .toolbar{margin:0}body.admin .admin-grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:8px 32px}body.admin ul.plain-list{list-style:none;padding:0}body.admin ul.plain-list li{padding:6px 0;border-bottom:1px solid #dfe3ea}body.admin ul.plain-list li .muted{margin-left:6px}body.admin .admin-search,body.admin .admin-filters,body.admin .inline-form{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin:0 0 16px}body.admin .admin-search label,body.admin .admin-filters label,body.admin .inline-form label{display:block;font-weight:600;margin-bottom:4px}body.admin .admin-search label{flex-basis:100%;margin-bottom:0}body.admin .admin-search input[type='search']{flex:1 1 280px;max-width:520px}body.admin .stacked-form{max-width:520px;margin-bottom:16px}body.admin .stacked-form .field{margin-bottom:12px}body.admin .stacked-form label{display:block;font-weight:600;margin-bottom:2px}body.admin .stacked-form p.muted{margin:0 0 4px}body.admin .stacked-form textarea{width:100%;box-sizing:border-box;font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:1em;border:1px solid #6b7280;border-radius:6px;padding:7px 9px}body.admin .inline-form p.muted{margin:0 0 4px}body.admin .admin-filters{padding:12px;background:#f3f4f7;border-radius:8px}body.admin .admin-filters .field.wide{flex:1 1 260px}body.admin .admin-filters .field.wide input{width:100%}body.admin .admin-filters .field.buttons{display:flex;gap:12px;align-items:center}body.admin input[type='search'],body.admin input[type='date'],body.admin input[type='number'],body.admin input[type='url'],body.admin select{font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:1em;color:#1f2937;border:1px solid #6b7280;border-radius:6px;padding:7px 9px;max-width:100%;box-sizing:border-box;background:#ffffff}body.admin .simple_form input[type='number']{width:120px}body.admin .simple_form input[type='url']{width:100%;max-width:520px}body.admin .simple_form div.input>span.label{float:left;width:100px;text-align:right;margin:6px 10px;font-weight:500}body.admin .simple_form div.input>span.value{display:inline-block;margin-top:6px}body.admin .simple_form div.input.radio_buttons span.radio{display:inline-block;margin:6px 18px 4px 0}body.admin .simple_form div.input.radio_buttons span.radio label{float:none;width:auto;margin:0;text-align:left;font-weight:400}body.admin .simple_form div.input.radio_buttons span.radio label input{margin:0 6px 0 0;vertical-align:-1px}body.admin ul.stat-tiles{list-style:none;padding:0;margin:0 0 8px;display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:12px}body.admin ul.stat-tiles li{background:#f3f4f7;border-left:4px solid #081b3e;border-radius:8px;padding:12px 16px}body.admin ul.stat-tiles li.warn{border-left-color:#d23937}body.admin ul.stat-tiles a{display:block;text-decoration:none;color:#1f2937}body.admin ul.stat-tiles a:hover .stat-label,body.admin ul.stat-tiles a:focus-visible .stat-label{text-decoration:underline}body.admin ul.stat-tiles .stat-value{display:block;font-size:2em;font-weight:700;line-height:1.2;color:#081b3e}body.admin ul.stat-tiles .stat-label{display:block;font-weight:600}body.admin ul.stat-tiles .stat-note{display:block;margin-top:4px;color:#5b6472;font-size:0.88em}body.admin th.num,body.admin td.num{text-align:right}body.admin .block{display:block}body.admin table.data-table tbody th{text-align:left;font-weight:600;color:#1f2937}body.admin table.bar-table td{position:relative;min-width:60px}body.admin table.bar-table td .bar{position:absolute;left:0;top:20%;height:60%;border-radius:0 3px 3px 0;opacity:0.22}body.admin table.bar-table td .bar.signups{background:#081b3e}body.admin table.bar-table td .bar.trials{background:#6b7280}body.admin table.bar-table td .bar.paid{background:#d23937}body.admin table.bar-table td .bar-value{position:relative;padding-left:4px}body.admin .pagination{display:flex;gap:16px;align-items:center;justify-content:center;margin-top:16px}body.admin .danger-zone{margin-top:32px;padding:10px 14px;border:1px solid #f3b8b7;border-radius:8px}body.admin .danger-zone summary{cursor:pointer;color:#a3201f;font-weight:600}@media (max-width: 760px){body.admin .admin-grid{grid-template-columns:1fr}}@media (max-width: 560px){body.admin .simple_form div.input>span.label{float:none;display:block;text-align:left;margin:0 0 4px}}dialog.confirm-dialog{max-width:440px;width:calc(100% - 32px);box-sizing:border-box;border:0;border-radius:10px;padding:20px 24px;box-shadow:0 10px 40px rgba(0,0,0,0.3);color:#1f2937;font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}dialog.confirm-dialog::backdrop{background:rgba(8,25,61,0.45)}dialog.confirm-dialog p{margin:0 0 20px;line-height:1.5}dialog.confirm-dialog .confirm-dialog-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}dialog.confirm-dialog button{font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size:1em;font-weight:600;border-radius:6px;padding:8px 18px;cursor:pointer;border:1px solid #081b3e;background:#081b3e;color:#ffffff}dialog.confirm-dialog button.secondary{background:#ffffff;color:#081b3e}dialog.confirm-dialog button.danger{background:#a3201f;border-color:#a3201f}
