/* SiteForge presentation layer · visual only */
:root{--sf-shadow:0 14px 36px rgba(16,40,59,.075);--sf-shadow-strong:0 24px 62px rgba(16,40,59,.12)}
html{font-size:16px}body{background:linear-gradient(180deg,#f5f8f9 0,#eef4f5 100%);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:var(--ink)}
body :where(h1,h2,h3,p,a,span,strong,small,label,button,td,th){overflow-wrap:break-word;word-break:normal;hyphens:auto}
.top{min-height:72px;padding:13px clamp(16px,2vw,28px);background:rgba(16,40,59,.97);backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(10,30,45,.16);border-bottom:1px solid rgba(255,255,255,.08)}
.top .brand{font-size:1.35rem;letter-spacing:-.025em}.top nav a{font-size:.86rem;font-weight:750}.top .user{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#d6e0e6}.top .user a{color:#fff;font-weight:800}.top .button.ghost{background:#ffffff14;color:#fff;border:1px solid #ffffff22}
.shell{width:min(1480px,calc(100% - 40px))}
.hero{position:relative;padding:clamp(34px,4vw,56px) 0 28px}.hero:before{content:'';position:absolute;left:0;top:20px;width:54px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--orange),var(--blue))}.hero small{display:block;margin-top:12px;color:var(--blue);font-weight:900;letter-spacing:.12em}.hero h1{font-size:clamp(2.25rem,4.4vw,4.2rem);line-height:1.02;letter-spacing:-.05em;max-width:1100px}.hero p{max-width:980px;font-size:1.02rem}
.grid{gap:14px}.card,.panel{border-color:#d6e2e7;border-radius:17px;box-shadow:var(--sf-shadow)}.card{position:relative;overflow:hidden}.card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}.card:nth-child(2n):before{background:var(--orange)}.card strong{letter-spacing:-.03em}
.panel{padding:clamp(17px,2vw,24px)}
.toolbar{padding:14px;border:1px solid #d6e2e7;border-radius:15px;background:rgba(255,255,255,.82);box-shadow:0 8px 24px rgba(16,40,59,.045);align-items:end}.toolbar label{font-size:.79rem;color:#49606d}
.button,button{border-radius:10px;font-weight:800;box-shadow:0 6px 16px rgba(239,108,53,.16);transition:transform .15s ease,box-shadow .15s ease}.button:hover,button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(239,108,53,.20)}.button.secondary{box-shadow:0 6px 16px rgba(23,107,135,.16)}.button.ghost{box-shadow:none}
input,select,textarea{border-color:#c2d1d8;border-radius:10px;min-height:43px}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,107,135,.12)}
.module-grid{gap:11px}.module{position:relative;min-height:100px;border:1px solid #d7e2e7;border-left:5px solid var(--blue);border-radius:13px;padding:15px;box-shadow:0 7px 22px rgba(16,40,59,.045);transition:transform .15s ease,box-shadow .15s ease}.module:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(16,40,59,.085)}.module:nth-child(3n+2){border-left-color:var(--orange)}.module:nth-child(3n){border-left-color:var(--green)}.module b{font-size:.95rem;margin-bottom:5px}.module small{line-height:1.42}
table{border:1px solid #d7e2e7;border-radius:14px;box-shadow:0 8px 24px rgba(16,40,59,.04)}th{background:#f7fafb;font-size:.74rem;letter-spacing:.055em}td,th{padding:12px 13px}tbody tr:hover{background:#fbfdfd}
.badge{font-weight:800}.notice{box-shadow:0 8px 24px rgba(16,40,59,.05)}
.login{position:relative;max-width:560px;margin:8vh auto;padding:clamp(28px,4vw,44px);box-shadow:var(--sf-shadow-strong);border-radius:24px}.login:before{content:'';display:block;width:58px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--orange),var(--blue));margin-bottom:20px}.login .brand{font-size:1.7rem}.login h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.045em;margin:18px 0 24px}.login form{display:grid;gap:4px}.login button{margin-top:8px;width:100%;min-height:47px}.login p{color:var(--muted);line-height:1.5}
@media(max-width:1000px){.grid,.module-grid{grid-template-columns:repeat(2,1fr)}.shell{width:min(100% - 28px,1480px)}}
@media(max-width:680px){body{font-size:15.5px}.top{align-items:flex-start;gap:12px}.top nav{order:3;width:100%}.top .user{margin-left:0}.grid,.module-grid,.form-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(2.1rem,12vw,3.3rem)}.toolbar{padding:12px}.login{margin:5vh 14px}.shell{width:min(100% - 22px,1480px)}}
