:root{font-family:Inter,system-ui,sans-serif;color:#133b32;background:#eff7f2;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}main{min-height:100vh;padding:2rem;overflow:hidden}header,nav,.canvas,footer,.setup,.approvals{max-width:1600px;margin:auto}header{display:flex;justify-content:space-between;gap:2rem}header p{letter-spacing:.14em;font-weight:700;color:#397961;font-size:.75rem}h1{font-size:clamp(2.3rem,5vw,4.5rem);margin:0;line-height:.9;color:#124234}h1 em{display:block;font-weight:400}.search{position:relative;width:min(430px,100%)}input,select{width:100%;padding:.85rem;border:1px solid #a9cdbd;border-radius:.6rem;background:#fff}.search ul{position:absolute;width:100%;z-index:5;list-style:none;background:#fff;margin:.3rem 0;padding:.3rem;border:1px solid #c9ddd2;border-radius:.5rem}.search li button{width:100%;border:0;background:none;text-align:left;padding:.6rem}.search small,.card span,.card small{display:block;color:#527269;margin-top:.2rem}nav{margin-block:1.4rem;display:flex;gap:.7rem;align-items:center}nav button,.detail button,.close{padding:.6rem .9rem;border:1px solid #1c6a55;background:#fff;color:#155442;border-radius:.45rem;text-decoration:none}nav span{margin-left:auto;color:#527269}.canvas{min-height:65vh;min-width:950px;overflow:auto;background:#fff;border:1px solid #d4e7dc;border-radius:1rem;padding:3rem}.roots,.children{list-style:none;display:flex;justify-content:center;gap:3rem;padding:0;margin:0}.roots>li,.children>li{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.unit{display:flex;align-items:flex-start;gap:1.25rem;position:relative}.children{position:relative;padding-top:3rem}.children:before{content:"";position:absolute;top:1.25rem;left:12%;right:12%;height:1px;background:#6f9487}.children>li:before{content:"";position:absolute;top:-1.75rem;height:1.75rem;border-left:1px solid #6f9487}.card{display:flex;width:190px;overflow:hidden;background:#f7fbf8;border:1px solid #b9d6c7;border-radius:.7rem}.card>button:first-child{flex:1;border:0;background:none;text-align:left;padding:.8rem}.card b{display:block;color:#123b32}.card small{font-size:.75rem}.plus{border:0;border-left:1px solid #b9d6c7;background:#e1f1e8;color:#14634f;font-size:1.35rem;width:2.25rem}.detail{position:fixed;right:0;top:0;z-index:8;width:min(420px,100%);height:100%;overflow:auto;padding:2rem;background:#fff;box-shadow:-.5rem 0 2rem #102a4333}.detail dl{display:grid;grid-template-columns:1fr 1.4fr;gap:.8rem}.detail dt{font-weight:700}.detail dd{margin:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:#0d241ddd;padding:1rem}.modal section,.setup,.approvals{background:#fff;border:1px solid #d4e7dc;border-radius:.7rem;padding:1.5rem;width:min(560px,100%)}.modal form,.setup form{display:grid;gap:.8rem}.modal label,.setup label{display:grid;gap:.3rem;color:#315b50}.primary{border:0;border-radius:.45rem;padding:.75rem;background:#155442;color:#fff}.notice{color:#8a3b2f}.setup,.approvals{margin-top:1.5rem}.approvals{width:auto}.approvals article{display:flex;gap:.7rem;align-items:center;padding:.7rem 0;border-top:1px solid #d4e7dc}.approvals article span{flex:1;color:#527269}.approvals article button{border:1px solid #1c6a55;border-radius:.4rem;padding:.4rem .6rem;background:#fff;color:#155442}footer{padding-top:1rem;color:#527269;font-size:.85rem}@media (max-width:720px){main{padding:1rem}header{flex-direction:column}nav{flex-wrap:wrap}nav span{width:100%;margin-left:0}.canvas{padding:2rem;border-radius:.5rem}}
