:root{--ch-blue:#00a3e0;--ch-blue-dark:#007fb5;--navy:#0b2a3d;--ink-soft:#5a707c;--line:#e1e8ec;--mist:#f4f7f9;--purple:#7a5ff0;--lime:#9fd63a;--slate:#425563;--danger:#a3352b;--shadow:0 25px 70px rgba(3,35,59,.12)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{position:relative;display:flex;flex-direction:column;min-height:100vh;font-family:Inter,Arial,sans-serif;color:var(--navy)}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--ch-blue) url(/gradient-bg.jpg);background-size:cover;background-position:50%}a{color:inherit}button,input{font:inherit}.shell{width:min(1100px,calc(100% - 40px));margin-inline:auto}header.site-header{flex-shrink:0;padding:26px 0;background:var(--ch-blue) url(/header-bg.jpg);background-size:cover;background-position:50%;border-bottom:3px solid #fff}.header-inner{display:flex;align-items:center;justify-content:space-between}.brand-logo{width:100px;height:auto;display:block}.user-badge{position:relative}.user-badge-avatar{width:40px;height:40px;border-radius:50%;border:2px solid hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.16);color:#fff;font-family:Poppins,Arial,sans-serif;font-weight:700;font-size:14px;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s}.user-badge-avatar:hover{background:hsla(0,0%,100%,.28);border-color:#fff}.user-badge-menu{position:absolute;top:calc(100% + 10px);right:0;background:#fff;color:var(--navy);border-radius:10px;box-shadow:var(--shadow);padding:14px 16px;min-width:200px;z-index:20}.user-badge-name{margin:0 0 10px;font-size:13px;font-weight:600}.user-badge-logout{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--mist);color:var(--navy);font-size:13px;font-weight:600;cursor:pointer}.user-badge-logout:hover{background:#e9eff2}.user-badge-logout:disabled{opacity:.6;cursor:default}main.shell{flex:1 0 auto}footer{flex-shrink:0}.intro{padding:56px 0 30px}.intro h1{margin:0 0 8px;font-family:Poppins,Arial,sans-serif;font-size:clamp(30px,4vw,40px);font-weight:700;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 12px rgba(3,20,35,.35)}.intro p{margin:0;color:hsla(0,0%,100%,.88);text-shadow:0 2px 10px rgba(3,20,35,.3);font-size:16px;max-width:620px}.tiles{padding:30px 0 90px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.tile{position:relative;display:flex;flex-direction:column;padding:28px 26px 26px;background:#fff;border:0;border-radius:10px;text-decoration:none;overflow:hidden;box-shadow:0 10px 30px rgba(11,42,61,.15);transition:transform .18s ease,box-shadow .18s ease}.tile:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--accent,var(--navy))}.tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,42,61,.22)}.tile-name{margin:4px 0 10px;font-family:Poppins,Arial,sans-serif;font-size:19px;font-weight:700;color:var(--navy)}.tile-desc{margin:0 0 22px;color:var(--ink-soft);font-size:14px;line-height:1.5;flex:1 1}.tile-open{display:inline-flex;align-items:center;gap:6px;font-family:Poppins,Arial,sans-serif;font-size:13px;font-weight:700;color:var(--accent,var(--ch-blue-dark))}.tile-open svg{width:14px;height:14px;transition:transform .18s ease}.tile:hover .tile-open svg{transform:translateX(3px)}.tile-add{display:flex;align-items:center;justify-content:center;min-height:140px;border:1.5px dashed hsla(0,0%,100%,.45);border-radius:10px;color:hsla(0,0%,100%,.85);text-shadow:0 2px 8px rgba(3,20,35,.3);font-size:13px;text-align:center;padding:20px}footer{padding:22px 0;background:var(--slate)}footer .shell{display:flex;align-items:center}footer .brand-logo{width:90px;height:auto;display:block}.login-page{position:relative;min-height:100vh;width:100%;justify-content:center;overflow:hidden}.login-page,.login-shell{display:flex;align-items:center}.login-shell{flex-direction:column;gap:28px}.login-logo{width:160px;height:auto;filter:drop-shadow(0 6px 18px rgba(3,20,35,.45))}.admin-card{background:#fff;padding:34px;border-radius:8px;box-shadow:0 40px 90px rgba(3,20,35,.35);max-width:380px;width:100%;margin:0}.admin-card h2{margin:0 0 24px;font-family:Poppins,Arial,sans-serif;font-size:18px;color:var(--navy)}.field{margin-bottom:20px}.field label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--navy)}.field label span{color:#7f8c97;font-weight:400}.field input{width:100%;height:48px;padding:0 15px;border:1px solid #bccbd4;border-radius:3px;background:#fff;transition:border .2s,box-shadow .2s}.field input:focus{outline:none;border-color:var(--ch-blue);box-shadow:0 0 0 4px rgba(0,160,223,.11)}.admin-error{background:#fdeceb;border:1px solid #f3bdb7;color:var(--danger);border-radius:5px}.admin-error,.admin-notice{padding:14px 18px;margin-bottom:20px;font-size:13px}.admin-notice{background:#eaf6fc;border:1px solid #bfe3f2;color:var(--ch-blue-dark);border-radius:5px}.flow-tabs{display:flex;gap:6px;margin-bottom:22px;background:var(--mist);border-radius:6px;padding:4px}.flow-tabs button{flex:1 1;border:0;background:none;padding:9px 10px;border-radius:4px;font-family:Poppins,Arial,sans-serif;font-size:12px;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s}.flow-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(3,35,59,.1)}.link-button{display:block;width:100%;text-align:center;margin-top:16px;border:0;background:none;color:var(--ch-blue-dark);font-size:13px;font-weight:600;cursor:pointer}.link-button:hover{text-decoration:underline}.link-button:disabled{opacity:.6;cursor:default;text-decoration:none}.button{min-height:48px;width:100%;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:0;border-radius:4px;font-family:Poppins,Arial,sans-serif;font-size:13px;font-weight:700;cursor:pointer;color:#fff;background:var(--ch-blue);box-shadow:0 13px 28px rgba(0,127,181,.2);transition:background .2s}.button:hover{background:var(--ch-blue-dark)}.button:disabled{opacity:.7;cursor:default}