/* LLND4U Asset Guide, pp.2-4 and 8: colour, type, wordmark and buttons.
   Presentation only. Existing page order, dimensions, forms and actions remain. */
@font-face{font-family:'LLND Rowan';src:url('brand/fonts/Rowan-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'LLND Alte';src:url('brand/fonts/AlteHaasGroteskRegular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'LLND Alte';src:url('brand/fonts/AlteHaasGroteskBold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--spinifex:#fee570;--sunset:#ff891f;--red-centre:#83281d;--midnight:#591811;--guide-ink:#231f20;--guide-paper:#fff6db}
body{font-family:'LLND Alte',Arial,sans-serif!important;color:var(--guide-ink);background-color:var(--guide-paper)!important}
h1,h2,h3,h4{font-family:'LLND Rowan',Georgia,serif!important;font-weight:700;color:var(--midnight)}
body a{color:var(--red-centre);text-underline-offset:3px}
body a:hover{color:var(--midnight)}
button,.button,.button2,.BtnConfirm,.CancelButton,.EditButton,.EditButton2{font-family:'LLND Rowan',Georgia,serif!important;font-weight:700!important;color:var(--spinifex)!important;background-color:var(--red-centre)!important;background-image:url('brand/button.svg')!important;background-size:100% 100%!important;background-repeat:no-repeat!important;text-shadow:0 1px 0 #59181180;box-shadow:0 2px 3px #59181125;transition:filter .15s,box-shadow .15s}
button:hover,.button:hover,.button2:hover,.BtnConfirm:hover,.CancelButton:hover,.EditButton:hover,.EditButton2:hover{background-color:var(--midnight)!important;background-image:url('brand/button-hover.svg')!important;color:var(--spinifex)!important;box-shadow:0 2px 5px #59181135}
button:active,.button:active,.BtnConfirm:active,.EditButton:active{filter:brightness(.92)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #fff200!important;outline-offset:3px}
input,textarea,select,.InputStyle,.inbox{font-family:'LLND Alte',Arial,sans-serif!important;color:var(--guide-ink)!important;border-color:#b57b53!important;background-color:#fffef8!important}
input:focus,textarea:focus,select:focus,.InputStyle:focus{border-color:var(--red-centre)!important;box-shadow:0 0 0 2px #ff891f38!important}
.contentbox{background-color:#fff1c7!important;border-color:var(--red-centre)!important;box-shadow:0 4px 18px #59181135}
.codebox{background-color:#fff7dd!important;border-color:var(--red-centre)!important}
.topnav,.navbar{background-color:var(--midnight)!important;box-shadow:0 2px 5px #59181125}
.topnav a,.navbar a{font-family:'LLND Alte',Arial,sans-serif!important;color:var(--spinifex)!important}
.topnav a:hover,.navbar a:hover{background-color:var(--red-centre)!important;color:var(--spinifex)!important}
.menuStyle,#menu{background-color:#fff0bd!important;border-color:var(--red-centre)!important;box-shadow:0 4px 20px #59181145!important}
#menu h2{color:var(--midnight)!important}
table{font-family:'LLND Alte',Arial,sans-serif!important;background-color:#fff4d5!important}
th{background-color:var(--red-centre);color:var(--spinifex);font-weight:700}
td,th{border-color:#a66b48!important}
tr[style*="#a5efb0"]{background-color:#fff2bd!important}
tr[style*="#ffbdad"]{background-color:#f7d5c3!important}
.download-button img{filter:drop-shadow(0 2px 2px #59181125)}
/* The existing centred two-button start page keeps its original structure. */
body.guide-portal{background-image:linear-gradient(#59181120,#59181120),url('brand/backdrop.png')!important;background-size:cover!important;background-position:center!important;background-attachment:fixed}
body.guide-portal main{background-color:#fff6dbea;box-shadow:0 10px 35px #59181150,inset 0 0 0 1px #fee57080}
body.guide-portal main>h1{color:transparent;background:url('brand/wordmark.svg') no-repeat left center;background-size:auto 96%;filter:drop-shadow(0 1px 1px #591811b3)}
body.guide-portal nav a{font-family:'LLND Rowan',Georgia,serif!important;color:var(--spinifex)!important;background:var(--red-centre) url('brand/button.svg') center/100% 100% no-repeat;box-shadow:0 2px 3px #59181120}
body.guide-portal nav a.secondary{background-color:var(--midnight);background-image:none}
body.guide-portal nav a:hover{background-color:var(--midnight);background-image:url('brand/button-hover.svg');filter:none}
body.guide-portal small{color:#653b2f}
@media(prefers-reduced-motion:reduce){button,a{transition:none!important}}

/* Sign-in sizing: same controls and order, with a panel proportionate to its contents. */
body.login-frame-page{margin:0;min-height:100vh;min-height:100dvh;background-repeat:no-repeat;background-position:center;background-attachment:fixed}
body.login-frame-page.is-login iframe.contentbox{box-sizing:border-box;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(1040px,calc(100vw - 64px));height:min(660px,calc(100vh - 64px));height:min(660px,calc(100dvh - 64px));padding:0}
body.login-page{box-sizing:border-box;margin:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:clamp(24px,4vw,48px);font-size:clamp(16px,1.6vw,18px);line-height:1.5}
body.login-page>center{width:100%;max-width:760px}
.login-page h1{font-size:clamp(36px,4.5vw,50px);line-height:1.1;margin:0 0 14px}
.login-page h2{font-size:clamp(25px,3vw,32px);line-height:1.2;margin:16px 0 28px}
.login-page form{width:100%;max-width:620px;margin:0 auto}
.login-page form br{display:none}
.login-page form label{display:block;font-size:clamp(17px,1.8vw,20px);line-height:1.4;margin:0}
.login-page form input.InputStyle{box-sizing:border-box;width:100%;height:56px;margin:10px 0 24px;padding:12px 16px;font-size:18px}
.login-page form button.BtnConfirm{box-sizing:border-box;width:100%;min-height:60px;height:auto;margin:4px 0 0;padding:14px 24px;font-size:22px;line-height:1.3}
@media(max-width:600px){body.login-frame-page.is-login iframe.contentbox{width:calc(100vw - 24px);height:calc(100vh - 32px);height:calc(100dvh - 32px)}body.login-page{padding:24px 20px}.login-page h1{margin-bottom:10px}.login-page h2{margin-top:14px;margin-bottom:22px}.login-page form input.InputStyle{height:52px;margin:8px 0 20px;font-size:17px}.login-page form button.BtnConfirm{min-height:54px;font-size:20px}}
@media(max-height:540px){body.login-page{place-items:start center;padding-block:20px}.login-page h1{font-size:34px;margin-bottom:8px}.login-page h2{font-size:24px;margin:8px 0 16px}.login-page form input.InputStyle{height:46px;margin:6px 0 14px}.login-page form button.BtnConfirm{min-height:48px;padding-block:10px}}

/* A finer edge on sign-in buttons keeps the guide's warm colour treatment. */
.login-page form button.BtnConfirm{border:2px solid #83281d!important;background-image:linear-gradient(100deg,#914b3b,#a74b3c)!important}
.login-page form button.BtnConfirm:hover{border-color:#591811!important;background-image:linear-gradient(100deg,#803e30,#943e30)!important}

/* Sign-in uses the same natural backdrop and compact card as the start page. */
body.login-page{background-image:linear-gradient(#59181120,#59181120),url('brand/backdrop.png')!important;background-size:cover!important;background-position:center!important;background-attachment:fixed;padding:24px;text-align:left}
body.login-page>center{box-sizing:border-box;width:min(680px,100%);max-width:680px;padding:clamp(28px,6vw,56px);background:#fff6dbea;border-radius:20px;box-shadow:0 10px 35px #59181150,inset 0 0 0 1px #fee57080;text-align:left}
.login-page h1{height:84px;margin:0 0 20px;color:transparent;background:url('brand/wordmark.svg') no-repeat left center;background-size:contain;filter:drop-shadow(0 1px 1px #59181180)}
.login-page h2{font-size:28px;margin:0 0 28px}
.login-page form{max-width:none}
.login-page form label{font-size:17px;text-align:left}
.login-page form input.InputStyle{height:52px;margin:8px 0 22px}
.login-page form button.BtnConfirm{min-height:60px;border-radius:10px;text-align:left;padding:16px 22px}
body.login-frame-page.is-login iframe.contentbox{left:0;top:0;bottom:auto;transform:none;width:100%;height:100vh;height:100dvh;padding:0;border:0;box-shadow:none;background:transparent!important}
@media(max-width:600px){body.login-page{padding:20px}.login-page h1{height:64px}.login-page h2{font-size:25px}.login-page form button.BtnConfirm{font-size:20px}}
@media(max-height:540px){body.login-page{place-items:start center}.login-page h1{height:54px}.login-page h2{margin-bottom:18px}}

/* Admin workspaces: existing content order and control dimensions are retained. */
body.admin-screen{background:var(--guide-paper)!important}
body.admin-screen::before{content:none}
.admin-screen button,.admin-screen .button,.admin-screen .button2,.admin-screen .BtnConfirm,.admin-screen .CancelButton,.admin-screen .EditButton,.admin-screen .EditButton2{border:2px solid #83281d!important;border-radius:10px;background-image:linear-gradient(100deg,#914b3b,#a74b3c)!important}
.admin-screen button:hover,.admin-screen .button:hover,.admin-screen .button2:hover{background-image:linear-gradient(100deg,#803e30,#943e30)!important;border-color:#591811!important}
.admin-screen .CancelButton,.admin-screen .button2{background-image:none!important;background-color:var(--midnight)!important}
.admin-screen input,.admin-screen select,.admin-screen textarea{border-radius:6px;border-style:solid;border-width:1px;box-shadow:inset 0 1px 3px #59181112}
.admin-screen table{background:#fff6db!important;box-shadow:0 3px 12px #59181118;clip-path:inset(0 round 10px)}
.admin-screen th{background:var(--midnight);color:var(--spinifex)}
.admin-screen td,.admin-screen th{border-color:#c59d74!important}
.admin-screen tr:hover td{box-shadow:inset 0 0 0 999px #ff891f0b}
.admin-screen .menuStyle,.admin-screen #menu{background:#fff6dbfa!important;border:1px solid #b57b53!important;border-radius:20px;box-shadow:0 10px 35px #59181150!important}
.admin-screen .codebox{background:#fff6db!important;border:1px solid #b57b53!important;border-radius:14px;box-shadow:0 3px 12px #59181118}
.admin-screen .topnav{border-radius:10px;background:var(--midnight)!important}
body.login-frame-page:not(.is-login) iframe.contentbox{border:0;border-radius:20px;background:#fff6dbea!important;box-shadow:0 10px 35px #59181150}
@media(prefers-reduced-motion:no-preference){.admin-screen input,.admin-screen select,.admin-screen textarea{transition:border-color .15s,box-shadow .15s}}
/* Keep a narrow view of the natural backdrop around the workspace card. */
body.admin-screen{margin:0;padding:32px;min-height:100vh;box-sizing:border-box}
body.admin-screen::before{inset:16px}
.admin-screen .topnav{top:16px;left:32px;max-width:calc(100% - 64px)}
@media(max-width:600px){body.admin-screen{padding:20px}body.admin-screen::before{inset:8px;border-radius:14px}.admin-screen .topnav{top:8px;left:20px;max-width:calc(100% - 40px)}}
.admin-screen .menuStyle,.admin-screen #menu{z-index:100}

/* One workspace surface: the host owns the frame, inner pages own the content. */
body:has(>iframe.contentbox){margin:0;min-height:100vh;min-height:100dvh}
body:not(.is-login)>iframe.contentbox{box-sizing:border-box;position:absolute;left:16px;top:16px;bottom:auto;transform:none;width:calc(100% - 32px);height:calc(100vh - 32px);height:calc(100dvh - 32px);padding:0;border:0;border-radius:12px;background:var(--guide-paper)!important;box-shadow:0 4px 18px #59181125}
body.admin-screen{margin:0;padding:20px;min-height:100vh;min-height:100dvh}
body.admin-screen::before{content:none}
.admin-screen table{width:100%}
.admin-screen .topnav{left:20px;max-width:calc(100% - 40px)}
/* Wrappers with navigation reserve a separate row above their content. */
body:has(>.topnav)>iframe.contentbox,body:has(>.topdiv)>iframe.contentbox{top:80px;height:calc(100vh - 96px);height:calc(100dvh - 96px)}
@media(max-width:600px){body:not(.is-login)>iframe.contentbox{left:8px;top:8px;width:calc(100% - 16px);height:calc(100vh - 16px);height:calc(100dvh - 16px);border-radius:8px}body.admin-screen{padding:12px}.admin-screen .topnav{left:12px;max-width:calc(100% - 24px)}body:has(>.topnav)>iframe.contentbox,body:has(>.topdiv)>iframe.contentbox{top:80px;height:calc(100vh - 88px);height:calc(100dvh - 88px)}}
/* Short forms and status screens use content-sized panels rather than workspaces. */
body.admin-screen.admin-compact{box-sizing:border-box;min-height:0;width:min(720px,100%);margin:0 auto;padding:28px;font-size:18px;line-height:1.5}
.admin-compact h1,.admin-compact h2{margin:0 0 20px}
.admin-compact form{width:100%;margin:0}
.admin-compact input:not([type=hidden]),.admin-compact select,.admin-compact textarea{box-sizing:border-box;max-width:100%;font-size:18px}
.admin-compact .InputStyle,.admin-compact .inbox{width:100%!important;padding:12px 14px;font-size:18px;margin:8px 0 16px}
.admin-screen .BtnConfirm,.admin-screen .CancelButton,.admin-screen .button2{box-sizing:border-box;width:auto!important;max-width:100%;height:auto!important;min-width:min(240px,100%);min-height:56px;padding:14px 24px;font-size:20px;line-height:1.3;margin:6px}
.admin-screen .menuStyle,.admin-screen #menu{box-sizing:border-box;width:min(620px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 32px);overflow:auto;padding:24px}
.admin-screen .menuStyle .EditButton2{height:auto;min-height:56px;font-size:20px;padding:14px 20px}
.admin-screen .menuStyle input{box-sizing:border-box;max-width:100%;font-size:18px}
body:not(.is-login)>iframe.contentbox.is-compact{left:50%;top:24px;transform:translateX(-50%);width:min(760px,calc(100% - 32px));height:var(--compact-height,240px);max-height:calc(100dvh - 48px)}
@media(max-width:600px){body.admin-screen.admin-compact{padding:20px}.admin-screen .BtnConfirm,.admin-screen .CancelButton,.admin-screen .button2{margin:6px 0}.admin-screen .menuStyle{padding:20px}body:not(.is-login)>iframe.contentbox.is-compact{top:12px;width:calc(100% - 16px);max-height:calc(100dvh - 24px)}}
/* Return navigation stays separate from the admin sign-in form. */
body.login-page{padding-top:76px}
body.login-page>a.login-home{position:absolute;top:12px;left:12px;box-sizing:border-box;display:flex;align-items:center;min-height:44px;padding:10px 14px;border:2px solid #591811;border-radius:10px;background:#591811;color:#fee570;text-decoration:none;font:700 16px/1.3 'LLND Rowan',Georgia,serif;box-shadow:0 2px 3px #59181125}
body.login-page>a.login-home:hover{background:#83281d;color:#fee570}
