:root{--blue:#315f91;--blue2:#204c7a;--silver:#e7ebef;--line:#aeb8c2;--text:#24303b;--muted:#657483;--bg:#dbe1e7;--white:#fff;--danger:#9d2e2e;--ok:#2c713d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(#eef2f5,#ccd5dd) fixed;color:var(--text);font:13px/1.5 Verdana,Arial,sans-serif}.page-shell,.install-shell{width:min(980px,calc(100% - 24px));margin:22px auto}.login-shell{width:min(460px,calc(100% - 24px));margin:80px auto}.masthead{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;color:#fff;background:linear-gradient(#4779aa,#285783);border:1px solid #183f66;border-radius:5px 5px 0 0;box-shadow:0 1px 3px #888}.brand{font:bold 22px/1.1 Arial,sans-serif;letter-spacing:.2px}.tagline{font-size:11px;opacity:.9;margin-top:3px}.admin-link,.admin-user a{color:#fff}.tabs{display:flex;gap:2px;padding:5px 7px;background:#cbd3db;border:1px solid #a4afb9;border-top:0}.tabs a{padding:6px 11px;color:#173f68;text-decoration:none;background:#edf1f4;border:1px solid #aab4be;border-radius:3px}.tabs a:hover{background:#fff}.panel{margin:14px 0;background:var(--white);border:1px solid #98a7b5;box-shadow:0 1px 2px rgba(0,0,0,.08)}.panel-title{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;color:#fff;font-weight:bold;background:linear-gradient(#4979a8,#2a5986);border-bottom:1px solid #193f64}.panel-title span:last-child{font-size:11px;font-weight:normal}.panel-body{padding:10px}.entries{padding:0}.entry{border-bottom:1px solid #c8d0d7}.entry:last-child{border-bottom:0}.entry-head{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;background:#edf1f4;border-bottom:1px solid #d2d8de}.entry-head span{font-size:11px;color:var(--muted)}.entry-head a{color:#1e568b}.entry-message{padding:12px 14px;min-height:54px}.entry-meta{padding:0 14px 10px;color:var(--muted);font-size:11px}.empty{padding:28px;text-align:center;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.form-grid.single{grid-template-columns:1fr}.form-grid label{display:flex;flex-direction:column;gap:4px;font-weight:bold}.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:8px;border:1px solid #9eabb7;border-radius:2px;background:#fff;color:#222;font:13px Verdana,Arial,sans-serif}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:2px solid #9dc0e4;outline-offset:0;border-color:#4979a8}.full{grid-column:1/-1}.hint{font-size:10px;font-weight:normal;color:var(--muted)}.actions{display:flex;gap:7px;align-items:center}button,.button{display:inline-block;padding:7px 12px;border:1px solid #173f67;border-radius:3px;background:linear-gradient(#4f80ae,#2c5b88);color:#fff;text-decoration:none;font:bold 12px Verdana,Arial,sans-serif;cursor:pointer}.secondary{background:linear-gradient(#f4f5f6,#d6dce1);color:#314252;border-color:#929da7}.danger{background:linear-gradient(#b74a4a,#8e2929);border-color:#6f1d1d}.notice{margin:14px 0;padding:10px 12px;border:1px solid}.notice.success{background:#e6f4e8;border-color:#8abc93;color:#235b30}.notice.error{background:#f8e6e6;border-color:#c98f8f;color:#7a2525}.notice ul{margin:6px 0 0 20px}.pagination{padding:8px;text-align:center;background:#edf1f4;border-top:1px solid #c6cfd7}.pagination a{display:inline-block;margin:0 2px;padding:3px 7px;border:1px solid #abb6c0;background:#fff;color:#285783;text-decoration:none}.pagination .current{background:#315f91;color:#fff}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}footer{text-align:center;padding:8px;color:#657483;font-size:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.stats div{padding:14px;text-align:center;background:#fff;border:1px solid #a6b1ba}.stats strong{display:block;font:24px Arial,sans-serif;color:#2b5c8a}.stats span{font-size:10px;text-transform:uppercase;color:#6a7782}.info-table>div{display:flex;justify-content:space-between;padding:7px 4px;border-bottom:1px solid #e0e5e9}.info-table>div:last-child{border-bottom:0}.inline-actions{display:flex;gap:6px;padding:0 14px 12px}.status{padding:2px 6px;border-radius:9px;text-transform:uppercase;font-size:9px!important}.status.approved{background:#dceddf;color:#2d6639}.status.pending{background:#f4e7be;color:#745d14}.checkbox{flex-direction:row!important;align-items:center}.checkbox input{width:auto}.form-section{padding:7px;background:#edf1f4;border:1px solid #c0c9d1;font-weight:bold}.install-shell code{background:#eef1f4;padding:2px 4px}@media(max-width:680px){.page-shell,.install-shell{width:calc(100% - 12px);margin:6px auto}.form-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.masthead,.entry-head{align-items:flex-start}.tabs{overflow-x:auto}.tabs a{white-space:nowrap}.brand{font-size:19px}}

/* 0.1.0-alpha.2 installer */
.notice.warning{background:#fff5d8;border-color:#cfb86f;color:#6c5415}.button.disabled{background:#d7dde2;border-color:#aeb8c0;color:#6d7881;cursor:not-allowed}.installer-masthead{border-radius:5px 5px 0 0}.installer-badge{padding:5px 8px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.12);font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.4px}.installer-progress{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #9eabb6;border-top:0;background:#d6dde4}.installer-step{display:flex;align-items:center;gap:7px;padding:8px 10px;border-right:1px solid #adb9c3;color:#687887;font-size:10px;font-weight:bold}.installer-step:last-child{border-right:0}.installer-step span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #9aa8b3;background:#edf1f4;color:#687887}.installer-step.current{background:#f7f9fa;color:#244f77}.installer-step.current span{border-color:#2f5f8b;background:#376c9c;color:#fff}.installer-step.done{background:#e8f1e9;color:#356442}.installer-step.done span{border-color:#78a083;background:#4f845d;color:#fff}.requirement-list{padding:0}.requirement-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 10px;border-bottom:1px solid #d8dfe5}.requirement-row:last-child{border-bottom:0}.requirement-row small{display:block;margin-top:2px;color:#697986;font-size:10px}.requirement-status{min-width:56px;padding:3px 6px;border:1px solid;text-align:center;font:bold 9px Verdana,Arial,sans-serif}.requirement-status.pass{border-color:#8ab095;background:#e5f1e8;color:#2b6538}.requirement-status.fail{border-color:#c59494;background:#f6e4e4;color:#7c2929}.database-driver-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.database-driver-grid>div{padding:10px;border:1px solid #c5ced6;background:#f4f6f8}.database-driver-grid strong{display:block;color:#294f73}.database-driver-grid span{display:block;margin-top:3px;color:#667785;font-size:10px}.installer-actions{display:flex;justify-content:flex-end;margin:12px 0}.sqlite-note{padding:9px 10px;border:1px solid #bed0de;background:#eef6fb;color:#3e6079}.recovery-confirm{padding:10px!important;border:1px solid #d2bc78;background:#fff8e2}.install-shell .actions{flex-wrap:wrap}@media(max-width:680px){.installer-progress{grid-template-columns:1fr 1fr}.installer-step:nth-child(2){border-right:0}.installer-step:nth-child(-n+2){border-bottom:1px solid #adb9c3}.database-driver-grid{grid-template-columns:1fr}}

/* 0.1.0-alpha.3 public guestbook */
.skip-link{position:absolute;left:-9999px;top:6px;z-index:999;padding:8px 11px;background:#fff;border:2px solid #244f77;color:#173f68;font-weight:bold}.skip-link:focus{left:8px}.public-masthead{min-height:92px}.product-kicker{margin-bottom:3px;font-size:9px;font-weight:bold;text-transform:uppercase;letter-spacing:1.2px;color:#dbeaf8}.public-masthead .brand{font-size:24px}.public-tabs{padding-left:10px}.public-tabs a{font-weight:bold}.guestbook-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0;padding:11px 13px;border:1px solid #a9b6c1;background:linear-gradient(#f9fafb,#e5eaee);box-shadow:0 1px 2px rgba(0,0,0,.05)}.guestbook-welcome>div:first-child{display:flex;flex-direction:column}.guestbook-welcome>div:first-child strong{color:#244f77;font-size:14px}.guestbook-welcome>div:first-child span{margin-top:2px;color:var(--muted);font-size:11px}.guestbook-count{display:flex;align-items:baseline;gap:5px;white-space:nowrap;color:#315f91}.guestbook-count strong{font:22px Arial,sans-serif}.guestbook-count span{font-size:10px;text-transform:uppercase;color:var(--muted)}.guestbook-panel,.sign-panel{scroll-margin-top:12px}.entry{scroll-margin-top:12px}.entry-head{align-items:center;padding:8px 10px;background:linear-gradient(#f4f6f8,#e6ebef)}.entry-author{display:flex;align-items:center;gap:9px;min-width:0}.entry-number{display:inline-grid;place-items:center;min-width:38px;padding:4px 6px;border:1px solid #aebac4;background:#fff;color:#335f88;font:bold 10px Verdana,Arial,sans-serif}.entry-author>div{display:flex;align-items:baseline;gap:5px;min-width:0}.entry-author strong{overflow-wrap:anywhere;color:#1f4e79;font-size:12px}.posted-by{color:var(--muted);font-size:10px}.entry-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.entry-tools a{padding:3px 6px;border:1px solid #b8c2ca;background:#fff;color:#315f91;text-decoration:none;font-size:9px}.entry-tools a:hover,.entry-tools a:focus{border-color:#6689a9;background:#f7fbff}.entry-message{font-size:13px;overflow-wrap:anywhere}.entry-message a{color:#1e568b}.entry-message .smilie{display:inline-block;line-height:1;vertical-align:-1px;font-size:16px}.bbcode-quote{margin:8px 0;padding:8px 10px;border:1px solid #c1ccd4;border-left:4px solid #6689a9;background:#f5f7f9;color:#3d4a55}.entry-meta{padding:7px 10px;border-top:1px solid #e2e6e9;background:#fafbfc;text-align:right}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:34px 20px}.empty strong{color:#315f91;font-size:14px}.empty span{margin-bottom:5px}.pagination{display:flex;justify-content:center;align-items:center;gap:2px;flex-wrap:wrap}.pagination a{margin:0}.pagination .page-direction{padding-left:9px;padding-right:9px}.sign-intro{padding:10px 14px;border-bottom:1px solid #d3dbe1;background:#f7f9fa;color:#586a79;font-size:11px}.guestbook-form{padding-top:13px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field>label{display:block}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label-row label{display:block}.required{color:#9d2e2e}.field-help,.bbcode-help,.character-count{font-size:10px;color:var(--muted);font-weight:normal}.bbcode-help{padding:6px 8px;border:1px solid #d7dee4;background:#f6f8fa;line-height:1.45}.field-error{display:block;padding:4px 6px;border-left:3px solid #a74040;background:#f9eaea;color:#7a2525;font-size:10px;font-weight:normal}.guestbook-form [aria-invalid="true"]{border-color:#ad5555;box-shadow:inset 0 0 0 1px #e4bcbc}.form-submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:2px}.submission-note{max-width:70%;color:var(--muted);font-size:10px}.public-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #adb8c1;padding:9px 4px}.notice[role="alert"]:focus{outline:2px solid #9dc0e4}
@media(max-width:680px){.public-masthead{min-height:0}.public-masthead .brand{font-size:20px}.guestbook-welcome{align-items:flex-start}.entry-head{flex-direction:column;align-items:stretch}.entry-author>div{flex-wrap:wrap}.entry-tools{justify-content:flex-start;padding-left:47px}.form-submit-row{align-items:stretch;flex-direction:column}.submission-note{max-width:none}.form-submit-row button{width:100%}.public-footer{flex-direction:column;align-items:center;gap:2px}.pagination .page-direction{width:100%;text-align:center}.field-label-row{align-items:flex-start;flex-direction:column;gap:2px}}

/* 0.1.0-alpha.4 public setting states */
.sign-closed{display:flex;flex-direction:column;gap:4px;padding:22px 16px;text-align:center;background:#f8fafb;color:#667785}.sign-closed strong{color:#315f91;font-size:13px}.sign-closed span{max-width:620px;margin:0 auto;font-size:11px;line-height:1.55}

/* 0.1.0-alpha.5 installer security actions */
.installer-reset-form{display:flex;justify-content:flex-end;padding:0 14px 14px}.installer-reset-form .button{margin:0}

/* 0.1.0-alpha.6 operational maintenance state */
.maintenance-shell{width:min(720px,calc(100% - 28px));margin:90px auto}.maintenance-panel{box-shadow:0 2px 8px rgba(0,0,0,.08)}.maintenance-body{padding:28px;text-align:center}.maintenance-body strong{display:block;margin-bottom:8px;font-size:17px;color:#294f70}.maintenance-body p{max-width:540px;margin:0 auto;color:#5f7180;line-height:1.6}
